{"name":"edgecenter","version":"0.12.0","description":"A Pulumi provider dynamically bridged from edgecenter.","attribution":"This Pulumi package is based on the [`edgecenter` Terraform Provider](https://github.com/edge-center/terraform-provider-edgecenter).","repository":"https://github.com/edge-center/terraform-provider-edgecenter","publisher":"edge-center","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"edgecenter"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from edgecenter.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/edge-center/terraform-provider-edgecenter)\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-edgecenter` repo](https://github.com/edge-center/terraform-provider-edgecenter/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/edge-center/terraform-provider-edgecenter)\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-edgecenter` repo](https://github.com/edge-center/terraform-provider-edgecenter/issues).","respectSchemaVersion":true}},"config":{"variables":{"apiEndpoint":{"type":"string","description":"A single API endpoint for all products. Will be used when specific product API url is not defined."},"edgecenterApi":{"type":"string","description":"Region API","deprecationMessage":"Deprecated"},"edgecenterCdnApi":{"type":"string","description":"CDN API (define only if you want to override CDN API endpoint)"},"edgecenterCloudApi":{"type":"string","description":"Region API (define only if you want to override Region API endpoint)"},"edgecenterDnsApi":{"type":"string","description":"DNS API (define only if you want to override DNS API endpoint)"},"edgecenterPlatform":{"type":"string","description":"Platform URL is used for generate JWT","deprecationMessage":"Deprecated"},"edgecenterPlatformApi":{"type":"string","description":"Platform URL is used for generate JWT (define only if you want to override Platform API endpoint)"},"edgecenterProtectionApi":{"type":"string","description":"Protection API (define only if you want to override Protection API endpoint)"},"edgecenterRmonApi":{"type":"string","description":"RMON API"},"edgecenterStorageApi":{"type":"string","description":"Storage API (define only if you want to override Storage API endpoint)"},"ignoreCredsAuthError":{"type":"boolean","description":"Should be set to true when you are gonna to use storage resource with permanent API-token only.","deprecationMessage":"Deprecated"},"password":{"type":"string","deprecationMessage":"Deprecated"},"permanentApiToken":{"type":"string","description":"A permanent [API-token](https://support.edgecenter.ru/knowledge_base/item/257788)","secret":true},"userName":{"type":"string","deprecationMessage":"Deprecated"}}},"types":{"edgecenter:index/BaremetalAddress:BaremetalAddress":{"properties":{"nets":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalAddressNet:BaremetalAddressNet"}}},"type":"object","required":["nets"]},"edgecenter:index/BaremetalAddressNet:BaremetalAddressNet":{"properties":{"addr":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["addr","type"]},"edgecenter:index/BaremetalInterface:BaremetalInterface":{"properties":{"existingFipId":{"type":"string"},"fipSource":{"type":"string"},"ipAddress":{"type":"string"},"isParent":{"type":"boolean","description":"If not set will be calculated after creation. Trunk interface always attached first. Can't detach interface if\u003cspan pulumi-lang-nodejs=\" isParent \" pulumi-lang-dotnet=\" IsParent \" pulumi-lang-go=\" isParent \" pulumi-lang-python=\" is_parent \" pulumi-lang-yaml=\" isParent \" pulumi-lang-java=\" isParent \"\u003e is_parent \u003c/span\u003etrue. Fields affect only on creation\n"},"networkId":{"type":"string","description":"required if type is 'subnet' or 'any_subnet'\n"},"order":{"type":"number","description":"Order of attaching interface. Trunk interface always attached first, fields affect only on creation\n"},"portId":{"type":"string","description":"required if type is  'reserved*fixed*ip'\n"},"subnetId":{"type":"string","description":"required if type is 'subnet'\n"},"type":{"type":"string","description":"Available value is 'subnet', 'any*subnet', 'external', 'reserved*fixed_ip'\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["ipAddress","isParent","networkId","portId","subnetId","type"]}}},"edgecenter:index/BaremetalMetadata:BaremetalMetadata":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"edgecenter:index/BaremetalTimeouts:BaremetalTimeouts":{"properties":{"create":{"type":"string"}},"type":"object"},"edgecenter:index/CdnOrigingroupAuthorization:CdnOrigingroupAuthorization":{"properties":{"accessKeyId":{"type":"string","description":"Specify the access key ID in 20 alphanumeric characters.\n"},"addressingStyle":{"type":"string","description":"The addressing style for S3 requests. Supported values: path, virtual.\n"},"authType":{"type":"string","description":"The type of authorization on the source. It can take two values - aws*signature*v2 or aws*signature*v4.\n"},"awsRegion":{"type":"string","description":"The AWS region name.The name is restricted to 255 symbols and can contain lowercase latin letters (a-z), digits (0-9), and hyphens. Region name cannot start or end with a hyphen and cannot contain double hyphens.\n"},"bucketName":{"type":"string","description":"Specify the bucket name. The name is restricted to 255 symbols and may include alphanumeric characters, slashes, pluses, hyphens, and underscores.\n"},"secretKey":{"type":"string","description":"Specify the secret access key. The value must be between 32 and 40 characters and may include alphanumeric characters, slashes, pluses, hyphens, and underscores.\n"}},"type":"object","required":["accessKeyId","authType","bucketName","secretKey"]},"edgecenter:index/CdnOrigingroupOrigin:CdnOrigingroupOrigin":{"properties":{"backup":{"type":"boolean","description":"If set to \"true\", this source will not be used until one of the active sources becomes unavailable.\n"},"enabled":{"type":"boolean","description":"Enable or disable the source. The source group must contain at least one enabled source.\n"},"id":{"type":"number"},"source":{"type":"string","description":"Enter the source’s domain name or the IP address with a custom port (if any).\n"}},"type":"object","required":["source"],"language":{"nodejs":{"requiredOutputs":["backup","enabled","id","source"]}}},"edgecenter:index/CdnResourceOptions:CdnResourceOptions":{"properties":{"allowedHttpMethods":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsAllowedHttpMethods:CdnResourceOptionsAllowedHttpMethods","description":"Set a list of allowed HTTP methods for the CDN content.\n"},"brotliCompression":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsBrotliCompression:CdnResourceOptionsBrotliCompression","description":"Allow compressing content with Brotli on CDN. CDN servers will request only uncompressed content from the source. It is not supported unless the Origin shielding is enabled. Brotli compression is not supported when \"fetch*compressed\" or \"slice\" are enabled.\n"},"browserCacheSettings":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsBrowserCacheSettings:CdnResourceOptionsBrowserCacheSettings","description":"Set the cache lifetime for the end users’ browsers in seconds.\n"},"cors":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsCors:CdnResourceOptionsCors","description":"Add the Access-Control-Allow-Origin header to responses from the CDN servers.\n"},"disableProxyForceRanges":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsDisableProxyForceRanges:CdnResourceOptionsDisableProxyForceRanges","description":"Allow CDN to get the HTTP 206 status codes regardless of the settings on the source.\n"},"edgeCacheSettings":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsEdgeCacheSettings:CdnResourceOptionsEdgeCacheSettings","description":"Set the cache expiration time for CDN servers. The \"value\" and \"default\" fields cannot be used simultaneously.\n"},"fetchCompressed":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsFetchCompressed:CdnResourceOptionsFetchCompressed","description":"Let CDN pull pre-compressed content from the source and cache it. Your source should support compression. The CDN servers won't ungzip your content even if a user's browser doesn't accept compression. The option is not supported when \"brotli*compression\" or \"slice\" are enabled.\n"},"followOriginRedirect":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsFollowOriginRedirect:CdnResourceOptionsFollowOriginRedirect","description":"If the source returns a redirect, let CDN pull the requested content from the source that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsForceReturn:CdnResourceOptionsForceReturn","description":"Apply custom HTTP status codes to CDN content. Some HTTP status codes are reserved by our system and cannot be used with this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsForwardHostHeader:CdnResourceOptionsForwardHostHeader","description":"Allow forwarding the Host header used in the request made to the CDN when the CDN requests content from the source. \"host*header\" and \"forward*host*header\" cannot be enabled simultaneously.\n"},"geoAcl":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsGeoAcl:CdnResourceOptionsGeoAcl","description":"Shows the state of the Geolocation access policy option. The option controls access to content from the specified countries and their regions.\n"},"gzipCompression":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsGzipCompression:CdnResourceOptionsGzipCompression","description":"Allow compressing content with gzip on CDN. CDN servers will request only uncompressed content from the source. The option is not supported when \"fetch*compressed\" or \"slice\" are enabled.\n"},"hostHeader":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsHostHeader:CdnResourceOptionsHostHeader","description":"Manage the custom Host header in the Host header option. When the CDN requests content from the source, it will use the specified Host header. \"host*header\" and \"forward*host*header\" cannot be enabled simultaneously.\n"},"http3Enabled":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsHttp3Enabled:CdnResourceOptionsHttp3Enabled","description":"Enable the HTTP/3 protocol for content delivery when supported by the end user’s browser.\n"},"ignoreCookie":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsIgnoreCookie:CdnResourceOptionsIgnoreCookie","description":"Specify how to cache files with different values of the Set-Cookie header: as one object (when the option is enabled) or as different objects (when the option is disabled).\n"},"ignoreQueryString":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsIgnoreQueryString:CdnResourceOptionsIgnoreQueryString","description":"Specify how to cache files with different query strings: as one object (when the option is enabled) or as different objects (when the option is disabled). \"ignore*query*string\", \"query*params*whitelist\", and \"query*params*blacklist\" cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsImageStack:CdnResourceOptionsImageStack","description":"Allow transforming JPG and PNG images and converting them into WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsIpAddressAcl:CdnResourceOptionsIpAddressAcl","description":"Control access to content from the specified IP addresses.\n"},"limitBandwidth":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsLimitBandwidth:CdnResourceOptionsLimitBandwidth","description":"Control the download speed per connection.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsProxyCacheMethodsSet:CdnResourceOptionsProxyCacheMethodsSet","description":"Allow the caching for GET, HEAD, and POST requests.\n"},"queryParamsBlacklist":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsQueryParamsBlacklist:CdnResourceOptionsQueryParamsBlacklist","description":"Manage the Ignore only setting of the Query string option. The setting allows CDN to ignore the specified params and cache them as one object. \"ignore*query*string\", \"query*params*whitelist\", and \"query*params*blacklist\" cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsQueryParamsWhitelist:CdnResourceOptionsQueryParamsWhitelist","description":"Manage the Ignore all except setting of the Query string option. The setting allows CDN to ignore all but specified params and cache them as separate objects. \"ignore*query*string\", \"query*params*whitelist\", and \"query*params*blacklist\" cannot be enabled simultaneously.\n"},"redirectHttpToHttps":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsRedirectHttpToHttps:CdnResourceOptionsRedirectHttpToHttps","description":"Let CDN redirect HTTPS requests to HTTP. \"redirect*http*to*https\" and \"redirect*https*to*http\" cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsRedirectHttpsToHttp:CdnResourceOptionsRedirectHttpsToHttp","description":"Let CDN redirect HTTP requests to HTTPS. \"redirect*http*to*https\" and \"redirect*https*to*http\" cannot be enabled simultaneously.\n"},"refererAcl":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsRefererAcl:CdnResourceOptionsRefererAcl","description":"Сontrol access to content from the specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsResponseHeadersHidingPolicy:CdnResourceOptionsResponseHeadersHidingPolicy","description":"Specify the HTTP headers set on the source that CDN servers should hide from the response.\n"},"rewrite":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsRewrite:CdnResourceOptionsRewrite","description":"Change and redirect the requests from the CDN to the source.\n"},"secureKey":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsSecureKey:CdnResourceOptionsSecureKey","description":"Configure access to content with tokenized URLs, generated with the MD5 algorithm.\n"},"slice":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsSlice:CdnResourceOptionsSlice","description":"Speed up the delivery of large files and their caching. When enabled, the files are requested and cached in 10 MB chunks. The option reduces the time to first byte. The source must support the HTTP Range requests. The option is not supported when \"fetch*compressed\", \"brotli*compression\", or \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 are enabled.\n"},"sni":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsSni:CdnResourceOptionsSni","description":"Help the resource understand which certificate to use for the connection, if the source server presents multiple certificates. The option works only if the \u003cspan pulumi-lang-nodejs=\"\"originProtocol\"\" pulumi-lang-dotnet=\"\"OriginProtocol\"\" pulumi-lang-go=\"\"originProtocol\"\" pulumi-lang-python=\"\"origin_protocol\"\" pulumi-lang-yaml=\"\"originProtocol\"\" pulumi-lang-java=\"\"originProtocol\"\"\u003e\"origin_protocol\"\u003c/span\u003e field is set to \"HTTPS\" or \"MATCH\".\n"},"stale":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsStale:CdnResourceOptionsStale","description":"Let CDN serve stale cached content in case of the source unavailability.\n"},"staticRequestHeaders":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsStaticRequestHeaders:CdnResourceOptionsStaticRequestHeaders","description":"Let CDN add custom HTTP request headers when making requests to the source. You can specify up to 50 custom HTTP request headers.\n"},"staticResponseHeaders":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsStaticResponseHeaders:CdnResourceOptionsStaticResponseHeaders","description":"Let CDN add custom HTTP response headers to the responses for the end users. You can specify up to 50 custom HTTP response headers.\n"},"tlsVersions":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsTlsVersions:CdnResourceOptionsTlsVersions","description":"Specify a list of allowed SSL/TLS protocol versions. By default, all the protocol versions are allowed.\n"},"useDefaultLeChain":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsUseDefaultLeChain:CdnResourceOptionsUseDefaultLeChain","description":"Choose the Let's Encrypt certificate chain that will be used on the CDN resource. By default, the certificate is issued with the alternative chain.\n"},"userAgentAcl":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsUserAgentAcl:CdnResourceOptionsUserAgentAcl","description":"Control access to content for the specified user agents.\n"},"websockets":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsWebsockets:CdnResourceOptionsWebsockets","description":"Allow WebSockets connections to the source. The WebSockets option can only be enabled upon request. Please contact support for assistance with activation.\n"}},"type":"object"},"edgecenter:index/CdnResourceOptionsAllowedHttpMethods:CdnResourceOptionsAllowedHttpMethods":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Allowed values are \"GET\", \"HEAD\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", and \"OPTIONS\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsBrotliCompression:CdnResourceOptionsBrotliCompression":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Allowed values are \"application/javascript\", \"application/json\", \"application/vnd.ms-fontobject\", \"application/x-font-ttf\", \"application/x-javascript\", \"application/xml\", \"application/xml+rss\", \"image/svg+xml\", \"image/x-icon\", \"text/css\", \"text/html\", \"text/javascript\", \"text/plain\", \"text/xml\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsBrowserCacheSettings:CdnResourceOptionsBrowserCacheSettings":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"string","description":"Set the cache lifetime if the CDN controlled option is chosen. If the value is empty, the Origin controlled option will be enabled and the cache lifetime will be inherited from the source. Set to \"0s\" to disable browser caching. The value only applies for the HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, 308 response status codes. Responses with other HTTP status codes will not be cached.\n"}},"type":"object"},"edgecenter:index/CdnResourceOptionsCors:CdnResourceOptionsCors":{"properties":{"always":{"type":"boolean","description":"Add the Access-Control-Allow-Origin header to the response regardless of the HTTP response status code. Allowed values are \"true\" or \"false\". If set to \"false\", the header is only added to the responses with HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, or 308 response status codes.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the value of the Access-Control-Allow-Origin header. Allowed values are \"*\", \"domain.com\" or other domain name, or \"$http_origin\".\n"}},"type":"object","required":["values"],"language":{"nodejs":{"requiredOutputs":["always","values"]}}},"edgecenter:index/CdnResourceOptionsDisableProxyForceRanges:CdnResourceOptionsDisableProxyForceRanges":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsEdgeCacheSettings:CdnResourceOptionsEdgeCacheSettings":{"properties":{"customValues":{"type":"object","additionalProperties":{"type":"string"},"description":"Set the caching time in seconds for certain HTTP status codes. Use \"any\" to specify the caching time for all HTTP response status codes. Use \"0s\" to disable caching.\n"},"default":{"type":"string","description":"Set the caching time in seconds. Use the field if you want your source to control the caching time of the HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, 308 response status codes, and if a source server does not have any caching HTTP headers. Responses with other HTTP status codes will not be cached\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"string","description":"Set the caching time in seconds. Use the field if you want CDN to control the caching time of the HTTP 200, 206, 301, and 302 response status codes. Responses with HTTP 4xx, 5xx status codes will not be cached. Use the \u003cspan pulumi-lang-nodejs=\"\"customValues\"\" pulumi-lang-dotnet=\"\"CustomValues\"\" pulumi-lang-go=\"\"customValues\"\" pulumi-lang-python=\"\"custom_values\"\" pulumi-lang-yaml=\"\"customValues\"\" pulumi-lang-java=\"\"customValues\"\"\u003e\"custom_values\"\u003c/span\u003e field to specify the custom caching time for responses with specific HTTP status codes.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["customValues"]}}},"edgecenter:index/CdnResourceOptionsFetchCompressed:CdnResourceOptionsFetchCompressed":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsFollowOriginRedirect:CdnResourceOptionsFollowOriginRedirect":{"properties":{"codes":{"type":"array","items":{"type":"number"},"description":"Add the redirect HTTP status codes returned by the source. Allowed values are \"301\", \"302\", \"303\", \"307\", \"308\".\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"useHost":{"type":"boolean","description":"Use the redirect target domain as a Host header, or leave it the same as the value of the Change Host header option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["codes"],"language":{"nodejs":{"requiredOutputs":["codes","useHost"]}}},"edgecenter:index/CdnResourceOptionsForceReturn:CdnResourceOptionsForceReturn":{"properties":{"body":{"type":"string","description":"Add the URL for redirection or the text message.\n"},"code":{"type":"number","description":"Set the HTTP status code that should be returned by the CDN. Allowed values are from \"100\" to \"599\".\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["code"]},"edgecenter:index/CdnResourceOptionsForwardHostHeader:CdnResourceOptionsForwardHostHeader":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsGeoAcl:CdnResourceOptionsGeoAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsGeoAclExceptedValue:CdnResourceOptionsGeoAclExceptedValue"},"description":"Shows the list of countries and their regions\n"},"policyType":{"type":"string","description":"Shows the chosen policy type. Has either \"allow\" or \"deny\" value.\n"}},"type":"object","required":["exceptedValues"]},"edgecenter:index/CdnResourceOptionsGeoAclExceptedValue:CdnResourceOptionsGeoAclExceptedValue":{"properties":{"key":{"type":"string","description":"Two-letter country code as defined by ISO 3166-1 alpha-2 (e.g., 'US' for United States, 'RU' for Russia).\n"},"values":{"type":"array","items":{"type":"string"},"description":"List of region codes for the specified country, using short English names from ISO 3166-2 (e.g., 'CA' for California in 'US', 'MOW' for Moscow in 'RU').\n"}},"type":"object","required":["key","values"]},"edgecenter:index/CdnResourceOptionsGzipCompression:CdnResourceOptionsGzipCompression":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Allowed values are \"application/dash+xml\", \"application/javascript\", \"application/javascript\", \"application/vnd.apple.mpegurl\", \"application/vnd.ms-fontobject\", \"application/wasm\", \"application/x-font-opentype\", \"application/x-font-ttf\", \"application/x-javascript\", \"application/x-mpegURL\", \"application/x-subrip\", \"application/xml\", \"application/xml+rss\", \"font/woff\", \"font/woff2\", \"image/svg+xml\", \"text/css\", \"text/html\", \"text/javascript\", \"text/plain\", \"text/vtt\", \"text/xml\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsHostHeader:CdnResourceOptionsHostHeader":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"string","description":"Specify the Host header value.\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsHttp3Enabled:CdnResourceOptionsHttp3Enabled":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsIgnoreCookie:CdnResourceOptionsIgnoreCookie":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsIgnoreQueryString:CdnResourceOptionsIgnoreQueryString":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\". If set to \"true\", Ignore all setting is selected.\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsImageStack:CdnResourceOptionsImageStack":{"properties":{"avifEnabled":{"type":"boolean","description":"Allow to convert the JPG and PNG images into AVIF format when supported by the end user's browser. Allowed values are \"true\" or \"false\".\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"pngLossless":{"type":"boolean","description":"Specify if the PNG images should be compressed without the quality loss.\n"},"quality":{"type":"number","description":"Set the quality of the JPG and PNG images after conversion. The higher the value, the better the image quality and the larger the file size after conversion.\n"},"webpEnabled":{"type":"boolean","description":"Allow to convert the JPG and PNG images into WebP format when supported by the end user's browser. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["quality"],"language":{"nodejs":{"requiredOutputs":["avifEnabled","pngLossless","quality","webpEnabled"]}}},"edgecenter:index/CdnResourceOptionsIpAddressAcl:CdnResourceOptionsIpAddressAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"Add the list of IP addresses.\n"},"policyType":{"type":"string","description":"Set the policy type. Allowed values are \"allow\" or \"deny\". The policy allows or denies access to content from all IP addresses except those specified in the \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 field.\n"}},"type":"object","required":["exceptedValues","policyType"]},"edgecenter:index/CdnResourceOptionsLimitBandwidth:CdnResourceOptionsLimitBandwidth":{"properties":{"buffer":{"type":"number","description":"Specify the amount of downloaded data in KB after which the user will be rate limited.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"limitType":{"type":"string","description":"Set the speed limit type. Allowed values are \"static\" or \"dynamic\". If set to \"static\", use the \"speed\" and \"buffer\" fields. If set to \"dynamic\", the speed is limited according to the \"?speed\" and \"?buffer\" query parameters.\n"},"speed":{"type":"number","description":"Set the maximum download speed per connection in KB/s. Must be greater than \"0\".\n"}},"type":"object","required":["limitType"],"language":{"nodejs":{"requiredOutputs":["buffer","limitType","speed"]}}},"edgecenter:index/CdnResourceOptionsProxyCacheMethodsSet:CdnResourceOptionsProxyCacheMethodsSet":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsQueryParamsBlacklist:CdnResourceOptionsQueryParamsBlacklist":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the list of params that should be ignored.\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsQueryParamsWhitelist:CdnResourceOptionsQueryParamsWhitelist":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the list of params that should not be ignored.\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsRedirectHttpToHttps:CdnResourceOptionsRedirectHttpToHttps":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsRedirectHttpsToHttp:CdnResourceOptionsRedirectHttpsToHttp":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsRefererAcl:CdnResourceOptionsRefererAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"Add a list of domain names. To allow a direct link access, add an empty value \"\". You cannot enter just the empty value because at least one valid referer is required.\n"},"policyType":{"type":"string","description":"Set the policy type. Allowed values are \"allow\" or \"deny\". The policy allows or denies access to content from all domain names except those specified in the \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 field.\n"}},"type":"object","required":["exceptedValues","policyType"]},"edgecenter:index/CdnResourceOptionsResponseHeadersHidingPolicy:CdnResourceOptionsResponseHeadersHidingPolicy":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"excepteds":{"type":"array","items":{"type":"string"},"description":"Depending on the value of the \"mode\" field, list the HTTP headers that will be either shown or hidden in the response. HTTP headers, that can't be hidden from the response: Connection, Content-Length, Content-Type, Date, Server.\n"},"mode":{"type":"string","description":"Set the way the HTTP headers are displayed. Allowed values are \"hide\" or \"show\". If set to \"hide\", all the HTTP headers from the response except those listed in the \"excepted\" field. If set to \"show\", the HTTP headers listed in the \"excepted\" field are hidden from the response.\n"}},"type":"object","required":["excepteds","mode"]},"edgecenter:index/CdnResourceOptionsRewrite:CdnResourceOptionsRewrite":{"properties":{"body":{"type":"string","description":"Specify the rewrite pattern.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"flag":{"type":"string","description":"Specify a rewrite flag type. Allowed values are \"last\", \"break\", \"redirect\", or \"permanent\".\n"}},"type":"object","required":["body"]},"edgecenter:index/CdnResourceOptionsSecureKey:CdnResourceOptionsSecureKey":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"key":{"type":"string","description":"Add the key generated on your side which will be used for the URL signing.\n"},"type":{"type":"number","description":"Set the type of the URL signing. Allowed values are \"0\" or \"2\". If set to \"0\", the end user's IP address is inclded to secure token generation. If set to \"2\", the end user's IP address is excluded from the secure token generation.\n"}},"type":"object","required":["key","type"]},"edgecenter:index/CdnResourceOptionsSlice:CdnResourceOptionsSlice":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsSni:CdnResourceOptionsSni":{"properties":{"customHostname":{"type":"string","description":"Specify the custom SNI hostname.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"sniType":{"type":"string","description":"Set the SNI type. Allowed values are \"dynamic\" or \"custom\". If set to \"dynamic\", the hostname matches the value of the \"host*header\" or \"forward*host*header\" field. If set to \"custom\", the hostname matches the value of the \"custom*hostname\" field.\n"}},"type":"object"},"edgecenter:index/CdnResourceOptionsStale:CdnResourceOptionsStale":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add a list of errors. Allowed values are \"error\", \"http*403\", \"http*404\", \"http*429\", \"http*500\", \"http*502\", \"http*503\", \"http*504\", \"invalid*header\", \"timeout\", \"updating\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsStaticRequestHeaders:CdnResourceOptionsStaticRequestHeaders":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"object","additionalProperties":{"type":"string"},"description":"Add the list of custom HTTP request headers in the \"name: value\" format. Header name is restricted to 255 symbols and can contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores\nHeader value is restricted to 512 symbols and must start with a letter, a number, an asterisk or {. It can contain only Latin letters (A-Z, a-z), numbers (0-9), spaces and symbols (`~!@#%^\u0026*()-_=+ /|\";:?.\u003e\u003c{}[]). Space can be used only between the words.\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsStaticResponseHeaders:CdnResourceOptionsStaticResponseHeaders":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptionsStaticResponseHeadersValue:CdnResourceOptionsStaticResponseHeadersValue"},"description":"Add the list of custom HTTP response headers, using the \"name\", \"value\", and \"always\" fields.\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsStaticResponseHeadersValue:CdnResourceOptionsStaticResponseHeadersValue":{"properties":{"always":{"type":"boolean","description":"Specify if the custom header should be added to the responses from CDN regardless of the HTTP response status code. Allowed values are \"true\" or \"false\". If set to \"false\", the header will only be added to the responses with HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, or 308 status codes.\n"},"name":{"type":"string","description":"Add the header name.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the header value.\n"}},"type":"object","required":["name","values"],"language":{"nodejs":{"requiredOutputs":["always","name","values"]}}},"edgecenter:index/CdnResourceOptionsTlsVersions:CdnResourceOptionsTlsVersions":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Specify the list of TLS versions. Allowed values are \"SSLv3\", \"TLSv1\", \"TLSv1.1\", \"TLSv1.2\", \"TLSv1.3\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnResourceOptionsUseDefaultLeChain:CdnResourceOptionsUseDefaultLeChain":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Choose the certificate chain type. Allowed values are \"true\" or \"false\". If set to \"true\", a default chain is chosen. Use it for Android devices 7.1.1 or lower. If set to \"false\", an alternative certificate chain is chosen.\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnResourceOptionsUserAgentAcl:CdnResourceOptionsUserAgentAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"Add a list of user agents. Enter the values in [\"\"]. You can specify a user agent string, an empty value using \"\", or a regular expression that starts with \"~\".\n"},"policyType":{"type":"string","description":"Set the policy type. Allowed values are \"allow\" or \"deny\". The policy allows or denies access to content from all user agents except those specified in the \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 field.\n"}},"type":"object","required":["exceptedValues","policyType"]},"edgecenter:index/CdnResourceOptionsWebsockets:CdnResourceOptionsWebsockets":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptions:CdnRuleOptions":{"properties":{"allowedHttpMethods":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsAllowedHttpMethods:CdnRuleOptionsAllowedHttpMethods","description":"Set a list of allowed HTTP methods for the CDN content.\n"},"brotliCompression":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsBrotliCompression:CdnRuleOptionsBrotliCompression","description":"Allow compressing content with Brotli on CDN. CDN servers will request only uncompressed content from the source. It is not supported unless the Origin shielding is enabled. Brotli compression is not supported when \"fetch*compressed\" or \"slice\" are enabled.\n"},"browserCacheSettings":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsBrowserCacheSettings:CdnRuleOptionsBrowserCacheSettings","description":"Set the cache lifetime for the end users’ browsers in seconds.\n"},"cors":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsCors:CdnRuleOptionsCors","description":"Add the Access-Control-Allow-Origin header to responses from the CDN servers.\n"},"disableProxyForceRanges":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsDisableProxyForceRanges:CdnRuleOptionsDisableProxyForceRanges","description":"Allow CDN to get the HTTP 206 status codes regardless of the settings on the source.\n"},"edgeCacheSettings":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsEdgeCacheSettings:CdnRuleOptionsEdgeCacheSettings","description":"Set the cache expiration time for CDN servers. The \"value\" and \"default\" fields cannot be used simultaneously.\n"},"fetchCompressed":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsFetchCompressed:CdnRuleOptionsFetchCompressed","description":"Let CDN pull pre-compressed content from the source and cache it. Your source should support compression. The CDN servers won't ungzip your content even if a user's browser doesn't accept compression. The option is not supported when \"brotli*compression\" or \"slice\" are enabled.\n"},"followOriginRedirect":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsFollowOriginRedirect:CdnRuleOptionsFollowOriginRedirect","description":"If the source returns a redirect, let CDN pull the requested content from the source that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsForceReturn:CdnRuleOptionsForceReturn","description":"Apply custom HTTP status codes to CDN content. Some HTTP status codes are reserved by our system and cannot be used with this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsForwardHostHeader:CdnRuleOptionsForwardHostHeader","description":"Allow forwarding the Host header used in the request made to the CDN when the CDN requests content from the source. \"host*header\" and \"forward*host*header\" cannot be enabled simultaneously.\n"},"geoAcl":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsGeoAcl:CdnRuleOptionsGeoAcl","description":"Shows the state of the Geolocation access policy option. The option controls access to content from the specified countries and their regions.\n"},"gzipCompression":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsGzipCompression:CdnRuleOptionsGzipCompression","description":"Allow compressing content with gzip on CDN. CDN servers will request only uncompressed content from the source. The option is not supported when \"fetch*compressed\" or \"slice\" are enabled.\n"},"hostHeader":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsHostHeader:CdnRuleOptionsHostHeader","description":"Manage the custom Host header in the Host header option. When the CDN requests content from the source, it will use the specified Host header. \"host*header\" and \"forward*host*header\" cannot be enabled simultaneously.\n"},"ignoreCookie":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsIgnoreCookie:CdnRuleOptionsIgnoreCookie","description":"Specify how to cache files with different values of the Set-Cookie header: as one object (when the option is enabled) or as different objects (when the option is disabled).\n"},"ignoreQueryString":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsIgnoreQueryString:CdnRuleOptionsIgnoreQueryString","description":"Specify how to cache files with different query strings: as one object (when the option is enabled) or as different objects (when the option is disabled). \"ignore*query*string\", \"query*params*whitelist\", and \"query*params*blacklist\" cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsImageStack:CdnRuleOptionsImageStack","description":"Allow transforming JPG and PNG images and converting them into WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsIpAddressAcl:CdnRuleOptionsIpAddressAcl","description":"Control access to content from the specified IP addresses.\n"},"limitBandwidth":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsLimitBandwidth:CdnRuleOptionsLimitBandwidth","description":"Control the download speed per connection.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsProxyCacheMethodsSet:CdnRuleOptionsProxyCacheMethodsSet","description":"Allow the caching for GET, HEAD, and POST requests.\n"},"queryParamsBlacklist":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsQueryParamsBlacklist:CdnRuleOptionsQueryParamsBlacklist","description":"Manage the Ignore only setting of the Query string option. The setting allows CDN to ignore the specified params and cache them as one object. \"ignore*query*string\", \"query*params*whitelist\", and \"query*params*blacklist\" cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsQueryParamsWhitelist:CdnRuleOptionsQueryParamsWhitelist","description":"Manage the Ignore all except setting of the Query string option. The setting allows CDN to ignore all but specified params and cache them as separate objects. \"ignore*query*string\", \"query*params*whitelist\", and \"query*params*blacklist\" cannot be enabled simultaneously.\n"},"redirectHttpToHttps":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsRedirectHttpToHttps:CdnRuleOptionsRedirectHttpToHttps","description":"Let CDN redirect HTTPS requests to HTTP. \"redirect*http*to*https\" and \"redirect*https*to*http\" cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsRedirectHttpsToHttp:CdnRuleOptionsRedirectHttpsToHttp","description":"Let CDN redirect HTTP requests to HTTPS. \"redirect*http*to*https\" and \"redirect*https*to*http\" cannot be enabled simultaneously.\n"},"refererAcl":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsRefererAcl:CdnRuleOptionsRefererAcl","description":"Сontrol access to content from the specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsResponseHeadersHidingPolicy:CdnRuleOptionsResponseHeadersHidingPolicy","description":"Specify the HTTP headers set on the source that CDN servers should hide from the response.\n"},"rewrite":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsRewrite:CdnRuleOptionsRewrite","description":"Change and redirect the requests from the CDN to the source.\n"},"secureKey":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsSecureKey:CdnRuleOptionsSecureKey","description":"Configure access to content with tokenized URLs, generated with the MD5 algorithm.\n"},"slice":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsSlice:CdnRuleOptionsSlice","description":"Speed up the delivery of large files and their caching. When enabled, the files are requested and cached in 10 MB chunks. The option reduces the time to first byte. The source must support the HTTP Range requests. The option is not supported when \"fetch*compressed\", \"brotli*compression\", or \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 are enabled.\n"},"sni":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsSni:CdnRuleOptionsSni","description":"Help the resource understand which certificate to use for the connection, if the source server presents multiple certificates. The option works only if the \u003cspan pulumi-lang-nodejs=\"\"originProtocol\"\" pulumi-lang-dotnet=\"\"OriginProtocol\"\" pulumi-lang-go=\"\"originProtocol\"\" pulumi-lang-python=\"\"origin_protocol\"\" pulumi-lang-yaml=\"\"originProtocol\"\" pulumi-lang-java=\"\"originProtocol\"\"\u003e\"origin_protocol\"\u003c/span\u003e field is set to \"HTTPS\" or \"MATCH\".\n"},"stale":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsStale:CdnRuleOptionsStale","description":"Let CDN serve stale cached content in case of the source unavailability.\n"},"staticRequestHeaders":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsStaticRequestHeaders:CdnRuleOptionsStaticRequestHeaders","description":"Let CDN add custom HTTP request headers when making requests to the source. You can specify up to 50 custom HTTP request headers.\n"},"staticResponseHeaders":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsStaticResponseHeaders:CdnRuleOptionsStaticResponseHeaders","description":"Let CDN add custom HTTP response headers to the responses for the end users. You can specify up to 50 custom HTTP response headers.\n"},"userAgentAcl":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsUserAgentAcl:CdnRuleOptionsUserAgentAcl","description":"Control access to content for the specified user agents.\n"},"websockets":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsWebsockets:CdnRuleOptionsWebsockets","description":"Allow WebSockets connections to the source. The WebSockets option can only be enabled upon request. Please contact support for assistance with activation.\n"}},"type":"object"},"edgecenter:index/CdnRuleOptionsAllowedHttpMethods:CdnRuleOptionsAllowedHttpMethods":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Allowed values are \"GET\", \"HEAD\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", and \"OPTIONS\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnRuleOptionsBrotliCompression:CdnRuleOptionsBrotliCompression":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Allowed values are \"application/javascript\", \"application/json\", \"application/vnd.ms-fontobject\", \"application/x-font-ttf\", \"application/x-javascript\", \"application/xml\", \"application/xml+rss\", \"image/svg+xml\", \"image/x-icon\", \"text/css\", \"text/html\", \"text/javascript\", \"text/plain\", \"text/xml\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnRuleOptionsBrowserCacheSettings:CdnRuleOptionsBrowserCacheSettings":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"string","description":"Set the cache lifetime if the CDN controlled option is chosen. If the value is empty, the Origin controlled option will be enabled and the cache lifetime will be inherited from the source. Set to \"0s\" to disable browser caching. The value only applies for the HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, 308 response status codes. Responses with other HTTP status codes will not be cached.\n"}},"type":"object"},"edgecenter:index/CdnRuleOptionsCors:CdnRuleOptionsCors":{"properties":{"always":{"type":"boolean","description":"Add the Access-Control-Allow-Origin header to the response regardless of the HTTP response status code. Allowed values are \"true\" or \"false\". If set to \"false\", the header is only added to the responses with HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, or 308 response status codes.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the value of the Access-Control-Allow-Origin header. Allowed values are \"*\", \"domain.com\" or other domain name, or \"$http_origin\".\n"}},"type":"object","required":["values"],"language":{"nodejs":{"requiredOutputs":["always","values"]}}},"edgecenter:index/CdnRuleOptionsDisableProxyForceRanges:CdnRuleOptionsDisableProxyForceRanges":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsEdgeCacheSettings:CdnRuleOptionsEdgeCacheSettings":{"properties":{"customValues":{"type":"object","additionalProperties":{"type":"string"},"description":"Set the caching time in seconds for certain HTTP status codes. Use \"any\" to specify the caching time for all HTTP response status codes. Use \"0s\" to disable caching.\n"},"default":{"type":"string","description":"Set the caching time in seconds. Use the field if you want your source to control the caching time of the HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, 308 response status codes, and if a source server does not have any caching HTTP headers. Responses with other HTTP status codes will not be cached\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"string","description":"Set the caching time in seconds. Use the field if you want CDN to control the caching time of the HTTP 200, 206, 301, and 302 response status codes. Responses with HTTP 4xx, 5xx status codes will not be cached. Use the \u003cspan pulumi-lang-nodejs=\"\"customValues\"\" pulumi-lang-dotnet=\"\"CustomValues\"\" pulumi-lang-go=\"\"customValues\"\" pulumi-lang-python=\"\"custom_values\"\" pulumi-lang-yaml=\"\"customValues\"\" pulumi-lang-java=\"\"customValues\"\"\u003e\"custom_values\"\u003c/span\u003e field to specify the custom caching time for responses with specific HTTP status codes.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["customValues"]}}},"edgecenter:index/CdnRuleOptionsFetchCompressed:CdnRuleOptionsFetchCompressed":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsFollowOriginRedirect:CdnRuleOptionsFollowOriginRedirect":{"properties":{"codes":{"type":"array","items":{"type":"number"},"description":"Add the redirect HTTP status codes returned by the source. Allowed values are \"301\", \"302\", \"303\", \"307\", \"308\".\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"useHost":{"type":"boolean","description":"Use the redirect target domain as a Host header, or leave it the same as the value of the Change Host header option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["codes"],"language":{"nodejs":{"requiredOutputs":["codes","useHost"]}}},"edgecenter:index/CdnRuleOptionsForceReturn:CdnRuleOptionsForceReturn":{"properties":{"body":{"type":"string","description":"Add the URL for redirection or the text message.\n"},"code":{"type":"number","description":"Set the HTTP status code that should be returned by the CDN. Allowed values are from \"100\" to \"599\".\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["code"]},"edgecenter:index/CdnRuleOptionsForwardHostHeader:CdnRuleOptionsForwardHostHeader":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsGeoAcl:CdnRuleOptionsGeoAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsGeoAclExceptedValue:CdnRuleOptionsGeoAclExceptedValue"},"description":"List of exceptions to the default policy.\n"},"policyType":{"type":"string","description":"Shows the chosen policy type. Has either \"allow\" or \"deny\" value.\n"}},"type":"object","required":["exceptedValues"]},"edgecenter:index/CdnRuleOptionsGeoAclExceptedValue:CdnRuleOptionsGeoAclExceptedValue":{"properties":{"key":{"type":"string","description":"Two-letter country code as defined by ISO 3166-1 alpha-2 (e.g., 'US' for United States, 'RU' for Russia).\n"},"values":{"type":"array","items":{"type":"string"},"description":"List of region codes for the specified country, using short English names from ISO 3166-2 (e.g., 'CA' for California in 'US', 'MOW' for Moscow in 'RU').\n"}},"type":"object","required":["key","values"]},"edgecenter:index/CdnRuleOptionsGzipCompression:CdnRuleOptionsGzipCompression":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Allowed values are \"application/dash+xml\", \"application/javascript\", \"application/javascript\", \"application/vnd.apple.mpegurl\", \"application/vnd.ms-fontobject\", \"application/wasm\", \"application/x-font-opentype\", \"application/x-font-ttf\", \"application/x-javascript\", \"application/x-mpegURL\", \"application/x-subrip\", \"application/xml\", \"application/xml+rss\", \"font/woff\", \"font/woff2\", \"image/svg+xml\", \"text/css\", \"text/html\", \"text/javascript\", \"text/plain\", \"text/vtt\", \"text/xml\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnRuleOptionsHostHeader:CdnRuleOptionsHostHeader":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"string","description":"Specify the Host header value.\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsIgnoreCookie:CdnRuleOptionsIgnoreCookie":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsIgnoreQueryString:CdnRuleOptionsIgnoreQueryString":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\". If set to \"true\", Ignore all setting is selected.\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsImageStack:CdnRuleOptionsImageStack":{"properties":{"avifEnabled":{"type":"boolean","description":"Allow to convert the JPG and PNG images into AVIF format when supported by the end user's browser. Allowed values are \"true\" or \"false\".\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"pngLossless":{"type":"boolean","description":"Specify if the PNG images should be compressed without the quality loss.\n"},"quality":{"type":"number","description":"Set the quality of the JPG and PNG images after conversion. The higher the value, the better the image quality and the larger the file size after conversion.\n"},"webpEnabled":{"type":"boolean","description":"Allow to convert the JPG and PNG images into WebP format when supported by the end user's browser. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["quality"],"language":{"nodejs":{"requiredOutputs":["avifEnabled","pngLossless","quality","webpEnabled"]}}},"edgecenter:index/CdnRuleOptionsIpAddressAcl:CdnRuleOptionsIpAddressAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"Add the list of IP addresses.\n"},"policyType":{"type":"string","description":"Set the policy type. Allowed values are \"allow\" or \"deny\". The policy allows or denies access to content from all IP addresses except those specified in the \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 field.\n"}},"type":"object","required":["exceptedValues","policyType"]},"edgecenter:index/CdnRuleOptionsLimitBandwidth:CdnRuleOptionsLimitBandwidth":{"properties":{"buffer":{"type":"number","description":"Specify the amount of downloaded data in KB after which the user will be rate limited.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"limitType":{"type":"string","description":"Set the speed limit type. Allowed values are \"static\" or \"dynamic\". If set to \"static\", use the \"speed\" and \"buffer\" fields. If set to \"dynamic\", the speed is limited according to the \"?speed\" and \"?buffer\" query parameters.\n"},"speed":{"type":"number","description":"Set the maximum download speed per connection in KB/s. Must be greater than \"0\".\n"}},"type":"object","required":["limitType"],"language":{"nodejs":{"requiredOutputs":["buffer","limitType","speed"]}}},"edgecenter:index/CdnRuleOptionsProxyCacheMethodsSet:CdnRuleOptionsProxyCacheMethodsSet":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsQueryParamsBlacklist:CdnRuleOptionsQueryParamsBlacklist":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the list of params that should be ignored.\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnRuleOptionsQueryParamsWhitelist:CdnRuleOptionsQueryParamsWhitelist":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the list of params that should not be ignored.\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnRuleOptionsRedirectHttpToHttps:CdnRuleOptionsRedirectHttpToHttps":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsRedirectHttpsToHttp:CdnRuleOptionsRedirectHttpsToHttp":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsRefererAcl:CdnRuleOptionsRefererAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"Add a list of domain names. To allow a direct link access, add an empty value \"\". You cannot enter just the empty value because at least one valid referer is required.\n"},"policyType":{"type":"string","description":"Set the policy type. Allowed values are \"allow\" or \"deny\". The policy allows or denies access to content from all domain names except those specified in the \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 field.\n"}},"type":"object","required":["exceptedValues","policyType"]},"edgecenter:index/CdnRuleOptionsResponseHeadersHidingPolicy:CdnRuleOptionsResponseHeadersHidingPolicy":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"excepteds":{"type":"array","items":{"type":"string"},"description":"Depending on the value of the \"mode\" field, list the HTTP headers that will be either shown or hidden in the response. HTTP headers, that can't be hidden from the response: Connection, Content-Length, Content-Type, Date, Server.\n"},"mode":{"type":"string","description":"Set the way the HTTP headers are displayed. Allowed values are \"hide\" or \"show\". If set to \"hide\", all the HTTP headers from the response except those listed in the \"excepted\" field. If set to \"show\", the HTTP headers listed in the \"excepted\" field are hidden from the response.\n"}},"type":"object","required":["excepteds","mode"]},"edgecenter:index/CdnRuleOptionsRewrite:CdnRuleOptionsRewrite":{"properties":{"body":{"type":"string","description":"Specify the rewrite pattern.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"flag":{"type":"string","description":"Specify a rewrite flag type. Allowed values are \"last\", \"break\", \"redirect\", or \"permanent\".\n"}},"type":"object","required":["body"]},"edgecenter:index/CdnRuleOptionsSecureKey:CdnRuleOptionsSecureKey":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"key":{"type":"string","description":"Add the key generated on your side which will be used for the URL signing.\n"},"type":{"type":"number","description":"Set the type of the URL signing. Allowed values are \"0\" or \"2\". If set to \"0\", the end user's IP address is inclded to secure token generation. If set to \"2\", the end user's IP address is excluded from the secure token generation.\n"}},"type":"object","required":["key","type"]},"edgecenter:index/CdnRuleOptionsSlice:CdnRuleOptionsSlice":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsSni:CdnRuleOptionsSni":{"properties":{"customHostname":{"type":"string","description":"Specify the custom SNI hostname.\n"},"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"sniType":{"type":"string","description":"Set the SNI type. Allowed values are \"dynamic\" or \"custom\". If set to \"dynamic\", the hostname matches the value of the \"host*header\" or \"forward*host*header\" field. If set to \"custom\", the hostname matches the value of the \"custom*hostname\" field.\n"}},"type":"object"},"edgecenter:index/CdnRuleOptionsStale:CdnRuleOptionsStale":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add a list of errors. Allowed values are \"error\", \"http*403\", \"http*404\", \"http*429\", \"http*500\", \"http*502\", \"http*503\", \"http*504\", \"invalid*header\", \"timeout\", \"updating\".\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnRuleOptionsStaticRequestHeaders:CdnRuleOptionsStaticRequestHeaders":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"object","additionalProperties":{"type":"string"},"description":"Add the list of custom HTTP request headers in the \"name: value\" format. Header name is restricted to 255 symbols and can contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores\nHeader value is restricted to 512 symbols and must start with a letter, a number, an asterisk or {. It can contain only Latin letters (A-Z, a-z), numbers (0-9), spaces and symbols (`~!@#%^\u0026*()-_=+ /|\";:?.\u003e\u003c{}[]). Space can be used only between the words.\n"}},"type":"object","required":["value"]},"edgecenter:index/CdnRuleOptionsStaticResponseHeaders:CdnRuleOptionsStaticResponseHeaders":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"values":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptionsStaticResponseHeadersValue:CdnRuleOptionsStaticResponseHeadersValue"},"description":"Add the list of custom HTTP response headers, using the \"name\", \"value\", and \"always\" fields.\n"}},"type":"object","required":["values"]},"edgecenter:index/CdnRuleOptionsStaticResponseHeadersValue:CdnRuleOptionsStaticResponseHeadersValue":{"properties":{"always":{"type":"boolean","description":"Specify if the custom header should be added to the responses from CDN regardless of the HTTP response status code. Allowed values are \"true\" or \"false\". If set to \"false\", the header will only be added to the responses with HTTP 200, 201, 204, 206, 301, 302, 303, 304, 307, or 308 status codes.\n"},"name":{"type":"string","description":"Add the header name.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Add the header value.\n"}},"type":"object","required":["name","values"],"language":{"nodejs":{"requiredOutputs":["always","name","values"]}}},"edgecenter:index/CdnRuleOptionsUserAgentAcl:CdnRuleOptionsUserAgentAcl":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"exceptedValues":{"type":"array","items":{"type":"string"},"description":"Add a list of user agents. Enter the values in [\"\"]. You can specify a user agent string, an empty value using \"\", or a regular expression that starts with \"~\".\n"},"policyType":{"type":"string","description":"Set the policy type. Allowed values are \"allow\" or \"deny\". The policy allows or denies access to content from all user agents except those specified in the \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 field.\n"}},"type":"object","required":["exceptedValues","policyType"]},"edgecenter:index/CdnRuleOptionsWebsockets:CdnRuleOptionsWebsockets":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable the option. Allowed values are \"true\" or \"false\".\n"},"value":{"type":"boolean","description":"Set the value of the option. Allowed values are \"true\" or \"false\".\n"}},"type":"object","required":["value"]},"edgecenter:index/DnsZoneRecordFilter:DnsZoneRecordFilter":{"properties":{"limit":{"type":"number","description":"A DNS Zone Record filter option that describe how many records will be percolated.\n"},"strict":{"type":"boolean","description":"A DNS Zone Record filter option that describe possibility to return answers if no records were percolated through filter.\n"},"type":{"type":"string","description":"A DNS Zone Record filter option that describe a name of filter.\n"}},"type":"object","required":["type"]},"edgecenter:index/DnsZoneRecordMeta:DnsZoneRecordMeta":{"properties":{"failover":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordMetaFailover:DnsZoneRecordMetaFailover","description":"A failover meta of DNS Zone Record resource.\n"}},"type":"object"},"edgecenter:index/DnsZoneRecordMetaFailover:DnsZoneRecordMetaFailover":{"properties":{"frequency":{"type":"number","description":"A failover frequency of DNS Zone Record resource.\n"},"host":{"type":"string","description":"A failover host of DNS Zone Record resource.\n"},"httpStatusCode":{"type":"number","description":"A failover http status code of DNS Zone Record resource.\n"},"method":{"type":"string","description":"A failover method of DNS Zone Record resource.\n"},"port":{"type":"number","description":"A failover port of DNS Zone Record resource.\n"},"protocol":{"type":"string","description":"A failover protocol of DNS Zone Record resource.\n"},"regexp":{"type":"string","description":"A failover regexp of DNS Zone Record resource.\n"},"timeout":{"type":"number","description":"A failover timeout of DNS Zone Record resource.\n"},"tls":{"type":"boolean","description":"A failover tls of DNS Zone Record resource.\n"},"url":{"type":"string","description":"A failover url of DNS Zone Record resource.\n"},"verify":{"type":"boolean","description":"A failover verify of DNS Zone Record resource.\n"}},"type":"object","required":["frequency","protocol","timeout"]},"edgecenter:index/DnsZoneRecordResourceRecord:DnsZoneRecordResourceRecord":{"properties":{"content":{"type":"string","description":"A content of DNS Zone Record resource. (TXT: 'anyString', MX: '50 mail.company.io.', CAA: '0 issue \"company.org; account=12345\"')\n"},"enabled":{"type":"boolean","description":"Manage of public appearing of DNS Zone Record resource.\n"},"meta":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordResourceRecordMeta:DnsZoneRecordResourceRecordMeta"}},"type":"object","required":["content"]},"edgecenter:index/DnsZoneRecordResourceRecordMeta:DnsZoneRecordResourceRecordMeta":{"properties":{"asns":{"type":"array","items":{"type":"number"},"description":"An asn meta (e.g. 12345) of DNS Zone Record resource.\n"},"continents":{"type":"array","items":{"type":"string"},"description":"Continents meta (e.g. Asia) of DNS Zone Record resource.\n"},"countries":{"type":"array","items":{"type":"string"},"description":"Countries meta (e.g. USA) of DNS Zone Record resource.\n"},"default":{"type":"boolean","description":"Fallback meta equals true marks records which are used as a default answer (when nothing was selected by specified meta fields).\n"},"ips":{"type":"array","items":{"type":"string"},"description":"An ip meta (e.g. 127.0.0.0) of DNS Zone Record resource.\n"},"latlongs":{"type":"array","items":{"type":"number"},"description":"A latlong meta (e.g. 27.988056, 86.925278) of DNS Zone Record resource.\n"},"notes":{"type":"array","items":{"type":"string"},"description":"A notes meta (e.g. Miami DC) of DNS Zone Record resource.\n"}},"type":"object"},"edgecenter:index/FloatingipMetadataReadOnly:FloatingipMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/InstanceAddress:InstanceAddress":{"properties":{"nets":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceAddressNet:InstanceAddressNet"}}},"type":"object","required":["nets"]},"edgecenter:index/InstanceAddressNet:InstanceAddressNet":{"properties":{"addr":{"type":"string","description":"The net ip address, for example '45.147.163.112'.\n"},"type":{"type":"string","description":"The net type, for example 'fixed'.\n"}},"type":"object","required":["addr","type"]},"edgecenter:index/InstanceConfiguration:InstanceConfiguration":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"edgecenter:index/InstanceInterface:InstanceInterface":{"properties":{"existingFipId":{"type":"string"},"fipSource":{"type":"string"},"ipAddress":{"type":"string"},"networkId":{"type":"string","description":"Required if type is 'subnet' or 'any_subnet'.\n"},"order":{"type":"number","description":"Order of attaching interface\n"},"portId":{"type":"string","description":"required if type is  'reserved*fixed*ip'\n"},"portSecurityDisabled":{"type":"boolean"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"list of security group IDs\n"},"subnetId":{"type":"string","description":"Required if type is 'subnet'.\n"},"type":{"type":"string","description":"Available value is 'subnet', 'any*subnet', 'external', 'reserved*fixed_ip'\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["ipAddress","networkId","order","portId","subnetId"]}}},"edgecenter:index/InstanceMetadata:InstanceMetadata":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"edgecenter:index/InstancePortSecuritySecurityGroups:InstancePortSecuritySecurityGroups":{"properties":{"allSecurityGroupIds":{"type":"array","items":{"type":"string"},"description":"Set of all security groups IDs. This field has all security groups, including those that were created outside of this resource (the default security group and security groups created through the UI or API)\n"},"overwriteExisting":{"type":"boolean","description":"Whether to overwrite all security groups. If this field has value \"true\", security groups that were created outside of this resource (the default security group and security groups created through UI or API will be deleted and attached security groups specified in the attribute \"security*group*ids\" only)\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"A set of security groups IDs that need to be attached.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["allSecurityGroupIds","securityGroupIds"]}}},"edgecenter:index/InstancePortSecurityTimeouts:InstancePortSecurityTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"edgecenter:index/InstanceSecurityGroup:InstanceSecurityGroup":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"]},"edgecenter:index/InstanceV2BootVolume:InstanceV2BootVolume":{"properties":{"attachmentTag":{"type":"string","description":"The block device attachment tag (exposed in the metadata).\n"},"bootIndex":{"type":"number","description":"If boot_index==0 volumes can not detached. It is used only when creating an instance. This attribute can't be updated\n"},"name":{"type":"string","description":"The name assigned to the volume. Defaults to 'system'.\n"},"size":{"type":"number","description":"The size of the volume, specified in gigabytes (GB).\n"},"typeName":{"type":"string","description":"The type of volume to create. Valid values are 'ssd_hiiops', 'standard', 'cold', and 'ultra'. Defaults to 'standard'.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["bootIndex","volumeId"],"language":{"nodejs":{"requiredOutputs":["bootIndex","name","size","typeName","volumeId"]}}},"edgecenter:index/InstanceV2Configuration:InstanceV2Configuration":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"edgecenter:index/InstanceV2DataVolume:InstanceV2DataVolume":{"properties":{"attachmentTag":{"type":"string","description":"The block device attachment tag (exposed in the metadata).\n"},"name":{"type":"string","description":"The name assigned to the volume. Defaults to 'system'.\n"},"size":{"type":"number","description":"The size of the volume, specified in gigabytes (GB).\n"},"typeName":{"type":"string","description":"The type of volume to create. Valid values are 'ssd_hiiops', 'standard', 'cold', and 'ultra'. Defaults to 'standard'.\n"},"volumeId":{"type":"string","description":"The ID of the volume.\n"}},"type":"object","required":["volumeId"],"language":{"nodejs":{"requiredOutputs":["name","size","typeName","volumeId"]}}},"edgecenter:index/InstanceV2Interface:InstanceV2Interface":{"properties":{"ipAddress":{"type":"string","description":"IP address of the interface.\n"},"isDefault":{"type":"boolean","description":"This field determines whether this interface will be connected first.\nThe first connected interface defines the default routing. WARNING: if you change this attribute, interfaces\nconnected earlier than the selected new default interface will be reattached and it's IP addresses can be changed, if the reserved IP address is not used in these\ninterfaces. You must always have exactly one interface with set attribute 'is_default.'\n"},"networkId":{"type":"string","description":"Required if type is 'subnet'.\n"},"networkName":{"type":"string","description":"Name of the network.\n"},"portId":{"type":"string"},"reservedFixedIpPortId":{"type":"string","description":"required if type is  'reserved*fixed*ip'\n"},"subnetId":{"type":"string","description":"Required if type is 'subnet'.\n"},"type":{"type":"string","description":"Available values are 'subnet', 'external', 'reserved*fixed*ip'. You can't create more than one interface on the same subnet\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["ipAddress","networkName","portId","type"]}}},"edgecenter:index/InstanceVolume:InstanceVolume":{"properties":{"attachmentTag":{"type":"string"},"bootIndex":{"type":"number","description":"If boot_index==0 volumes can not detached\n"},"deleteOnTermination":{"type":"boolean"},"id":{"type":"string"},"imageId":{"type":"string"},"name":{"type":"string","description":"The name assigned to the volume. Defaults to 'system'.\n"},"size":{"type":"number","description":"The size of the volume, specified in gigabytes (GB).\n"},"source":{"type":"string","description":"Currently available only 'existing-volume' value\n"},"typeName":{"type":"string","description":"The type of volume to create. Valid values are 'ssd_hiiops', 'standard', 'cold', and 'ultra'. Defaults to 'standard'.\n"},"volumeId":{"type":"string"}},"type":"object","required":["source"],"language":{"nodejs":{"requiredOutputs":["deleteOnTermination","id","size","source"]}}},"edgecenter:index/LbL7policyTimeouts:LbL7policyTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"edgecenter:index/LbL7ruleTimeouts:LbL7ruleTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"edgecenter:index/LblistenerTimeouts:LblistenerTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"edgecenter:index/LbmemberTimeouts:LbmemberTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"edgecenter:index/LbpoolHealthMonitor:LbpoolHealthMonitor":{"properties":{"delay":{"type":"number","description":"The time between sending probes to members (in seconds).\n"},"expectedCodes":{"type":"string","description":"The expected HTTP status codes. Multiple codes can be specified as a comma-separated string.\n"},"httpMethod":{"type":"string","description":"The HTTP method. Available values are `CONNECT`, `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`,`POST`, `PUT`, `TRACE`.\n"},"id":{"type":"string","description":"The ID of the health monitor.\n"},"maxRetries":{"type":"number","description":"The number of successes before the member is switched to the ONLINE state.\n"},"maxRetriesDown":{"type":"number","description":"The number of failures before the member is switched to the ERROR state.\n"},"timeout":{"type":"number","description":"The maximum time to connect. Must be less than the delay value.\n"},"type":{"type":"string","description":"The type of the health monitor. Available values are `HTTP`, `HTTPS`, `PING`, `TCP`, `TLS-HELLO`, `UDP-CONNECT`.\n"},"urlPath":{"type":"string","description":"The URL path. Defaults to `/`.\n"}},"type":"object","required":["delay","maxRetries","timeout","type"],"language":{"nodejs":{"requiredOutputs":["delay","expectedCodes","httpMethod","id","maxRetries","maxRetriesDown","timeout","type","urlPath"]}}},"edgecenter:index/LbpoolSessionPersistence:LbpoolSessionPersistence":{"properties":{"cookieName":{"type":"string","description":"The name of the cookie. Should be set if app cookie or http cookie is used.\n"},"persistenceGranularity":{"type":"string","description":"The subnet mask if\u003cspan pulumi-lang-nodejs=\" sourceIp \" pulumi-lang-dotnet=\" SourceIp \" pulumi-lang-go=\" sourceIp \" pulumi-lang-python=\" source_ip \" pulumi-lang-yaml=\" sourceIp \" pulumi-lang-java=\" sourceIp \"\u003e source_ip \u003c/span\u003eis used. For UDP ports only.\n"},"persistenceTimeout":{"type":"number","description":"The timeout for the session persistence. For UDP ports only.\n"},"type":{"type":"string","description":"The type of the session persistence. Available values are `APP_COOKIE`\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["cookieName","persistenceGranularity","persistenceTimeout"]}}},"edgecenter:index/LbpoolTimeouts:LbpoolTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"edgecenter:index/LifecyclepolicySchedule:LifecyclepolicySchedule":{"properties":{"cron":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicyScheduleCron:LifecyclepolicyScheduleCron","description":"Use for taking actions at specified moments of time. Exactly one of interval and cron blocks should be provided\n"},"id":{"type":"string"},"interval":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicyScheduleInterval:LifecyclepolicyScheduleInterval","description":"Use for taking actions with equal time intervals between them. Exactly one of interval and cron blocks should be provided\n"},"maxQuantity":{"type":"number","description":"Maximum number of stored resources\n"},"resourceNameTemplate":{"type":"string","description":"Used to name snapshots. {volume_id} is substituted with volume.id on creation\n"},"retentionTime":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicyScheduleRetentionTime:LifecyclepolicyScheduleRetentionTime","description":"If it is set, new resource will be deleted after time\n"},"type":{"type":"string"}},"type":"object","required":["maxQuantity"],"language":{"nodejs":{"requiredOutputs":["id","maxQuantity","type"]}}},"edgecenter:index/LifecyclepolicyScheduleCron:LifecyclepolicyScheduleCron":{"properties":{"day":{"type":"string","description":"Either single asterisk or comma-separated list of integers (1-31)\n"},"dayOfWeek":{"type":"string","description":"Use lowercase three-letter abbreviations of weekdays comma-separated (e.g., 'mon,tue,wed') or '*' for any day.\n"},"hour":{"type":"string","description":"Either single asterisk or comma-separated list of integers (0-23)\n"},"minute":{"type":"string","description":"Either single asterisk or comma-separated list of integers (0-59)\n"},"month":{"type":"string","description":"Either single asterisk or comma-separated list of integers (1-12)\n"},"timezone":{"type":"string"},"week":{"type":"string","description":"Either single asterisk or comma-separated list of integers (1-53)\n"}},"type":"object"},"edgecenter:index/LifecyclepolicyScheduleInterval:LifecyclepolicyScheduleInterval":{"properties":{"days":{"type":"number","description":"Number of days to wait between actions\n"},"hours":{"type":"number","description":"Number of hours to wait between actions\n"},"minutes":{"type":"number","description":"Number of minutes to wait between actions\n"},"weeks":{"type":"number","description":"Number of weeks to wait between actions\n"}},"type":"object"},"edgecenter:index/LifecyclepolicyScheduleRetentionTime:LifecyclepolicyScheduleRetentionTime":{"properties":{"days":{"type":"number","description":"Number of days to wait before deleting snapshot\n"},"hours":{"type":"number","description":"Number of hours to wait before deleting snapshot\n"},"minutes":{"type":"number","description":"Number of minutes to wait before deleting snapshot\n"},"weeks":{"type":"number","description":"Number of weeks to wait before deleting snapshot\n"}},"type":"object"},"edgecenter:index/LifecyclepolicyVolume:LifecyclepolicyVolume":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"edgecenter:index/LoadbalancerListener:LoadbalancerListener":{"properties":{"certificate":{"type":"string"},"certificateChain":{"type":"string"},"id":{"type":"string"},"insertXForwarded":{"type":"boolean"},"name":{"type":"string"},"privateKey":{"type":"string"},"protocol":{"type":"string","description":"Available values is 'TCP' (currently work, other do not work on ed-8), 'UDP', 'HTTP', 'HTTPS'\n"},"protocolPort":{"type":"number"},"secretId":{"type":"string"},"sniSecretIds":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","protocol","protocolPort"],"language":{"nodejs":{"requiredOutputs":["id","name","protocol","protocolPort"]}}},"edgecenter:index/LoadbalancerMetadataReadOnly:LoadbalancerMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/LoadbalancerTimeouts:LoadbalancerTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"edgecenter:index/Loadbalancerv2MetadataReadOnly:Loadbalancerv2MetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/Loadbalancerv2Timeouts:Loadbalancerv2Timeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"edgecenter:index/MkaasClusterControlPlane:MkaasClusterControlPlane":{"properties":{"flavor":{"type":"string","description":"The flavor type of the flavor.\n"},"nodeCount":{"type":"number","description":"The number of control nodes in the cluster (allowed values: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e).\n"},"version":{"type":"string","description":"The version of the Kubernetes cluster (format `vx.xx.x`).\n"},"volumeSize":{"type":"number","description":"The size of the control volumes in the cluster, specified in gigabytes (GB). Allowed range: `20–1024` GiB.\n"},"volumeType":{"type":"string","description":"The type of volumes in the cluster (allowed values: \u003cspan pulumi-lang-nodejs=\"`ssdHiiops`\" pulumi-lang-dotnet=\"`SsdHiiops`\" pulumi-lang-go=\"`ssdHiiops`\" pulumi-lang-python=\"`ssd_hiiops`\" pulumi-lang-yaml=\"`ssdHiiops`\" pulumi-lang-java=\"`ssdHiiops`\"\u003e`ssd_hiiops`\u003c/span\u003e).\n"}},"type":"object","required":["flavor","nodeCount","version","volumeSize","volumeType"]},"edgecenter:index/MkaasClusterTimeouts:MkaasClusterTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"edgecenter:index/MkaasPoolTimeouts:MkaasPoolTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"edgecenter:index/NetworkMetadataReadOnly:NetworkMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/ResellerImagesOption:ResellerImagesOption":{"properties":{"createdAt":{"type":"string","description":"Date when list images was created.\n"},"imageIds":{"type":"array","items":{"type":"string"},"description":"A list of image IDs available for clients of the reseller.\n"},"regionId":{"type":"number","description":"The ID of the region.\n"},"updatedAt":{"type":"string","description":"Date when list images was last updated.\n"}},"type":"object","required":["regionId"],"language":{"nodejs":{"requiredOutputs":["createdAt","regionId","updatedAt"]}}},"edgecenter:index/ResellerImagesV2Option:ResellerImagesV2Option":{"properties":{"allPublicImagesAreAvailable":{"type":"boolean","description":"Flag to indicate that all public images are available.\n"},"createdAt":{"type":"string","description":"Date when list images was created.\n"},"imageIds":{"type":"array","items":{"type":"string"},"description":"A list of image IDs available for clients of the entity.\n"},"regionId":{"type":"number","description":"The ID of the region.\n"},"updatedAt":{"type":"string","description":"Date when list images was last updated.\n"}},"type":"object","required":["regionId"],"language":{"nodejs":{"requiredOutputs":["createdAt","regionId","updatedAt"]}}},"edgecenter:index/ReservedfixedipAllowedAddressPair:ReservedfixedipAllowedAddressPair":{"properties":{"ipAddress":{"type":"string"},"macAddress":{"type":"string"}},"type":"object"},"edgecenter:index/RmonStatusPageCheck:RmonStatusPageCheck":{"properties":{"checkId":{"type":"number","description":"Check ID.\n"}},"type":"object","required":["checkId"]},"edgecenter:index/RouterExternalGatewayInfo:RouterExternalGatewayInfo":{"properties":{"enableSnat":{"type":"boolean","deprecationMessage":"Deprecated"},"externalFixedIps":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRouterExternalGatewayInfoExternalFixedIp:RouterExternalGatewayInfoExternalFixedIp"}},"networkId":{"type":"string","description":"Id of the external network\n"},"type":{"type":"string","description":"Must be 'manual' or 'default'\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["enableSnat","externalFixedIps","networkId","type"]}}},"edgecenter:index/RouterExternalGatewayInfoExternalFixedIp:RouterExternalGatewayInfoExternalFixedIp":{"properties":{"ipAddress":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["ipAddress","subnetId"]},"edgecenter:index/RouterInterface:RouterInterface":{"properties":{"ipAddress":{"type":"string"},"macAddress":{"type":"string"},"networkId":{"type":"string"},"portId":{"type":"string"},"subnetId":{"type":"string","description":"Subnet for router interface must have a gateway IP\n"},"type":{"type":"string","description":"must be 'subnet'\n"}},"type":"object","required":["subnetId","type"],"language":{"nodejs":{"requiredOutputs":["ipAddress","macAddress","networkId","portId","subnetId","type"]}}},"edgecenter:index/RouterRoute:RouterRoute":{"properties":{"destination":{"type":"string","description":"The CIDR of the destination IPv4 subnet.\n"},"nexthop":{"type":"string","description":"IPv4 address to forward traffic to if its destination IP matches the destination CIDR.\n"}},"type":"object","required":["destination","nexthop"]},"edgecenter:index/SecuritygroupMetadataReadOnly:SecuritygroupMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/SecuritygroupSecurityGroupRule:SecuritygroupSecurityGroupRule":{"properties":{"createdAt":{"type":"string"},"description":{"type":"string"},"direction":{"type":"string","description":"Available value is 'ingress', 'egress'\n"},"ethertype":{"type":"string","description":"Available value is 'IPv4', 'IPv6'\n"},"id":{"type":"string"},"portRangeMax":{"type":"number","description":"Must be set for network protocol: tcp, udp, udplite, sctp, dccp\n"},"portRangeMin":{"type":"number","description":"Must be set for network protocol: tcp, udp, udplite, sctp, dccp\n"},"protocol":{"type":"string","description":"Available value is udp,tcp,any,icmp,ah,dccp,egp,esp,gre,igmp,ospf,pgm,rsvp,sctp,udplite,vrrp,ipip,ipencap\n"},"remoteIpPrefix":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object","required":["direction","ethertype","protocol"],"language":{"nodejs":{"requiredOutputs":["createdAt","direction","ethertype","id","protocol","updatedAt"]}}},"edgecenter:index/ServergroupInstance:ServergroupInstance":{"properties":{"instanceId":{"type":"string"},"instanceName":{"type":"string"}},"type":"object","required":["instanceId","instanceName"]},"edgecenter:index/SnapshotMetadataReadOnly:SnapshotMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/SubnetAllocationPool:SubnetAllocationPool":{"properties":{"end":{"type":"string","description":"End IP address.\n"},"start":{"type":"string","description":"Start IP address.\n"}},"type":"object","required":["end","start"]},"edgecenter:index/SubnetHostRoute:SubnetHostRoute":{"properties":{"destination":{"type":"string","description":"The CIDR of the destination IPv4 subnet.\n"},"nexthop":{"type":"string","description":"IPv4 address to forward traffic to if its destination IP matches the destination CIDR.\n"}},"type":"object","required":["destination","nexthop"]},"edgecenter:index/SubnetMetadataReadOnly:SubnetMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/VolumeMetadataReadOnly:VolumeMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"]},"edgecenter:index/getFlavorFlavor:getFlavorFlavor":{"properties":{"currencyCode":{"type":"string"},"disabled":{"type":"boolean"},"flavorId":{"type":"string"},"flavorName":{"type":"string"},"hardwareDescription":{"type":"object","additionalProperties":{"type":"string"}},"pricePerHour":{"type":"number"},"pricePerMonth":{"type":"number"},"ram":{"type":"number"},"resourceClass":{"type":"string"},"type":{"type":"string"},"vcpus":{"type":"number"}},"type":"object","required":["currencyCode","disabled","flavorId","flavorName","hardwareDescription","pricePerHour","pricePerMonth","ram","resourceClass","type","vcpus"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getFloatingipMetadataReadOnly:getFloatingipMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getImageMetadataReadOnly:getImageMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceAddress:getInstanceAddress":{"properties":{"nets":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceAddressNet:getInstanceAddressNet"}}},"type":"object","required":["nets"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceAddressNet:getInstanceAddressNet":{"properties":{"addr":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["addr","type"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceInterface:getInstanceInterface":{"properties":{"ipAddress":{"type":"string"},"networkId":{"type":"string"},"portId":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["ipAddress","networkId","portId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceMetadata:getInstanceMetadata":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceSecurityGroup:getInstanceSecurityGroup":{"properties":{"name":{"type":"string"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceV2BootVolume:getInstanceV2BootVolume":{"properties":{"name":{"type":"string"},"size":{"type":"number"},"typeName":{"type":"string"},"volumeId":{"type":"string"}},"type":"object","required":["name","size","typeName","volumeId"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceV2DataVolume:getInstanceV2DataVolume":{"properties":{"name":{"type":"string"},"size":{"type":"number"},"typeName":{"type":"string"},"volumeId":{"type":"string"}},"type":"object","required":["name","size","typeName","volumeId"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceV2Interface:getInstanceV2Interface":{"properties":{"ipAddress":{"type":"string"},"networkId":{"type":"string"},"networkName":{"type":"string"},"order":{"type":"number"},"portId":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["ipAddress","networkId","networkName","order","portId","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getInstanceVolume:getInstanceVolume":{"properties":{"deleteOnTermination":{"type":"boolean"},"volumeId":{"type":"string"}},"type":"object","required":["deleteOnTermination","volumeId"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getK8sPool:getK8sPool":{"properties":{"createdAt":{"type":"string"},"dockerVolumeSize":{"type":"number"},"dockerVolumeType":{"type":"string"},"flavorId":{"type":"string"},"maxNodeCount":{"type":"number"},"minNodeCount":{"type":"number"},"name":{"type":"string"},"nodeCount":{"type":"number"},"stackId":{"type":"string"},"uuid":{"type":"string"}},"type":"object","required":["createdAt","dockerVolumeSize","dockerVolumeType","flavorId","maxNodeCount","minNodeCount","name","nodeCount","stackId","uuid"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getLbpoolHealthMonitor:getLbpoolHealthMonitor":{"properties":{"delay":{"type":"number"},"expectedCodes":{"type":"string"},"httpMethod":{"type":"string"},"id":{"type":"string"},"maxRetries":{"type":"number"},"maxRetriesDown":{"type":"number"},"timeout":{"type":"number"},"type":{"type":"string"},"urlPath":{"type":"string"}},"type":"object","required":["delay","expectedCodes","httpMethod","id","maxRetries","maxRetriesDown","timeout","type","urlPath"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getLbpoolSessionPersistence:getLbpoolSessionPersistence":{"properties":{"cookieName":{"type":"string"},"persistenceGranularity":{"type":"string"},"persistenceTimeout":{"type":"number"},"type":{"type":"string"}},"type":"object","required":["cookieName","persistenceGranularity","persistenceTimeout","type"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getLoadbalancerListener:getLoadbalancerListener":{"properties":{"id":{"type":"string"},"name":{"type":"string"},"protocol":{"type":"string"},"protocolPort":{"type":"number"}},"type":"object","required":["id","name","protocol","protocolPort"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getLoadbalancerMetadataReadOnly:getLoadbalancerMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getLoadbalancerv2MetadataReadOnly:getLoadbalancerv2MetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getMkaasClusterControlPlane:getMkaasClusterControlPlane":{"properties":{"flavor":{"type":"string"},"nodeCount":{"type":"number"},"version":{"type":"string"},"volumeSize":{"type":"number"},"volumeType":{"type":"string"}},"type":"object","required":["flavor","nodeCount","version","volumeSize","volumeType"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getNetworkMetadataReadOnly:getNetworkMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getNetworkSubnet:getNetworkSubnet":{"properties":{"availableIps":{"type":"number","description":"The number of available IPs in the subnet.\n"},"cidr":{"type":"string","description":"Represents the IP address range of the subnet.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"List of DNS name servers for the subnet.\n"},"enableDhcp":{"type":"boolean","description":"Enable DHCP for this subnet. If true, DHCP will be used to assign IP addresses to instances within this subnet.\n"},"gatewayIp":{"type":"string","description":"The IP address of the gateway for this subnet.\n"},"hasRouter":{"type":"boolean","description":"Indicates whether the subnet has a router attached to it.\n"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FgetNetworkSubnetHostRoute:getNetworkSubnetHostRoute"},"description":"Set of additional routes to be added to instances that are part of this subnet.\n"},"id":{"type":"string","description":"The ID of the subnet.\n"},"name":{"type":"string","description":"The name of the subnet.\n"},"totalIps":{"type":"number","description":"The total number of IPs in the subnet.\n"}},"type":"object","required":["availableIps","cidr","dnsNameservers","enableDhcp","gatewayIp","hasRouter","hostRoutes","id","name","totalIps"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getNetworkSubnetHostRoute:getNetworkSubnetHostRoute":{"properties":{"destination":{"type":"string"},"nexthop":{"type":"string"}},"type":"object","required":["destination","nexthop"]},"edgecenter:index/getResellerImagesOption:getResellerImagesOption":{"properties":{"createdAt":{"type":"string"},"imageIds":{"type":"array","items":{"type":"string"}},"regionId":{"type":"number"},"updatedAt":{"type":"string"}},"type":"object","required":["createdAt","imageIds","regionId","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getResellerImagesV2Option:getResellerImagesV2Option":{"properties":{"allPublicImagesAreAvailable":{"type":"boolean"},"createdAt":{"type":"string"},"imageIds":{"type":"array","items":{"type":"string"}},"regionId":{"type":"number"},"updatedAt":{"type":"string"}},"type":"object","required":["allPublicImagesAreAvailable","createdAt","imageIds","regionId","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getResellerNetworksNetwork:getResellerNetworksNetwork":{"properties":{"clientId":{"type":"number"},"createdAt":{"type":"string"},"creatorTaskId":{"type":"string"},"default":{"type":"boolean"},"external":{"type":"boolean"},"id":{"type":"string"},"metadatas":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FgetResellerNetworksNetworkMetadata:getResellerNetworksNetworkMetadata"}},"mtu":{"type":"number"},"name":{"type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"},"regionName":{"type":"string"},"segmentationId":{"type":"number"},"shared":{"type":"boolean"},"subnets":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FgetResellerNetworksNetworkSubnet:getResellerNetworksNetworkSubnet"}},"taskId":{"type":"string"},"type":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object","required":["clientId","createdAt","creatorTaskId","default","external","id","metadatas","mtu","name","projectId","regionId","regionName","segmentationId","shared","subnets","taskId","type","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getResellerNetworksNetworkMetadata:getResellerNetworksNetworkMetadata":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getResellerNetworksNetworkSubnet:getResellerNetworksNetworkSubnet":{"properties":{"availableIps":{"type":"number"},"cidr":{"type":"string"},"dnsNameservers":{"type":"array","items":{"type":"string"}},"enableDhcp":{"type":"boolean"},"gatewayIp":{"type":"string"},"hasRouter":{"type":"boolean"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FgetResellerNetworksNetworkSubnetHostRoute:getResellerNetworksNetworkSubnetHostRoute"}},"id":{"type":"string"},"name":{"type":"string"},"totalIps":{"type":"number"}},"type":"object","required":["availableIps","cidr","dnsNameservers","enableDhcp","gatewayIp","hasRouter","hostRoutes","id","name","totalIps"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getResellerNetworksNetworkSubnetHostRoute:getResellerNetworksNetworkSubnetHostRoute":{"properties":{"destination":{"type":"string"},"nexthop":{"type":"string"}},"type":"object","required":["destination","nexthop"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getReservedfixedipAllowedAddressPair:getReservedfixedipAllowedAddressPair":{"properties":{"ipAddress":{"type":"string"},"macAddress":{"type":"string"}},"type":"object","required":["ipAddress","macAddress"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getRouterExternalGatewayInfo:getRouterExternalGatewayInfo":{"properties":{"externalFixedIps":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FgetRouterExternalGatewayInfoExternalFixedIp:getRouterExternalGatewayInfoExternalFixedIp"}},"networkId":{"type":"string"}},"type":"object","required":["externalFixedIps","networkId"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getRouterExternalGatewayInfoExternalFixedIp:getRouterExternalGatewayInfoExternalFixedIp":{"properties":{"ipAddress":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["ipAddress","subnetId"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getRouterInterface:getRouterInterface":{"properties":{"ipAddress":{"type":"string"},"macAddress":{"type":"string"},"networkId":{"type":"string"},"portId":{"type":"string"},"subnetId":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["ipAddress","macAddress","networkId","portId","subnetId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getRouterRoute:getRouterRoute":{"properties":{"destination":{"type":"string"},"nexthop":{"type":"string"}},"type":"object","required":["destination","nexthop"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getSecuritygroupMetadataReadOnly:getSecuritygroupMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getSecuritygroupSecurityGroupRule:getSecuritygroupSecurityGroupRule":{"properties":{"createdAt":{"type":"string"},"description":{"type":"string"},"direction":{"type":"string"},"ethertype":{"type":"string"},"id":{"type":"string"},"portRangeMax":{"type":"number"},"portRangeMin":{"type":"number"},"protocol":{"type":"string"},"remoteIpPrefix":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object","required":["createdAt","description","direction","ethertype","id","portRangeMax","portRangeMin","protocol","remoteIpPrefix","updatedAt"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getServergroupInstance:getServergroupInstance":{"properties":{"instanceId":{"type":"string"},"instanceName":{"type":"string"}},"type":"object","required":["instanceId","instanceName"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getSubnetAllocationPool:getSubnetAllocationPool":{"properties":{"end":{"type":"string"},"start":{"type":"string"}},"type":"object","required":["end","start"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getSubnetHostRoute:getSubnetHostRoute":{"properties":{"destination":{"type":"string"},"nexthop":{"type":"string"}},"type":"object","required":["destination","nexthop"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getSubnetMetadataReadOnly:getSubnetMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}},"edgecenter:index/getVolumeMetadataReadOnly:getVolumeMetadataReadOnly":{"properties":{"key":{"type":"string"},"readOnly":{"type":"boolean"},"value":{"type":"string"}},"type":"object","required":["key","readOnly","value"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the edgecenter 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":{"apiEndpoint":{"type":"string","description":"A single API endpoint for all products. Will be used when specific product API url is not defined."},"edgecenterApi":{"type":"string","description":"Region API","deprecationMessage":"Deprecated"},"edgecenterCdnApi":{"type":"string","description":"CDN API (define only if you want to override CDN API endpoint)"},"edgecenterCloudApi":{"type":"string","description":"Region API (define only if you want to override Region API endpoint)"},"edgecenterDnsApi":{"type":"string","description":"DNS API (define only if you want to override DNS API endpoint)"},"edgecenterPlatform":{"type":"string","description":"Platform URL is used for generate JWT","deprecationMessage":"Deprecated"},"edgecenterPlatformApi":{"type":"string","description":"Platform URL is used for generate JWT (define only if you want to override Platform API endpoint)"},"edgecenterProtectionApi":{"type":"string","description":"Protection API (define only if you want to override Protection API endpoint)"},"edgecenterRmonApi":{"type":"string","description":"RMON API"},"edgecenterStorageApi":{"type":"string","description":"Storage API (define only if you want to override Storage API endpoint)"},"password":{"type":"string","deprecationMessage":"Deprecated"},"permanentApiToken":{"type":"string","description":"A permanent [API-token](https://support.edgecenter.ru/knowledge_base/item/257788)","secret":true},"userName":{"type":"string","deprecationMessage":"Deprecated"}},"type":"object","inputProperties":{"apiEndpoint":{"type":"string","description":"A single API endpoint for all products. Will be used when specific product API url is not defined."},"edgecenterApi":{"type":"string","description":"Region API","deprecationMessage":"Deprecated"},"edgecenterCdnApi":{"type":"string","description":"CDN API (define only if you want to override CDN API endpoint)"},"edgecenterCloudApi":{"type":"string","description":"Region API (define only if you want to override Region API endpoint)"},"edgecenterDnsApi":{"type":"string","description":"DNS API (define only if you want to override DNS API endpoint)"},"edgecenterPlatform":{"type":"string","description":"Platform URL is used for generate JWT","deprecationMessage":"Deprecated"},"edgecenterPlatformApi":{"type":"string","description":"Platform URL is used for generate JWT (define only if you want to override Platform API endpoint)"},"edgecenterProtectionApi":{"type":"string","description":"Protection API (define only if you want to override Protection API endpoint)"},"edgecenterRmonApi":{"type":"string","description":"RMON API"},"edgecenterStorageApi":{"type":"string","description":"Storage API (define only if you want to override Storage API endpoint)"},"ignoreCredsAuthError":{"type":"boolean","description":"Should be set to true when you are gonna to use storage resource with permanent API-token only.","deprecationMessage":"Deprecated"},"password":{"type":"string","deprecationMessage":"Deprecated"},"permanentApiToken":{"type":"string","description":"A permanent [API-token](https://support.edgecenter.ru/knowledge_base/item/257788)","secret":true},"userName":{"type":"string","deprecationMessage":"Deprecated"}},"methods":{"terraformConfig":"pulumi:providers:edgecenter/terraformConfig"}},"resources":{"edgecenter:index/baremetal:Baremetal":{"description":"Represent baremetal instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst bm = new edgecenter.Baremetal(\"bm\", {\n    name: \"test bm instance\",\n    regionId: 1,\n    projectId: 1,\n    flavorId: \"bm1-infrastructure-small\",\n    imageId: \"1ee7ccee-5003-48c9-8ae0-d96063af75b2\",\n    keypairName: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nbm = edgecenter.Baremetal(\"bm\",\n    name=\"test bm instance\",\n    region_id=1,\n    project_id=1,\n    flavor_id=\"bm1-infrastructure-small\",\n    image_id=\"1ee7ccee-5003-48c9-8ae0-d96063af75b2\",\n    keypair_name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bm = new Edgecenter.Baremetal(\"bm\", new()\n    {\n        Name = \"test bm instance\",\n        RegionId = 1,\n        ProjectId = 1,\n        FlavorId = \"bm1-infrastructure-small\",\n        ImageId = \"1ee7ccee-5003-48c9-8ae0-d96063af75b2\",\n        KeypairName = \"test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewBaremetal(ctx, \"bm\", \u0026edgecenter.BaremetalArgs{\n\t\t\tName:        pulumi.String(\"test bm instance\"),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tFlavorId:    pulumi.String(\"bm1-infrastructure-small\"),\n\t\t\tImageId:     pulumi.String(\"1ee7ccee-5003-48c9-8ae0-d96063af75b2\"),\n\t\t\tKeypairName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Baremetal;\nimport com.pulumi.edgecenter.BaremetalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bm = new Baremetal(\"bm\", BaremetalArgs.builder()\n            .name(\"test bm instance\")\n            .regionId(1.0)\n            .projectId(1.0)\n            .flavorId(\"bm1-infrastructure-small\")\n            .imageId(\"1ee7ccee-5003-48c9-8ae0-d96063af75b2\")\n            .keypairName(\"test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bm:\n    type: edgecenter:Baremetal\n    properties:\n      name: test bm instance\n      regionId: 1\n      projectId: 1\n      flavorId: bm1-infrastructure-small\n      imageId: 1ee7ccee-5003-48c9-8ae0-d96063af75b2\n      keypairName: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cinstance_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/baremetal:Baremetal instance1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"addresses":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalAddress:BaremetalAddress"}},"appConfig":{"type":"object","additionalProperties":{"type":"string"}},"apptemplateId":{"type":"string"},"baremetalId":{"type":"string","description":"The ID of this resource.\n"},"flavor":{"type":"object","additionalProperties":{"type":"string"}},"flavorId":{"type":"string"},"imageId":{"type":"string"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalInterface:BaremetalInterface"}},"keypairName":{"type":"string"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalMetadata:BaremetalMetadata"},"deprecationMessage":"Deprecated"},"name":{"type":"string","description":"The name of the baremetal instance.\n"},"nameTemplate":{"type":"string"},"nameTemplates":{"type":"array","items":{"type":"string"},"deprecationMessage":"Deprecated"},"password":{"type":"string"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"status":{"type":"string"},"timeouts":{"$ref":"#/types/edgecenter:index%2FBaremetalTimeouts:BaremetalTimeouts"},"userData":{"type":"string"},"username":{"type":"string"},"vmState":{"type":"string"}},"type":"object","required":["addresses","baremetalId","flavor","flavorId","interfaces","lastUpdated","name","projectId","projectName","regionId","regionName","status","vmState"],"inputProperties":{"appConfig":{"type":"object","additionalProperties":{"type":"string"}},"apptemplateId":{"type":"string"},"baremetalId":{"type":"string","description":"The ID of this resource.\n"},"flavorId":{"type":"string"},"imageId":{"type":"string"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalInterface:BaremetalInterface"}},"keypairName":{"type":"string"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalMetadata:BaremetalMetadata"},"deprecationMessage":"Deprecated"},"name":{"type":"string","description":"The name of the baremetal instance.\n"},"nameTemplate":{"type":"string"},"nameTemplates":{"type":"array","items":{"type":"string"},"deprecationMessage":"Deprecated"},"password":{"type":"string"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FBaremetalTimeouts:BaremetalTimeouts"},"userData":{"type":"string"},"username":{"type":"string"}},"requiredInputs":["flavorId","interfaces"],"stateInputs":{"description":"Input properties used for looking up and filtering Baremetal resources.\n","properties":{"addresses":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalAddress:BaremetalAddress"}},"appConfig":{"type":"object","additionalProperties":{"type":"string"}},"apptemplateId":{"type":"string"},"baremetalId":{"type":"string","description":"The ID of this resource.\n"},"flavor":{"type":"object","additionalProperties":{"type":"string"}},"flavorId":{"type":"string"},"imageId":{"type":"string"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalInterface:BaremetalInterface"}},"keypairName":{"type":"string"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FBaremetalMetadata:BaremetalMetadata"},"deprecationMessage":"Deprecated"},"name":{"type":"string","description":"The name of the baremetal instance.\n"},"nameTemplate":{"type":"string"},"nameTemplates":{"type":"array","items":{"type":"string"},"deprecationMessage":"Deprecated"},"password":{"type":"string"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"status":{"type":"string"},"timeouts":{"$ref":"#/types/edgecenter:index%2FBaremetalTimeouts:BaremetalTimeouts"},"userData":{"type":"string"},"username":{"type":"string"},"vmState":{"type":"string"}},"type":"object"}},"edgecenter:index/cdnLecert:CdnLecert":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lecert = new edgecenter.CdnLecert(\"lecert\", {\n    resourceId: 12345,\n    update: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlecert = edgecenter.CdnLecert(\"lecert\",\n    resource_id=12345,\n    update=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lecert = new Edgecenter.CdnLecert(\"lecert\", new()\n    {\n        ResourceId = 12345,\n        Update = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewCdnLecert(ctx, \"lecert\", \u0026edgecenter.CdnLecertArgs{\n\t\t\tResourceId: pulumi.Float64(12345),\n\t\t\tUpdate:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.CdnLecert;\nimport com.pulumi.edgecenter.CdnLecertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lecert = new CdnLecert(\"lecert\", CdnLecertArgs.builder()\n            .resourceId(12345.0)\n            .update(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lecert:\n    type: edgecenter:CdnLecert\n    properties:\n      resourceId: 12345\n      update: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"active":{"type":"boolean","description":"Флаг отмены активного процесса выдачи SSL-сертификата Let's Encrypt.\n"},"cdnLecertId":{"type":"string","description":"The ID of this resource.\n"},"resourceId":{"type":"number","description":"ID ресурса CDN, к которому привязывается Let's Encrypt сертификат\n"},"update":{"type":"boolean","description":"Флаг обновления Let's Encrypt сертификата\n"}},"type":"object","required":["cdnLecertId","resourceId"],"inputProperties":{"active":{"type":"boolean","description":"Флаг отмены активного процесса выдачи SSL-сертификата Let's Encrypt.\n"},"cdnLecertId":{"type":"string","description":"The ID of this resource.\n"},"resourceId":{"type":"number","description":"ID ресурса CDN, к которому привязывается Let's Encrypt сертификат\n"},"update":{"type":"boolean","description":"Флаг обновления Let's Encrypt сертификата\n"}},"requiredInputs":["resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnLecert resources.\n","properties":{"active":{"type":"boolean","description":"Флаг отмены активного процесса выдачи SSL-сертификата Let's Encrypt.\n"},"cdnLecertId":{"type":"string","description":"The ID of this resource.\n"},"resourceId":{"type":"number","description":"ID ресурса CDN, к которому привязывается Let's Encrypt сертификат\n"},"update":{"type":"boolean","description":"Флаг обновления Let's Encrypt сертификата\n"}},"type":"object"}},"edgecenter:index/cdnOrigingroup:CdnOrigingroup":{"description":"Represent origin group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst originGroup1 = new edgecenter.CdnOrigingroup(\"origin_group_1\", {\n    name: \"origin_group_1\",\n    useNext: true,\n    origins: [\n        {\n            source: \"example.com\",\n            enabled: true,\n        },\n        {\n            source: \"mirror.example.com\",\n            enabled: true,\n            backup: true,\n        },\n    ],\n    authorization: {\n        accessKeyId: \"test_access_key_id\",\n        authType: \"aws_signature_v2\",\n        bucketName: \"test_bucket_name\",\n        secretKey: \"keywqueiuqwiueiqweqwiueiqwiueuiqw\",\n    },\n    consistentBalancing: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\norigin_group1 = edgecenter.CdnOrigingroup(\"origin_group_1\",\n    name=\"origin_group_1\",\n    use_next=True,\n    origins=[\n        {\n            \"source\": \"example.com\",\n            \"enabled\": True,\n        },\n        {\n            \"source\": \"mirror.example.com\",\n            \"enabled\": True,\n            \"backup\": True,\n        },\n    ],\n    authorization={\n        \"access_key_id\": \"test_access_key_id\",\n        \"auth_type\": \"aws_signature_v2\",\n        \"bucket_name\": \"test_bucket_name\",\n        \"secret_key\": \"keywqueiuqwiueiqweqwiueiqwiueuiqw\",\n    },\n    consistent_balancing=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var originGroup1 = new Edgecenter.CdnOrigingroup(\"origin_group_1\", new()\n    {\n        Name = \"origin_group_1\",\n        UseNext = true,\n        Origins = new[]\n        {\n            new Edgecenter.Inputs.CdnOrigingroupOriginArgs\n            {\n                Source = \"example.com\",\n                Enabled = true,\n            },\n            new Edgecenter.Inputs.CdnOrigingroupOriginArgs\n            {\n                Source = \"mirror.example.com\",\n                Enabled = true,\n                Backup = true,\n            },\n        },\n        Authorization = new Edgecenter.Inputs.CdnOrigingroupAuthorizationArgs\n        {\n            AccessKeyId = \"test_access_key_id\",\n            AuthType = \"aws_signature_v2\",\n            BucketName = \"test_bucket_name\",\n            SecretKey = \"keywqueiuqwiueiqweqwiueiqwiueuiqw\",\n        },\n        ConsistentBalancing = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewCdnOrigingroup(ctx, \"origin_group_1\", \u0026edgecenter.CdnOrigingroupArgs{\n\t\t\tName:    pulumi.String(\"origin_group_1\"),\n\t\t\tUseNext: pulumi.Bool(true),\n\t\t\tOrigins: edgecenter.CdnOrigingroupOriginArray{\n\t\t\t\t\u0026edgecenter.CdnOrigingroupOriginArgs{\n\t\t\t\t\tSource:  pulumi.String(\"example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.CdnOrigingroupOriginArgs{\n\t\t\t\t\tSource:  pulumi.String(\"mirror.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tBackup:  pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorization: \u0026edgecenter.CdnOrigingroupAuthorizationArgs{\n\t\t\t\tAccessKeyId: pulumi.String(\"test_access_key_id\"),\n\t\t\t\tAuthType:    pulumi.String(\"aws_signature_v2\"),\n\t\t\t\tBucketName:  pulumi.String(\"test_bucket_name\"),\n\t\t\t\tSecretKey:   pulumi.String(\"keywqueiuqwiueiqweqwiueiqwiueuiqw\"),\n\t\t\t},\n\t\t\tConsistentBalancing: 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.edgecenter.CdnOrigingroup;\nimport com.pulumi.edgecenter.CdnOrigingroupArgs;\nimport com.pulumi.edgecenter.inputs.CdnOrigingroupOriginArgs;\nimport com.pulumi.edgecenter.inputs.CdnOrigingroupAuthorizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var originGroup1 = new CdnOrigingroup(\"originGroup1\", CdnOrigingroupArgs.builder()\n            .name(\"origin_group_1\")\n            .useNext(true)\n            .origins(            \n                CdnOrigingroupOriginArgs.builder()\n                    .source(\"example.com\")\n                    .enabled(true)\n                    .build(),\n                CdnOrigingroupOriginArgs.builder()\n                    .source(\"mirror.example.com\")\n                    .enabled(true)\n                    .backup(true)\n                    .build())\n            .authorization(CdnOrigingroupAuthorizationArgs.builder()\n                .accessKeyId(\"test_access_key_id\")\n                .authType(\"aws_signature_v2\")\n                .bucketName(\"test_bucket_name\")\n                .secretKey(\"keywqueiuqwiueiqweqwiueiqwiueuiqw\")\n                .build())\n            .consistentBalancing(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  originGroup1:\n    type: edgecenter:CdnOrigingroup\n    name: origin_group_1\n    properties:\n      name: origin_group_1\n      useNext: true\n      origins:\n        - source: example.com\n          enabled: true\n        - source: mirror.example.com\n          enabled: true\n          backup: true\n      authorization:\n        accessKeyId: test_access_key_id\n        authType: aws_signature_v2\n        bucketName: test_bucket_name\n        secretKey: keywqueiuqwiueiqweqwiueiqwiueuiqw\n      consistentBalancing: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"authorization":{"$ref":"#/types/edgecenter:index%2FCdnOrigingroupAuthorization:CdnOrigingroupAuthorization","description":"Add information about authorization.\n"},"cdnOrigingroupId":{"type":"string","description":"The ID of this resource.\n"},"consistentBalancing":{"type":"boolean","description":"Consistent load balancing (consistent hashing) for the source group\n"},"name":{"type":"string","description":"Add the source group name.\n"},"origins":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FCdnOrigingroupOrigin:CdnOrigingroupOrigin"},"description":"Add information about your sources.\n"},"useNext":{"type":"boolean","description":"Specify whether or not the CDN will use the next source in the list if your source responds with an HTTP status code of 4XX or 5XX.\n"}},"type":"object","required":["cdnOrigingroupId","consistentBalancing","name","origins","useNext"],"inputProperties":{"authorization":{"$ref":"#/types/edgecenter:index%2FCdnOrigingroupAuthorization:CdnOrigingroupAuthorization","description":"Add information about authorization.\n"},"cdnOrigingroupId":{"type":"string","description":"The ID of this resource.\n"},"consistentBalancing":{"type":"boolean","description":"Consistent load balancing (consistent hashing) for the source group\n"},"name":{"type":"string","description":"Add the source group name.\n"},"origins":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FCdnOrigingroupOrigin:CdnOrigingroupOrigin"},"description":"Add information about your sources.\n"},"useNext":{"type":"boolean","description":"Specify whether or not the CDN will use the next source in the list if your source responds with an HTTP status code of 4XX or 5XX.\n"}},"requiredInputs":["consistentBalancing","origins","useNext"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnOrigingroup resources.\n","properties":{"authorization":{"$ref":"#/types/edgecenter:index%2FCdnOrigingroupAuthorization:CdnOrigingroupAuthorization","description":"Add information about authorization.\n"},"cdnOrigingroupId":{"type":"string","description":"The ID of this resource.\n"},"consistentBalancing":{"type":"boolean","description":"Consistent load balancing (consistent hashing) for the source group\n"},"name":{"type":"string","description":"Add the source group name.\n"},"origins":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FCdnOrigingroupOrigin:CdnOrigingroupOrigin"},"description":"Add information about your sources.\n"},"useNext":{"type":"boolean","description":"Specify whether or not the CDN will use the next source in the list if your source responds with an HTTP status code of 4XX or 5XX.\n"}},"type":"object"}},"edgecenter:index/cdnResource:CdnResource":{"description":"Represent CDN resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst originGroup1 = new edgecenter.CdnOrigingroup(\"origin_group_1\", {\n    name: \"origin_group_1\",\n    useNext: true,\n    origins: [\n        {\n            source: \"example.com\",\n            enabled: true,\n        },\n        {\n            source: \"mirror.example.com\",\n            enabled: true,\n            backup: true,\n        },\n    ],\n    authorization: {\n        accessKeyId: \"test_access_key_id\",\n        authType: \"aws_signature_v2\",\n        bucketName: \"test_bucket_name\",\n        secretKey: \"keywqueiuqwiueiqweqwiueiqwiueuiqw\",\n    },\n    consistentBalancing: true,\n});\nconst cdnExampleCom = new edgecenter.CdnResource(\"cdn_example_com\", {\n    cname: \"cdn.example.com\",\n    originGroup: originGroup1.cdnOrigingroupId,\n    originProtocol: \"MATCH\",\n    secondaryHostnames: [\"cdn2.example.com\"],\n    options: {\n        edgeCacheSettings: {\n            \"default\": \"8d\",\n        },\n        browserCacheSettings: {\n            value: \"1d\",\n        },\n        redirectHttpToHttps: {\n            value: true,\n        },\n        gzipCompression: {\n            enabled: true,\n            values: [\n                \"application/x-font-ttf\",\n                \"text/javascript\",\n                \"image/svg+xml\",\n                \"text/html\",\n            ],\n        },\n        cors: {\n            values: [\"*\"],\n        },\n        rewrite: {\n            body: \"/(.*) /$1\",\n        },\n        imageStack: {\n            quality: 80,\n            avifEnabled: true,\n            webpEnabled: false,\n            pngLossless: true,\n        },\n        tlsVersions: {\n            enabled: true,\n            values: [\"TLSv1.2\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\norigin_group1 = edgecenter.CdnOrigingroup(\"origin_group_1\",\n    name=\"origin_group_1\",\n    use_next=True,\n    origins=[\n        {\n            \"source\": \"example.com\",\n            \"enabled\": True,\n        },\n        {\n            \"source\": \"mirror.example.com\",\n            \"enabled\": True,\n            \"backup\": True,\n        },\n    ],\n    authorization={\n        \"access_key_id\": \"test_access_key_id\",\n        \"auth_type\": \"aws_signature_v2\",\n        \"bucket_name\": \"test_bucket_name\",\n        \"secret_key\": \"keywqueiuqwiueiqweqwiueiqwiueuiqw\",\n    },\n    consistent_balancing=True)\ncdn_example_com = edgecenter.CdnResource(\"cdn_example_com\",\n    cname=\"cdn.example.com\",\n    origin_group=origin_group1.cdn_origingroup_id,\n    origin_protocol=\"MATCH\",\n    secondary_hostnames=[\"cdn2.example.com\"],\n    options={\n        \"edge_cache_settings\": {\n            \"default\": \"8d\",\n        },\n        \"browser_cache_settings\": {\n            \"value\": \"1d\",\n        },\n        \"redirect_http_to_https\": {\n            \"value\": True,\n        },\n        \"gzip_compression\": {\n            \"enabled\": True,\n            \"values\": [\n                \"application/x-font-ttf\",\n                \"text/javascript\",\n                \"image/svg+xml\",\n                \"text/html\",\n            ],\n        },\n        \"cors\": {\n            \"values\": [\"*\"],\n        },\n        \"rewrite\": {\n            \"body\": \"/(.*) /$1\",\n        },\n        \"image_stack\": {\n            \"quality\": 80,\n            \"avif_enabled\": True,\n            \"webp_enabled\": False,\n            \"png_lossless\": True,\n        },\n        \"tls_versions\": {\n            \"enabled\": True,\n            \"values\": [\"TLSv1.2\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var originGroup1 = new Edgecenter.CdnOrigingroup(\"origin_group_1\", new()\n    {\n        Name = \"origin_group_1\",\n        UseNext = true,\n        Origins = new[]\n        {\n            new Edgecenter.Inputs.CdnOrigingroupOriginArgs\n            {\n                Source = \"example.com\",\n                Enabled = true,\n            },\n            new Edgecenter.Inputs.CdnOrigingroupOriginArgs\n            {\n                Source = \"mirror.example.com\",\n                Enabled = true,\n                Backup = true,\n            },\n        },\n        Authorization = new Edgecenter.Inputs.CdnOrigingroupAuthorizationArgs\n        {\n            AccessKeyId = \"test_access_key_id\",\n            AuthType = \"aws_signature_v2\",\n            BucketName = \"test_bucket_name\",\n            SecretKey = \"keywqueiuqwiueiqweqwiueiqwiueuiqw\",\n        },\n        ConsistentBalancing = true,\n    });\n\n    var cdnExampleCom = new Edgecenter.CdnResource(\"cdn_example_com\", new()\n    {\n        Cname = \"cdn.example.com\",\n        OriginGroup = originGroup1.CdnOrigingroupId,\n        OriginProtocol = \"MATCH\",\n        SecondaryHostnames = new[]\n        {\n            \"cdn2.example.com\",\n        },\n        Options = new Edgecenter.Inputs.CdnResourceOptionsArgs\n        {\n            EdgeCacheSettings = new Edgecenter.Inputs.CdnResourceOptionsEdgeCacheSettingsArgs\n            {\n                Default = \"8d\",\n            },\n            BrowserCacheSettings = new Edgecenter.Inputs.CdnResourceOptionsBrowserCacheSettingsArgs\n            {\n                Value = \"1d\",\n            },\n            RedirectHttpToHttps = new Edgecenter.Inputs.CdnResourceOptionsRedirectHttpToHttpsArgs\n            {\n                Value = true,\n            },\n            GzipCompression = new Edgecenter.Inputs.CdnResourceOptionsGzipCompressionArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"application/x-font-ttf\",\n                    \"text/javascript\",\n                    \"image/svg+xml\",\n                    \"text/html\",\n                },\n            },\n            Cors = new Edgecenter.Inputs.CdnResourceOptionsCorsArgs\n            {\n                Values = new[]\n                {\n                    \"*\",\n                },\n            },\n            Rewrite = new Edgecenter.Inputs.CdnResourceOptionsRewriteArgs\n            {\n                Body = \"/(.*) /$1\",\n            },\n            ImageStack = new Edgecenter.Inputs.CdnResourceOptionsImageStackArgs\n            {\n                Quality = 80,\n                AvifEnabled = true,\n                WebpEnabled = false,\n                PngLossless = true,\n            },\n            TlsVersions = new Edgecenter.Inputs.CdnResourceOptionsTlsVersionsArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"TLSv1.2\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toriginGroup1, err := edgecenter.NewCdnOrigingroup(ctx, \"origin_group_1\", \u0026edgecenter.CdnOrigingroupArgs{\n\t\t\tName:    pulumi.String(\"origin_group_1\"),\n\t\t\tUseNext: pulumi.Bool(true),\n\t\t\tOrigins: edgecenter.CdnOrigingroupOriginArray{\n\t\t\t\t\u0026edgecenter.CdnOrigingroupOriginArgs{\n\t\t\t\t\tSource:  pulumi.String(\"example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.CdnOrigingroupOriginArgs{\n\t\t\t\t\tSource:  pulumi.String(\"mirror.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tBackup:  pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAuthorization: \u0026edgecenter.CdnOrigingroupAuthorizationArgs{\n\t\t\t\tAccessKeyId: pulumi.String(\"test_access_key_id\"),\n\t\t\t\tAuthType:    pulumi.String(\"aws_signature_v2\"),\n\t\t\t\tBucketName:  pulumi.String(\"test_bucket_name\"),\n\t\t\t\tSecretKey:   pulumi.String(\"keywqueiuqwiueiqweqwiueiqwiueuiqw\"),\n\t\t\t},\n\t\t\tConsistentBalancing: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewCdnResource(ctx, \"cdn_example_com\", \u0026edgecenter.CdnResourceArgs{\n\t\t\tCname:          pulumi.String(\"cdn.example.com\"),\n\t\t\tOriginGroup:    originGroup1.CdnOrigingroupId,\n\t\t\tOriginProtocol: pulumi.String(\"MATCH\"),\n\t\t\tSecondaryHostnames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cdn2.example.com\"),\n\t\t\t},\n\t\t\tOptions: \u0026edgecenter.CdnResourceOptionsArgs{\n\t\t\t\tEdgeCacheSettings: \u0026edgecenter.CdnResourceOptionsEdgeCacheSettingsArgs{\n\t\t\t\t\tDefault: pulumi.String(\"8d\"),\n\t\t\t\t},\n\t\t\t\tBrowserCacheSettings: \u0026edgecenter.CdnResourceOptionsBrowserCacheSettingsArgs{\n\t\t\t\t\tValue: pulumi.String(\"1d\"),\n\t\t\t\t},\n\t\t\t\tRedirectHttpToHttps: \u0026edgecenter.CdnResourceOptionsRedirectHttpToHttpsArgs{\n\t\t\t\t\tValue: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tGzipCompression: \u0026edgecenter.CdnResourceOptionsGzipCompressionArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"application/x-font-ttf\"),\n\t\t\t\t\t\tpulumi.String(\"text/javascript\"),\n\t\t\t\t\t\tpulumi.String(\"image/svg+xml\"),\n\t\t\t\t\t\tpulumi.String(\"text/html\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCors: \u0026edgecenter.CdnResourceOptionsCorsArgs{\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRewrite: \u0026edgecenter.CdnResourceOptionsRewriteArgs{\n\t\t\t\t\tBody: pulumi.String(\"/(.*) /$1\"),\n\t\t\t\t},\n\t\t\t\tImageStack: \u0026edgecenter.CdnResourceOptionsImageStackArgs{\n\t\t\t\t\tQuality:     pulumi.Float64(80),\n\t\t\t\t\tAvifEnabled: pulumi.Bool(true),\n\t\t\t\t\tWebpEnabled: pulumi.Bool(false),\n\t\t\t\t\tPngLossless: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tTlsVersions: \u0026edgecenter.CdnResourceOptionsTlsVersionsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TLSv1.2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.CdnOrigingroup;\nimport com.pulumi.edgecenter.CdnOrigingroupArgs;\nimport com.pulumi.edgecenter.inputs.CdnOrigingroupOriginArgs;\nimport com.pulumi.edgecenter.inputs.CdnOrigingroupAuthorizationArgs;\nimport com.pulumi.edgecenter.CdnResource;\nimport com.pulumi.edgecenter.CdnResourceArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsEdgeCacheSettingsArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsBrowserCacheSettingsArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsRedirectHttpToHttpsArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsGzipCompressionArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsCorsArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsRewriteArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsImageStackArgs;\nimport com.pulumi.edgecenter.inputs.CdnResourceOptionsTlsVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var originGroup1 = new CdnOrigingroup(\"originGroup1\", CdnOrigingroupArgs.builder()\n            .name(\"origin_group_1\")\n            .useNext(true)\n            .origins(            \n                CdnOrigingroupOriginArgs.builder()\n                    .source(\"example.com\")\n                    .enabled(true)\n                    .build(),\n                CdnOrigingroupOriginArgs.builder()\n                    .source(\"mirror.example.com\")\n                    .enabled(true)\n                    .backup(true)\n                    .build())\n            .authorization(CdnOrigingroupAuthorizationArgs.builder()\n                .accessKeyId(\"test_access_key_id\")\n                .authType(\"aws_signature_v2\")\n                .bucketName(\"test_bucket_name\")\n                .secretKey(\"keywqueiuqwiueiqweqwiueiqwiueuiqw\")\n                .build())\n            .consistentBalancing(true)\n            .build());\n\n        var cdnExampleCom = new CdnResource(\"cdnExampleCom\", CdnResourceArgs.builder()\n            .cname(\"cdn.example.com\")\n            .originGroup(originGroup1.cdnOrigingroupId())\n            .originProtocol(\"MATCH\")\n            .secondaryHostnames(\"cdn2.example.com\")\n            .options(CdnResourceOptionsArgs.builder()\n                .edgeCacheSettings(CdnResourceOptionsEdgeCacheSettingsArgs.builder()\n                    .default_(\"8d\")\n                    .build())\n                .browserCacheSettings(CdnResourceOptionsBrowserCacheSettingsArgs.builder()\n                    .value(\"1d\")\n                    .build())\n                .redirectHttpToHttps(CdnResourceOptionsRedirectHttpToHttpsArgs.builder()\n                    .value(true)\n                    .build())\n                .gzipCompression(CdnResourceOptionsGzipCompressionArgs.builder()\n                    .enabled(true)\n                    .values(                    \n                        \"application/x-font-ttf\",\n                        \"text/javascript\",\n                        \"image/svg+xml\",\n                        \"text/html\")\n                    .build())\n                .cors(CdnResourceOptionsCorsArgs.builder()\n                    .values(\"*\")\n                    .build())\n                .rewrite(CdnResourceOptionsRewriteArgs.builder()\n                    .body(\"/(.*) /$1\")\n                    .build())\n                .imageStack(CdnResourceOptionsImageStackArgs.builder()\n                    .quality(80.0)\n                    .avifEnabled(true)\n                    .webpEnabled(false)\n                    .pngLossless(true)\n                    .build())\n                .tlsVersions(CdnResourceOptionsTlsVersionsArgs.builder()\n                    .enabled(true)\n                    .values(\"TLSv1.2\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  originGroup1:\n    type: edgecenter:CdnOrigingroup\n    name: origin_group_1\n    properties:\n      name: origin_group_1\n      useNext: true\n      origins:\n        - source: example.com\n          enabled: true\n        - source: mirror.example.com\n          enabled: true\n          backup: true\n      authorization:\n        accessKeyId: test_access_key_id\n        authType: aws_signature_v2\n        bucketName: test_bucket_name\n        secretKey: keywqueiuqwiueiqweqwiueiqwiueuiqw\n      consistentBalancing: true\n  cdnExampleCom:\n    type: edgecenter:CdnResource\n    name: cdn_example_com\n    properties:\n      cname: cdn.example.com\n      originGroup: ${originGroup1.cdnOrigingroupId}\n      originProtocol: MATCH\n      secondaryHostnames:\n        - cdn2.example.com\n      options:\n        edgeCacheSettings:\n          default: 8d\n        browserCacheSettings:\n          value: 1d\n        redirectHttpToHttps:\n          value: true\n        gzipCompression:\n          enabled: true\n          values:\n            - application/x-font-ttf\n            - text/javascript\n            - image/svg+xml\n            - text/html\n        cors:\n          values:\n            - '*'\n        rewrite:\n          body: /(.*) /$1\n        imageStack:\n          quality: 80\n          avifEnabled: true\n          webpEnabled: false\n          pngLossless: true\n        tlsVersions:\n          enabled: true\n          values:\n            - TLSv1.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"active":{"type":"boolean","description":"Enable or disable the CDN resource.\n"},"cdnResourceId":{"type":"string","description":"The ID of this resource.\n"},"cname":{"type":"string","description":"Specify a custom domain that will be used to deliver content via CDN.\n"},"description":{"type":"string","description":"Leave an optional comment that describes this CDN resource.\n"},"issueLeCert":{"type":"boolean","description":"Generate LE certificate.\n"},"options":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptions:CdnResourceOptions","description":"Each option in CDN resource settings. Each option added to CDN resource settings should have the following mandatory request fields: enabled, value.\n"},"origin":{"type":"string","description":"Enter a domain name or the IP address of your source. Specify a port if custom. You can use either \"origin\" or \u003cspan pulumi-lang-nodejs=\"\"originGroup\"\" pulumi-lang-dotnet=\"\"OriginGroup\"\" pulumi-lang-go=\"\"originGroup\"\" pulumi-lang-python=\"\"origin_group\"\" pulumi-lang-yaml=\"\"originGroup\"\" pulumi-lang-java=\"\"originGroup\"\"\u003e\"origin_group\"\u003c/span\u003e field in the request.\n"},"originGroup":{"type":"number","description":"Enter the source group ID. Use one of your source groups or create a new one. You can use either \"origin\" or \u003cspan pulumi-lang-nodejs=\"\"originGroup\"\" pulumi-lang-dotnet=\"\"OriginGroup\"\" pulumi-lang-go=\"\"originGroup\"\" pulumi-lang-python=\"\"origin_group\"\" pulumi-lang-yaml=\"\"originGroup\"\" pulumi-lang-java=\"\"originGroup\"\"\u003e\"origin_group\"\u003c/span\u003e field in the request.\n"},"originProtocol":{"type":"string","description":"Choose the protocol that will be used by CDN servers to request content from the source. If not specified, the HTTP protocol will be used. Allowed values are \"HTTPS\", \"HTTP\", or \"MATCH\". If \"MATCH\" is chosen, content on the source should be available over both HTTP and HTTPS protocols.\n"},"secondaryHostnames":{"type":"array","items":{"type":"string"},"description":"Specify up to 10 additional custom domains that will be used to deliver content via the CDN.\n"},"sslAutomated":{"type":"boolean","description":"generate LE certificate automatically.\n"},"sslData":{"type":"number","description":"Specify the SSL certificate ID which will be used for the CDN resource. The field must be used only with \u003cspan pulumi-lang-nodejs=\"\"sslEnabled\"\" pulumi-lang-dotnet=\"\"SslEnabled\"\" pulumi-lang-go=\"\"sslEnabled\"\" pulumi-lang-python=\"\"ssl_enabled\"\" pulumi-lang-yaml=\"\"sslEnabled\"\" pulumi-lang-java=\"\"sslEnabled\"\"\u003e\"ssl_enabled\"\u003c/span\u003e: true.\n"},"sslEnabled":{"type":"boolean","description":"Enable or disable the HTTPS protocol for content delivery.\n"},"sslLeEnabled":{"type":"boolean"},"status":{"type":"string","description":"CDN resource status. Allowed values are \"active\", \"suspended\", or \"processed\".\n"}},"type":"object","required":["active","cdnResourceId","cname","issueLeCert","origin","originGroup","originProtocol","secondaryHostnames","sslAutomated","sslLeEnabled","status"],"inputProperties":{"active":{"type":"boolean","description":"Enable or disable the CDN resource.\n"},"cdnResourceId":{"type":"string","description":"The ID of this resource.\n"},"cname":{"type":"string","description":"Specify a custom domain that will be used to deliver content via CDN.\n"},"description":{"type":"string","description":"Leave an optional comment that describes this CDN resource.\n"},"issueLeCert":{"type":"boolean","description":"Generate LE certificate.\n"},"options":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptions:CdnResourceOptions","description":"Each option in CDN resource settings. Each option added to CDN resource settings should have the following mandatory request fields: enabled, value.\n"},"origin":{"type":"string","description":"Enter a domain name or the IP address of your source. Specify a port if custom. You can use either \"origin\" or \u003cspan pulumi-lang-nodejs=\"\"originGroup\"\" pulumi-lang-dotnet=\"\"OriginGroup\"\" pulumi-lang-go=\"\"originGroup\"\" pulumi-lang-python=\"\"origin_group\"\" pulumi-lang-yaml=\"\"originGroup\"\" pulumi-lang-java=\"\"originGroup\"\"\u003e\"origin_group\"\u003c/span\u003e field in the request.\n"},"originGroup":{"type":"number","description":"Enter the source group ID. Use one of your source groups or create a new one. You can use either \"origin\" or \u003cspan pulumi-lang-nodejs=\"\"originGroup\"\" pulumi-lang-dotnet=\"\"OriginGroup\"\" pulumi-lang-go=\"\"originGroup\"\" pulumi-lang-python=\"\"origin_group\"\" pulumi-lang-yaml=\"\"originGroup\"\" pulumi-lang-java=\"\"originGroup\"\"\u003e\"origin_group\"\u003c/span\u003e field in the request.\n"},"originProtocol":{"type":"string","description":"Choose the protocol that will be used by CDN servers to request content from the source. If not specified, the HTTP protocol will be used. Allowed values are \"HTTPS\", \"HTTP\", or \"MATCH\". If \"MATCH\" is chosen, content on the source should be available over both HTTP and HTTPS protocols.\n"},"secondaryHostnames":{"type":"array","items":{"type":"string"},"description":"Specify up to 10 additional custom domains that will be used to deliver content via the CDN.\n"},"sslAutomated":{"type":"boolean","description":"generate LE certificate automatically.\n"},"sslData":{"type":"number","description":"Specify the SSL certificate ID which will be used for the CDN resource. The field must be used only with \u003cspan pulumi-lang-nodejs=\"\"sslEnabled\"\" pulumi-lang-dotnet=\"\"SslEnabled\"\" pulumi-lang-go=\"\"sslEnabled\"\" pulumi-lang-python=\"\"ssl_enabled\"\" pulumi-lang-yaml=\"\"sslEnabled\"\" pulumi-lang-java=\"\"sslEnabled\"\"\u003e\"ssl_enabled\"\u003c/span\u003e: true.\n"},"sslEnabled":{"type":"boolean","description":"Enable or disable the HTTPS protocol for content delivery.\n"}},"requiredInputs":["cname"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnResource resources.\n","properties":{"active":{"type":"boolean","description":"Enable or disable the CDN resource.\n"},"cdnResourceId":{"type":"string","description":"The ID of this resource.\n"},"cname":{"type":"string","description":"Specify a custom domain that will be used to deliver content via CDN.\n"},"description":{"type":"string","description":"Leave an optional comment that describes this CDN resource.\n"},"issueLeCert":{"type":"boolean","description":"Generate LE certificate.\n"},"options":{"$ref":"#/types/edgecenter:index%2FCdnResourceOptions:CdnResourceOptions","description":"Each option in CDN resource settings. Each option added to CDN resource settings should have the following mandatory request fields: enabled, value.\n"},"origin":{"type":"string","description":"Enter a domain name or the IP address of your source. Specify a port if custom. You can use either \"origin\" or \u003cspan pulumi-lang-nodejs=\"\"originGroup\"\" pulumi-lang-dotnet=\"\"OriginGroup\"\" pulumi-lang-go=\"\"originGroup\"\" pulumi-lang-python=\"\"origin_group\"\" pulumi-lang-yaml=\"\"originGroup\"\" pulumi-lang-java=\"\"originGroup\"\"\u003e\"origin_group\"\u003c/span\u003e field in the request.\n"},"originGroup":{"type":"number","description":"Enter the source group ID. Use one of your source groups or create a new one. You can use either \"origin\" or \u003cspan pulumi-lang-nodejs=\"\"originGroup\"\" pulumi-lang-dotnet=\"\"OriginGroup\"\" pulumi-lang-go=\"\"originGroup\"\" pulumi-lang-python=\"\"origin_group\"\" pulumi-lang-yaml=\"\"originGroup\"\" pulumi-lang-java=\"\"originGroup\"\"\u003e\"origin_group\"\u003c/span\u003e field in the request.\n"},"originProtocol":{"type":"string","description":"Choose the protocol that will be used by CDN servers to request content from the source. If not specified, the HTTP protocol will be used. Allowed values are \"HTTPS\", \"HTTP\", or \"MATCH\". If \"MATCH\" is chosen, content on the source should be available over both HTTP and HTTPS protocols.\n"},"secondaryHostnames":{"type":"array","items":{"type":"string"},"description":"Specify up to 10 additional custom domains that will be used to deliver content via the CDN.\n"},"sslAutomated":{"type":"boolean","description":"generate LE certificate automatically.\n"},"sslData":{"type":"number","description":"Specify the SSL certificate ID which will be used for the CDN resource. The field must be used only with \u003cspan pulumi-lang-nodejs=\"\"sslEnabled\"\" pulumi-lang-dotnet=\"\"SslEnabled\"\" pulumi-lang-go=\"\"sslEnabled\"\" pulumi-lang-python=\"\"ssl_enabled\"\" pulumi-lang-yaml=\"\"sslEnabled\"\" pulumi-lang-java=\"\"sslEnabled\"\"\u003e\"ssl_enabled\"\u003c/span\u003e: true.\n"},"sslEnabled":{"type":"boolean","description":"Enable or disable the HTTPS protocol for content delivery.\n"},"sslLeEnabled":{"type":"boolean"},"status":{"type":"string","description":"CDN resource status. Allowed values are \"active\", \"suspended\", or \"processed\".\n"}},"type":"object"}},"edgecenter:index/cdnRule:CdnRule":{"description":"Represent cdn resource rule\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst originGroup1 = new edgecenter.CdnOrigingroup(\"origin_group_1\", {\n    name: \"origin_group_1\",\n    useNext: true,\n    origins: [{\n        source: \"example.com\",\n        enabled: true,\n    }],\n});\nconst cdnExampleCom = new edgecenter.CdnResource(\"cdn_example_com\", {\n    cname: \"cdn.example.com\",\n    originGroup: originGroup1.cdnOrigingroupId,\n    originProtocol: \"MATCH\",\n    secondaryHostnames: [\"cdn2.example.com\"],\n});\nconst cdnExampleComRule1 = new edgecenter.CdnRule(\"cdn_example_com_rule_1\", {\n    resourceId: cdnExampleCom.cdnResourceId,\n    name: \"All PNG images\",\n    rule: \"/folder/images/*.svg\",\n    options: {\n        edgeCacheSettings: {\n            \"default\": \"14d\",\n        },\n        browserCacheSettings: {\n            value: \"14d\",\n        },\n        redirectHttpToHttps: {\n            value: true,\n        },\n        gzipCompression: {\n            enabled: true,\n            values: [\n                \"text/html\",\n                \"image/svg+xml\",\n            ],\n        },\n        cors: {\n            values: [\"*\"],\n        },\n        rewrite: {\n            body: \"/(.*) /$1\",\n        },\n        imageStack: {\n            quality: 80,\n            avifEnabled: true,\n            webpEnabled: false,\n            pngLossless: true,\n        },\n        ignoreQueryString: {\n            value: true,\n        },\n    },\n});\nconst cdnExampleComRule2 = new edgecenter.CdnRule(\"cdn_example_com_rule_2\", {\n    resourceId: cdnExampleCom.cdnResourceId,\n    name: \"All JS scripts\",\n    rule: \"/folder/images/*.js\",\n    originProtocol: \"HTTP\",\n    options: {\n        redirectHttpToHttps: {\n            enabled: false,\n            value: true,\n        },\n        queryParamsWhitelist: {\n            values: [\"abc\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\norigin_group1 = edgecenter.CdnOrigingroup(\"origin_group_1\",\n    name=\"origin_group_1\",\n    use_next=True,\n    origins=[{\n        \"source\": \"example.com\",\n        \"enabled\": True,\n    }])\ncdn_example_com = edgecenter.CdnResource(\"cdn_example_com\",\n    cname=\"cdn.example.com\",\n    origin_group=origin_group1.cdn_origingroup_id,\n    origin_protocol=\"MATCH\",\n    secondary_hostnames=[\"cdn2.example.com\"])\ncdn_example_com_rule1 = edgecenter.CdnRule(\"cdn_example_com_rule_1\",\n    resource_id=cdn_example_com.cdn_resource_id,\n    name=\"All PNG images\",\n    rule=\"/folder/images/*.svg\",\n    options={\n        \"edge_cache_settings\": {\n            \"default\": \"14d\",\n        },\n        \"browser_cache_settings\": {\n            \"value\": \"14d\",\n        },\n        \"redirect_http_to_https\": {\n            \"value\": True,\n        },\n        \"gzip_compression\": {\n            \"enabled\": True,\n            \"values\": [\n                \"text/html\",\n                \"image/svg+xml\",\n            ],\n        },\n        \"cors\": {\n            \"values\": [\"*\"],\n        },\n        \"rewrite\": {\n            \"body\": \"/(.*) /$1\",\n        },\n        \"image_stack\": {\n            \"quality\": 80,\n            \"avif_enabled\": True,\n            \"webp_enabled\": False,\n            \"png_lossless\": True,\n        },\n        \"ignore_query_string\": {\n            \"value\": True,\n        },\n    })\ncdn_example_com_rule2 = edgecenter.CdnRule(\"cdn_example_com_rule_2\",\n    resource_id=cdn_example_com.cdn_resource_id,\n    name=\"All JS scripts\",\n    rule=\"/folder/images/*.js\",\n    origin_protocol=\"HTTP\",\n    options={\n        \"redirect_http_to_https\": {\n            \"enabled\": False,\n            \"value\": True,\n        },\n        \"query_params_whitelist\": {\n            \"values\": [\"abc\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var originGroup1 = new Edgecenter.CdnOrigingroup(\"origin_group_1\", new()\n    {\n        Name = \"origin_group_1\",\n        UseNext = true,\n        Origins = new[]\n        {\n            new Edgecenter.Inputs.CdnOrigingroupOriginArgs\n            {\n                Source = \"example.com\",\n                Enabled = true,\n            },\n        },\n    });\n\n    var cdnExampleCom = new Edgecenter.CdnResource(\"cdn_example_com\", new()\n    {\n        Cname = \"cdn.example.com\",\n        OriginGroup = originGroup1.CdnOrigingroupId,\n        OriginProtocol = \"MATCH\",\n        SecondaryHostnames = new[]\n        {\n            \"cdn2.example.com\",\n        },\n    });\n\n    var cdnExampleComRule1 = new Edgecenter.CdnRule(\"cdn_example_com_rule_1\", new()\n    {\n        ResourceId = cdnExampleCom.CdnResourceId,\n        Name = \"All PNG images\",\n        Rule = \"/folder/images/*.svg\",\n        Options = new Edgecenter.Inputs.CdnRuleOptionsArgs\n        {\n            EdgeCacheSettings = new Edgecenter.Inputs.CdnRuleOptionsEdgeCacheSettingsArgs\n            {\n                Default = \"14d\",\n            },\n            BrowserCacheSettings = new Edgecenter.Inputs.CdnRuleOptionsBrowserCacheSettingsArgs\n            {\n                Value = \"14d\",\n            },\n            RedirectHttpToHttps = new Edgecenter.Inputs.CdnRuleOptionsRedirectHttpToHttpsArgs\n            {\n                Value = true,\n            },\n            GzipCompression = new Edgecenter.Inputs.CdnRuleOptionsGzipCompressionArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"text/html\",\n                    \"image/svg+xml\",\n                },\n            },\n            Cors = new Edgecenter.Inputs.CdnRuleOptionsCorsArgs\n            {\n                Values = new[]\n                {\n                    \"*\",\n                },\n            },\n            Rewrite = new Edgecenter.Inputs.CdnRuleOptionsRewriteArgs\n            {\n                Body = \"/(.*) /$1\",\n            },\n            ImageStack = new Edgecenter.Inputs.CdnRuleOptionsImageStackArgs\n            {\n                Quality = 80,\n                AvifEnabled = true,\n                WebpEnabled = false,\n                PngLossless = true,\n            },\n            IgnoreQueryString = new Edgecenter.Inputs.CdnRuleOptionsIgnoreQueryStringArgs\n            {\n                Value = true,\n            },\n        },\n    });\n\n    var cdnExampleComRule2 = new Edgecenter.CdnRule(\"cdn_example_com_rule_2\", new()\n    {\n        ResourceId = cdnExampleCom.CdnResourceId,\n        Name = \"All JS scripts\",\n        Rule = \"/folder/images/*.js\",\n        OriginProtocol = \"HTTP\",\n        Options = new Edgecenter.Inputs.CdnRuleOptionsArgs\n        {\n            RedirectHttpToHttps = new Edgecenter.Inputs.CdnRuleOptionsRedirectHttpToHttpsArgs\n            {\n                Enabled = false,\n                Value = true,\n            },\n            QueryParamsWhitelist = new Edgecenter.Inputs.CdnRuleOptionsQueryParamsWhitelistArgs\n            {\n                Values = new[]\n                {\n                    \"abc\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\toriginGroup1, err := edgecenter.NewCdnOrigingroup(ctx, \"origin_group_1\", \u0026edgecenter.CdnOrigingroupArgs{\n\t\t\tName:    pulumi.String(\"origin_group_1\"),\n\t\t\tUseNext: pulumi.Bool(true),\n\t\t\tOrigins: edgecenter.CdnOrigingroupOriginArray{\n\t\t\t\t\u0026edgecenter.CdnOrigingroupOriginArgs{\n\t\t\t\t\tSource:  pulumi.String(\"example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcdnExampleCom, err := edgecenter.NewCdnResource(ctx, \"cdn_example_com\", \u0026edgecenter.CdnResourceArgs{\n\t\t\tCname:          pulumi.String(\"cdn.example.com\"),\n\t\t\tOriginGroup:    originGroup1.CdnOrigingroupId,\n\t\t\tOriginProtocol: pulumi.String(\"MATCH\"),\n\t\t\tSecondaryHostnames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cdn2.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewCdnRule(ctx, \"cdn_example_com_rule_1\", \u0026edgecenter.CdnRuleArgs{\n\t\t\tResourceId: cdnExampleCom.CdnResourceId,\n\t\t\tName:       pulumi.String(\"All PNG images\"),\n\t\t\tRule:       pulumi.String(\"/folder/images/*.svg\"),\n\t\t\tOptions: \u0026edgecenter.CdnRuleOptionsArgs{\n\t\t\t\tEdgeCacheSettings: \u0026edgecenter.CdnRuleOptionsEdgeCacheSettingsArgs{\n\t\t\t\t\tDefault: pulumi.String(\"14d\"),\n\t\t\t\t},\n\t\t\t\tBrowserCacheSettings: \u0026edgecenter.CdnRuleOptionsBrowserCacheSettingsArgs{\n\t\t\t\t\tValue: pulumi.String(\"14d\"),\n\t\t\t\t},\n\t\t\t\tRedirectHttpToHttps: \u0026edgecenter.CdnRuleOptionsRedirectHttpToHttpsArgs{\n\t\t\t\t\tValue: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tGzipCompression: \u0026edgecenter.CdnRuleOptionsGzipCompressionArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"text/html\"),\n\t\t\t\t\t\tpulumi.String(\"image/svg+xml\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCors: \u0026edgecenter.CdnRuleOptionsCorsArgs{\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRewrite: \u0026edgecenter.CdnRuleOptionsRewriteArgs{\n\t\t\t\t\tBody: pulumi.String(\"/(.*) /$1\"),\n\t\t\t\t},\n\t\t\t\tImageStack: \u0026edgecenter.CdnRuleOptionsImageStackArgs{\n\t\t\t\t\tQuality:     pulumi.Float64(80),\n\t\t\t\t\tAvifEnabled: pulumi.Bool(true),\n\t\t\t\t\tWebpEnabled: pulumi.Bool(false),\n\t\t\t\t\tPngLossless: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tIgnoreQueryString: \u0026edgecenter.CdnRuleOptionsIgnoreQueryStringArgs{\n\t\t\t\t\tValue: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewCdnRule(ctx, \"cdn_example_com_rule_2\", \u0026edgecenter.CdnRuleArgs{\n\t\t\tResourceId:     cdnExampleCom.CdnResourceId,\n\t\t\tName:           pulumi.String(\"All JS scripts\"),\n\t\t\tRule:           pulumi.String(\"/folder/images/*.js\"),\n\t\t\tOriginProtocol: pulumi.String(\"HTTP\"),\n\t\t\tOptions: \u0026edgecenter.CdnRuleOptionsArgs{\n\t\t\t\tRedirectHttpToHttps: \u0026edgecenter.CdnRuleOptionsRedirectHttpToHttpsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tQueryParamsWhitelist: \u0026edgecenter.CdnRuleOptionsQueryParamsWhitelistArgs{\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"abc\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.CdnOrigingroup;\nimport com.pulumi.edgecenter.CdnOrigingroupArgs;\nimport com.pulumi.edgecenter.inputs.CdnOrigingroupOriginArgs;\nimport com.pulumi.edgecenter.CdnResource;\nimport com.pulumi.edgecenter.CdnResourceArgs;\nimport com.pulumi.edgecenter.CdnRule;\nimport com.pulumi.edgecenter.CdnRuleArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsEdgeCacheSettingsArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsBrowserCacheSettingsArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsRedirectHttpToHttpsArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsGzipCompressionArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsCorsArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsRewriteArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsImageStackArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsIgnoreQueryStringArgs;\nimport com.pulumi.edgecenter.inputs.CdnRuleOptionsQueryParamsWhitelistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var originGroup1 = new CdnOrigingroup(\"originGroup1\", CdnOrigingroupArgs.builder()\n            .name(\"origin_group_1\")\n            .useNext(true)\n            .origins(CdnOrigingroupOriginArgs.builder()\n                .source(\"example.com\")\n                .enabled(true)\n                .build())\n            .build());\n\n        var cdnExampleCom = new CdnResource(\"cdnExampleCom\", CdnResourceArgs.builder()\n            .cname(\"cdn.example.com\")\n            .originGroup(originGroup1.cdnOrigingroupId())\n            .originProtocol(\"MATCH\")\n            .secondaryHostnames(\"cdn2.example.com\")\n            .build());\n\n        var cdnExampleComRule1 = new CdnRule(\"cdnExampleComRule1\", CdnRuleArgs.builder()\n            .resourceId(cdnExampleCom.cdnResourceId())\n            .name(\"All PNG images\")\n            .rule(\"/folder/images/*.svg\")\n            .options(CdnRuleOptionsArgs.builder()\n                .edgeCacheSettings(CdnRuleOptionsEdgeCacheSettingsArgs.builder()\n                    .default_(\"14d\")\n                    .build())\n                .browserCacheSettings(CdnRuleOptionsBrowserCacheSettingsArgs.builder()\n                    .value(\"14d\")\n                    .build())\n                .redirectHttpToHttps(CdnRuleOptionsRedirectHttpToHttpsArgs.builder()\n                    .value(true)\n                    .build())\n                .gzipCompression(CdnRuleOptionsGzipCompressionArgs.builder()\n                    .enabled(true)\n                    .values(                    \n                        \"text/html\",\n                        \"image/svg+xml\")\n                    .build())\n                .cors(CdnRuleOptionsCorsArgs.builder()\n                    .values(\"*\")\n                    .build())\n                .rewrite(CdnRuleOptionsRewriteArgs.builder()\n                    .body(\"/(.*) /$1\")\n                    .build())\n                .imageStack(CdnRuleOptionsImageStackArgs.builder()\n                    .quality(80.0)\n                    .avifEnabled(true)\n                    .webpEnabled(false)\n                    .pngLossless(true)\n                    .build())\n                .ignoreQueryString(CdnRuleOptionsIgnoreQueryStringArgs.builder()\n                    .value(true)\n                    .build())\n                .build())\n            .build());\n\n        var cdnExampleComRule2 = new CdnRule(\"cdnExampleComRule2\", CdnRuleArgs.builder()\n            .resourceId(cdnExampleCom.cdnResourceId())\n            .name(\"All JS scripts\")\n            .rule(\"/folder/images/*.js\")\n            .originProtocol(\"HTTP\")\n            .options(CdnRuleOptionsArgs.builder()\n                .redirectHttpToHttps(CdnRuleOptionsRedirectHttpToHttpsArgs.builder()\n                    .enabled(false)\n                    .value(true)\n                    .build())\n                .queryParamsWhitelist(CdnRuleOptionsQueryParamsWhitelistArgs.builder()\n                    .values(\"abc\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cdnExampleComRule1:\n    type: edgecenter:CdnRule\n    name: cdn_example_com_rule_1\n    properties:\n      resourceId: ${cdnExampleCom.cdnResourceId}\n      name: All PNG images\n      rule: /folder/images/*.svg\n      options:\n        edgeCacheSettings:\n          default: 14d\n        browserCacheSettings:\n          value: 14d\n        redirectHttpToHttps:\n          value: true\n        gzipCompression:\n          enabled: true\n          values:\n            - text/html\n            - image/svg+xml\n        cors:\n          values:\n            - '*'\n        rewrite:\n          body: /(.*) /$1\n        imageStack:\n          quality: 80\n          avifEnabled: true\n          webpEnabled: false\n          pngLossless: true\n        ignoreQueryString:\n          value: true\n  cdnExampleComRule2:\n    type: edgecenter:CdnRule\n    name: cdn_example_com_rule_2\n    properties:\n      resourceId: ${cdnExampleCom.cdnResourceId}\n      name: All JS scripts\n      rule: /folder/images/*.js\n      originProtocol: HTTP\n      options:\n        redirectHttpToHttps:\n          enabled: false\n          value: true\n        queryParamsWhitelist:\n          values:\n            - abc\n  originGroup1:\n    type: edgecenter:CdnOrigingroup\n    name: origin_group_1\n    properties:\n      name: origin_group_1\n      useNext: true\n      origins:\n        - source: example.com\n          enabled: true\n  cdnExampleCom:\n    type: edgecenter:CdnResource\n    name: cdn_example_com\n    properties:\n      cname: cdn.example.com\n      originGroup: ${originGroup1.cdnOrigingroupId}\n      originProtocol: MATCH\n      secondaryHostnames:\n        - cdn2.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"active":{"type":"boolean","description":"Enable or disable the location.\n"},"cdnRuleId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Enter a location name.\n"},"options":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptions:CdnRuleOptions","description":"Each option in CDN resource settings. Each option added to CDN resource settings should have the following mandatory request fields: enabled, value.\n"},"originGroup":{"type":"number","description":"Specify a source group ID for the location. Set to \"null\" to inherit the source group from the CDN resource settings.\n"},"originProtocol":{"type":"string","description":"Choose the protocol that will be used by CDN servers to request content from the source. If not specified, the HTTP protocol will be used. Allowed values are \"HTTPS\", \"HTTP\", or \"MATCH\". If \"MATCH\" is chosen, content on the source should be available over both HTTP and HTTPS protocols.\n"},"resourceId":{"type":"number","description":"Enter the CDN resource ID to which the Origin shielding should be applied.\n"},"rule":{"type":"string","description":"Use regex to specify the location pattern to which the settings will be applied.\n"},"weight":{"type":"number","description":"Specify the location weight to determine the order in which the locations are applied: from the lowest (0) to the highest.\n"}},"type":"object","required":["active","cdnRuleId","name","originProtocol","resourceId","rule","weight"],"inputProperties":{"active":{"type":"boolean","description":"Enable or disable the location.\n"},"cdnRuleId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Enter a location name.\n"},"options":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptions:CdnRuleOptions","description":"Each option in CDN resource settings. Each option added to CDN resource settings should have the following mandatory request fields: enabled, value.\n"},"originGroup":{"type":"number","description":"Specify a source group ID for the location. Set to \"null\" to inherit the source group from the CDN resource settings.\n"},"originProtocol":{"type":"string","description":"Choose the protocol that will be used by CDN servers to request content from the source. If not specified, the HTTP protocol will be used. Allowed values are \"HTTPS\", \"HTTP\", or \"MATCH\". If \"MATCH\" is chosen, content on the source should be available over both HTTP and HTTPS protocols.\n"},"resourceId":{"type":"number","description":"Enter the CDN resource ID to which the Origin shielding should be applied.\n"},"rule":{"type":"string","description":"Use regex to specify the location pattern to which the settings will be applied.\n"},"weight":{"type":"number","description":"Specify the location weight to determine the order in which the locations are applied: from the lowest (0) to the highest.\n"}},"requiredInputs":["resourceId","rule"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnRule resources.\n","properties":{"active":{"type":"boolean","description":"Enable or disable the location.\n"},"cdnRuleId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Enter a location name.\n"},"options":{"$ref":"#/types/edgecenter:index%2FCdnRuleOptions:CdnRuleOptions","description":"Each option in CDN resource settings. Each option added to CDN resource settings should have the following mandatory request fields: enabled, value.\n"},"originGroup":{"type":"number","description":"Specify a source group ID for the location. Set to \"null\" to inherit the source group from the CDN resource settings.\n"},"originProtocol":{"type":"string","description":"Choose the protocol that will be used by CDN servers to request content from the source. If not specified, the HTTP protocol will be used. Allowed values are \"HTTPS\", \"HTTP\", or \"MATCH\". If \"MATCH\" is chosen, content on the source should be available over both HTTP and HTTPS protocols.\n"},"resourceId":{"type":"number","description":"Enter the CDN resource ID to which the Origin shielding should be applied.\n"},"rule":{"type":"string","description":"Use regex to specify the location pattern to which the settings will be applied.\n"},"weight":{"type":"number","description":"Specify the location weight to determine the order in which the locations are applied: from the lowest (0) to the highest.\n"}},"type":"object"}},"edgecenter:index/cdnShielding:CdnShielding":{"description":"Represent origin shielding\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst sourceGroup1 = new edgecenter.CdnOrigingroup(\"source_group_1\", {\n    name: \"Source group 1\",\n    useNext: true,\n    origins: [{\n        source: \"example.com\",\n        enabled: true,\n    }],\n});\nconst cdnRes1 = new edgecenter.CdnResource(\"cdn_res_1\", {\n    cname: \"cdn.example.com\",\n    originGroup: sourceGroup1.cdnOrigingroupId,\n});\nconst shieldDc = edgecenter.getCdnShieldingLocation({\n    datacenter: \"dt\",\n});\nconst shielding = new edgecenter.CdnShielding(\"shielding\", {\n    resourceId: cdnRes1.cdnResourceId,\n    shieldingPop: shieldDc.then(shieldDc =\u003e shieldDc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nsource_group1 = edgecenter.CdnOrigingroup(\"source_group_1\",\n    name=\"Source group 1\",\n    use_next=True,\n    origins=[{\n        \"source\": \"example.com\",\n        \"enabled\": True,\n    }])\ncdn_res1 = edgecenter.CdnResource(\"cdn_res_1\",\n    cname=\"cdn.example.com\",\n    origin_group=source_group1.cdn_origingroup_id)\nshield_dc = edgecenter.get_cdn_shielding_location(datacenter=\"dt\")\nshielding = edgecenter.CdnShielding(\"shielding\",\n    resource_id=cdn_res1.cdn_resource_id,\n    shielding_pop=shield_dc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sourceGroup1 = new Edgecenter.CdnOrigingroup(\"source_group_1\", new()\n    {\n        Name = \"Source group 1\",\n        UseNext = true,\n        Origins = new[]\n        {\n            new Edgecenter.Inputs.CdnOrigingroupOriginArgs\n            {\n                Source = \"example.com\",\n                Enabled = true,\n            },\n        },\n    });\n\n    var cdnRes1 = new Edgecenter.CdnResource(\"cdn_res_1\", new()\n    {\n        Cname = \"cdn.example.com\",\n        OriginGroup = sourceGroup1.CdnOrigingroupId,\n    });\n\n    var shieldDc = Edgecenter.GetCdnShieldingLocation.Invoke(new()\n    {\n        Datacenter = \"dt\",\n    });\n\n    var shielding = new Edgecenter.CdnShielding(\"shielding\", new()\n    {\n        ResourceId = cdnRes1.CdnResourceId,\n        ShieldingPop = shieldDc.Apply(getCdnShieldingLocationResult =\u003e getCdnShieldingLocationResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsourceGroup1, err := edgecenter.NewCdnOrigingroup(ctx, \"source_group_1\", \u0026edgecenter.CdnOrigingroupArgs{\n\t\t\tName:    pulumi.String(\"Source group 1\"),\n\t\t\tUseNext: pulumi.Bool(true),\n\t\t\tOrigins: edgecenter.CdnOrigingroupOriginArray{\n\t\t\t\t\u0026edgecenter.CdnOrigingroupOriginArgs{\n\t\t\t\t\tSource:  pulumi.String(\"example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcdnRes1, err := edgecenter.NewCdnResource(ctx, \"cdn_res_1\", \u0026edgecenter.CdnResourceArgs{\n\t\t\tCname:       pulumi.String(\"cdn.example.com\"),\n\t\t\tOriginGroup: sourceGroup1.CdnOrigingroupId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshieldDc, err := edgecenter.GetCdnShieldingLocation(ctx, \u0026edgecenter.GetCdnShieldingLocationArgs{\n\t\t\tDatacenter: \"dt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewCdnShielding(ctx, \"shielding\", \u0026edgecenter.CdnShieldingArgs{\n\t\t\tResourceId:   cdnRes1.CdnResourceId,\n\t\t\tShieldingPop: pulumi.String(shieldDc.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.edgecenter.CdnOrigingroup;\nimport com.pulumi.edgecenter.CdnOrigingroupArgs;\nimport com.pulumi.edgecenter.inputs.CdnOrigingroupOriginArgs;\nimport com.pulumi.edgecenter.CdnResource;\nimport com.pulumi.edgecenter.CdnResourceArgs;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetCdnShieldingLocationArgs;\nimport com.pulumi.edgecenter.CdnShielding;\nimport com.pulumi.edgecenter.CdnShieldingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sourceGroup1 = new CdnOrigingroup(\"sourceGroup1\", CdnOrigingroupArgs.builder()\n            .name(\"Source group 1\")\n            .useNext(true)\n            .origins(CdnOrigingroupOriginArgs.builder()\n                .source(\"example.com\")\n                .enabled(true)\n                .build())\n            .build());\n\n        var cdnRes1 = new CdnResource(\"cdnRes1\", CdnResourceArgs.builder()\n            .cname(\"cdn.example.com\")\n            .originGroup(sourceGroup1.cdnOrigingroupId())\n            .build());\n\n        final var shieldDc = EdgecenterFunctions.getCdnShieldingLocation(GetCdnShieldingLocationArgs.builder()\n            .datacenter(\"dt\")\n            .build());\n\n        var shielding = new CdnShielding(\"shielding\", CdnShieldingArgs.builder()\n            .resourceId(cdnRes1.cdnResourceId())\n            .shieldingPop(shieldDc.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sourceGroup1:\n    type: edgecenter:CdnOrigingroup\n    name: source_group_1\n    properties:\n      name: Source group 1\n      useNext: true\n      origins:\n        - source: example.com\n          enabled: true\n  cdnRes1:\n    type: edgecenter:CdnResource\n    name: cdn_res_1\n    properties:\n      cname: cdn.example.com\n      originGroup: ${sourceGroup1.cdnOrigingroupId}\n  shielding:\n    type: edgecenter:CdnShielding\n    properties:\n      resourceId: ${cdnRes1.cdnResourceId}\n      shieldingPop: ${shieldDc.id}\nvariables:\n  shieldDc:\n    fn::invoke:\n      function: edgecenter:getCdnShieldingLocation\n      arguments:\n        datacenter: dt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cdnShieldingId":{"type":"string","description":"The ID of this resource.\n"},"resourceId":{"type":"number","description":"Enter the CDN resource ID to which the Origin shielding should be applied.\n"},"shieldingPop":{"type":"number","description":"Set the origin shielding location ID or disable the option using the null value.\n"}},"type":"object","required":["cdnShieldingId","resourceId","shieldingPop"],"inputProperties":{"cdnShieldingId":{"type":"string","description":"The ID of this resource.\n"},"resourceId":{"type":"number","description":"Enter the CDN resource ID to which the Origin shielding should be applied.\n"},"shieldingPop":{"type":"number","description":"Set the origin shielding location ID or disable the option using the null value.\n"}},"requiredInputs":["resourceId","shieldingPop"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnShielding resources.\n","properties":{"cdnShieldingId":{"type":"string","description":"The ID of this resource.\n"},"resourceId":{"type":"number","description":"Enter the CDN resource ID to which the Origin shielding should be applied.\n"},"shieldingPop":{"type":"number","description":"Set the origin shielding location ID or disable the option using the null value.\n"}},"type":"object"}},"edgecenter:index/cdnSslcert:CdnSslcert":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst config = new pulumi.Config();\nconst cert = config.require(\"cert\");\nconst privateKey = config.require(\"privateKey\");\nconst cdnoptCert = new edgecenter.CdnSslcert(\"cdnopt_cert\", {\n    name: \"Test cert for cdnopt_bookatest_by\",\n    cert: cert,\n    privateKey: privateKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nconfig = pulumi.Config()\ncert = config.require(\"cert\")\nprivate_key = config.require(\"privateKey\")\ncdnopt_cert = edgecenter.CdnSslcert(\"cdnopt_cert\",\n    name=\"Test cert for cdnopt_bookatest_by\",\n    cert=cert,\n    private_key=private_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var cert = config.Require(\"cert\");\n    var privateKey = config.Require(\"privateKey\");\n    var cdnoptCert = new Edgecenter.CdnSslcert(\"cdnopt_cert\", new()\n    {\n        Name = \"Test cert for cdnopt_bookatest_by\",\n        Cert = cert,\n        PrivateKey = privateKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcert := cfg.Require(\"cert\")\n\t\tprivateKey := cfg.Require(\"privateKey\")\n\t\t_, err := edgecenter.NewCdnSslcert(ctx, \"cdnopt_cert\", \u0026edgecenter.CdnSslcertArgs{\n\t\t\tName:       pulumi.String(\"Test cert for cdnopt_bookatest_by\"),\n\t\t\tCert:       pulumi.String(cert),\n\t\t\tPrivateKey: pulumi.String(privateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.CdnSslcert;\nimport com.pulumi.edgecenter.CdnSslcertArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var cert = config.get(\"cert\");\n        final var privateKey = config.get(\"privateKey\");\n        var cdnoptCert = new CdnSslcert(\"cdnoptCert\", CdnSslcertArgs.builder()\n            .name(\"Test cert for cdnopt_bookatest_by\")\n            .cert(cert)\n            .privateKey(privateKey)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  cert:\n    type: string\n  privateKey:\n    type: string\nresources:\n  cdnoptCert:\n    type: edgecenter:CdnSslcert\n    name: cdnopt_cert\n    properties:\n      name: Test cert for cdnopt_bookatest_by\n      cert: ${cert}\n      privateKey: ${privateKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"automated":{"type":"boolean","description":"Shows how the SSL certificate was added to the account. If set to \"true\", this is an automatically issued Let's Encrypt certificate. If set to \"false\", the SSL certificate was added by a user.\n"},"cdnSslcertId":{"type":"string","description":"The ID of this resource.\n"},"cert":{"type":"string","description":"Enter the public part of the SSL certificate. Add all the certificate chains. Each certificate chain should be separated by '\\n'.\n","secret":true},"hasRelatedResources":{"type":"boolean","description":"If set to \"true\", the SSL certificate is used by a CDN resource.\n"},"name":{"type":"string","description":"Enter the SSL certificate name. It must be unique.\n"},"privateKey":{"type":"string","description":"Enter the private key of the SSL certificate. Add all the certificate chains. The private key should be separated by '\\n', as shown in the example.\n","secret":true}},"type":"object","required":["automated","cdnSslcertId","cert","hasRelatedResources","name","privateKey"],"inputProperties":{"cdnSslcertId":{"type":"string","description":"The ID of this resource.\n"},"cert":{"type":"string","description":"Enter the public part of the SSL certificate. Add all the certificate chains. Each certificate chain should be separated by '\\n'.\n","secret":true},"name":{"type":"string","description":"Enter the SSL certificate name. It must be unique.\n"},"privateKey":{"type":"string","description":"Enter the private key of the SSL certificate. Add all the certificate chains. The private key should be separated by '\\n', as shown in the example.\n","secret":true}},"requiredInputs":["cert","privateKey"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnSslcert resources.\n","properties":{"automated":{"type":"boolean","description":"Shows how the SSL certificate was added to the account. If set to \"true\", this is an automatically issued Let's Encrypt certificate. If set to \"false\", the SSL certificate was added by a user.\n"},"cdnSslcertId":{"type":"string","description":"The ID of this resource.\n"},"cert":{"type":"string","description":"Enter the public part of the SSL certificate. Add all the certificate chains. Each certificate chain should be separated by '\\n'.\n","secret":true},"hasRelatedResources":{"type":"boolean","description":"If set to \"true\", the SSL certificate is used by a CDN resource.\n"},"name":{"type":"string","description":"Enter the SSL certificate name. It must be unique.\n"},"privateKey":{"type":"string","description":"Enter the private key of the SSL certificate. Add all the certificate chains. The private key should be separated by '\\n', as shown in the example.\n","secret":true}},"type":"object"}},"edgecenter:index/dnsZone:DnsZone":{"description":"Represent DNS zone resource. https://dns.edgecenter.ru/zones\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst exampleZone = new edgecenter.DnsZone(\"example_zone\", {name: \"example_zone.com\"});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample_zone = edgecenter.DnsZone(\"example_zone\", name=\"example_zone.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleZone = new Edgecenter.DnsZone(\"example_zone\", new()\n    {\n        Name = \"example_zone.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewDnsZone(ctx, \"example_zone\", \u0026edgecenter.DnsZoneArgs{\n\t\t\tName: pulumi.String(\"example_zone.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.DnsZone;\nimport com.pulumi.edgecenter.DnsZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleZone = new DnsZone(\"exampleZone\", DnsZoneArgs.builder()\n            .name(\"example_zone.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleZone:\n    type: edgecenter:DnsZone\n    name: example_zone\n    properties:\n      name: example_zone.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using zone name format\n\n```sh\n$ pulumi import edgecenter:index/dnsZone:DnsZone example_zone example_zone.com\n```\n\n","properties":{"dnsZoneId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"A name of DNS Zone resource.\n"}},"type":"object","required":["dnsZoneId","name"],"inputProperties":{"dnsZoneId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"A name of DNS Zone resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering DnsZone resources.\n","properties":{"dnsZoneId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"A name of DNS Zone resource.\n"}},"type":"object"}},"edgecenter:index/dnsZoneRecord:DnsZoneRecord":{"description":"Represent DNS Zone Record resource. https://dns.edgecenter.ru/zones\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst config = new pulumi.Config();\nconst exampleDomain0 = config.get(\"exampleDomain0\") || \"examplezone.com\";\nconst examplezone0 = new edgecenter.DnsZone(\"examplezone0\", {name: exampleDomain0});\nconst exampleRrset0 = new edgecenter.DnsZoneRecord(\"example_rrset0\", {\n    zone: examplezone0.name,\n    domain: examplezone0.name,\n    type: \"A\",\n    ttl: 100,\n    meta: {},\n    resourceRecords: [\n        {\n            content: \"127.0.0.100\",\n        },\n        {\n            content: \"127.0.0.200\",\n        },\n    ],\n});\nconst subdomainExamplezone = new edgecenter.DnsZoneRecord(\"subdomain_examplezone\", {\n    zone: \"examplezone.com\",\n    domain: \"subdomain.examplezone.com\",\n    type: \"TXT\",\n    ttl: 10,\n    filters: [{\n        type: \"geodistance\",\n        limit: 1,\n        strict: true,\n    }],\n    meta: {},\n    resourceRecords: [{\n        content: \"1234\",\n        enabled: true,\n        meta: {\n            latlongs: [\n                52.367,\n                4.9041,\n            ],\n            asns: [12345],\n            ips: [\"1.1.1.1\"],\n            notes: [\"notes\"],\n            continents: [\"asia\"],\n            countries: [\"russia\"],\n            \"default\": true,\n        },\n    }],\n});\nconst subdomainExamplezoneMx = new edgecenter.DnsZoneRecord(\"subdomain_examplezone_mx\", {\n    zone: \"examplezone.com\",\n    domain: \"subdomain.examplezone.com\",\n    type: \"MX\",\n    ttl: 10,\n    meta: {},\n    resourceRecords: [{\n        content: \"10 mail.my.com.\",\n        enabled: true,\n    }],\n});\nconst string = \"0 issue \\\"company.org;account=12345\\\"\";\nconst subdomainExamplezoneCaa = new edgecenter.DnsZoneRecord(\"subdomain_examplezone_caa\", {\n    zone: \"examplezone.com\",\n    domain: \"subdomain.examplezone.com\",\n    type: \"CAA\",\n    ttl: 10,\n    meta: {},\n    resourceRecords: [{\n        content: string,\n        enabled: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nconfig = pulumi.Config()\nexample_domain0 = config.get(\"exampleDomain0\")\nif example_domain0 is None:\n    example_domain0 = \"examplezone.com\"\nexamplezone0 = edgecenter.DnsZone(\"examplezone0\", name=example_domain0)\nexample_rrset0 = edgecenter.DnsZoneRecord(\"example_rrset0\",\n    zone=examplezone0.name,\n    domain=examplezone0.name,\n    type=\"A\",\n    ttl=100,\n    meta={},\n    resource_records=[\n        {\n            \"content\": \"127.0.0.100\",\n        },\n        {\n            \"content\": \"127.0.0.200\",\n        },\n    ])\nsubdomain_examplezone = edgecenter.DnsZoneRecord(\"subdomain_examplezone\",\n    zone=\"examplezone.com\",\n    domain=\"subdomain.examplezone.com\",\n    type=\"TXT\",\n    ttl=10,\n    filters=[{\n        \"type\": \"geodistance\",\n        \"limit\": 1,\n        \"strict\": True,\n    }],\n    meta={},\n    resource_records=[{\n        \"content\": \"1234\",\n        \"enabled\": True,\n        \"meta\": {\n            \"latlongs\": [\n                52.367,\n                4.9041,\n            ],\n            \"asns\": [12345],\n            \"ips\": [\"1.1.1.1\"],\n            \"notes\": [\"notes\"],\n            \"continents\": [\"asia\"],\n            \"countries\": [\"russia\"],\n            \"default\": True,\n        },\n    }])\nsubdomain_examplezone_mx = edgecenter.DnsZoneRecord(\"subdomain_examplezone_mx\",\n    zone=\"examplezone.com\",\n    domain=\"subdomain.examplezone.com\",\n    type=\"MX\",\n    ttl=10,\n    meta={},\n    resource_records=[{\n        \"content\": \"10 mail.my.com.\",\n        \"enabled\": True,\n    }])\nstring = \"0 issue \\\"company.org;account=12345\\\"\"\nsubdomain_examplezone_caa = edgecenter.DnsZoneRecord(\"subdomain_examplezone_caa\",\n    zone=\"examplezone.com\",\n    domain=\"subdomain.examplezone.com\",\n    type=\"CAA\",\n    ttl=10,\n    meta={},\n    resource_records=[{\n        \"content\": string,\n        \"enabled\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var exampleDomain0 = config.Get(\"exampleDomain0\") ?? \"examplezone.com\";\n    var examplezone0 = new Edgecenter.DnsZone(\"examplezone0\", new()\n    {\n        Name = exampleDomain0,\n    });\n\n    var exampleRrset0 = new Edgecenter.DnsZoneRecord(\"example_rrset0\", new()\n    {\n        Zone = examplezone0.Name,\n        Domain = examplezone0.Name,\n        Type = \"A\",\n        Ttl = 100,\n        Meta = null,\n        ResourceRecords = new[]\n        {\n            new Edgecenter.Inputs.DnsZoneRecordResourceRecordArgs\n            {\n                Content = \"127.0.0.100\",\n            },\n            new Edgecenter.Inputs.DnsZoneRecordResourceRecordArgs\n            {\n                Content = \"127.0.0.200\",\n            },\n        },\n    });\n\n    var subdomainExamplezone = new Edgecenter.DnsZoneRecord(\"subdomain_examplezone\", new()\n    {\n        Zone = \"examplezone.com\",\n        Domain = \"subdomain.examplezone.com\",\n        Type = \"TXT\",\n        Ttl = 10,\n        Filters = new[]\n        {\n            new Edgecenter.Inputs.DnsZoneRecordFilterArgs\n            {\n                Type = \"geodistance\",\n                Limit = 1,\n                Strict = true,\n            },\n        },\n        Meta = null,\n        ResourceRecords = new[]\n        {\n            new Edgecenter.Inputs.DnsZoneRecordResourceRecordArgs\n            {\n                Content = \"1234\",\n                Enabled = true,\n                Meta = new Edgecenter.Inputs.DnsZoneRecordResourceRecordMetaArgs\n                {\n                    Latlongs = new[]\n                    {\n                        52.367,\n                        4.9041,\n                    },\n                    Asns = new[]\n                    {\n                        12345,\n                    },\n                    Ips = new[]\n                    {\n                        \"1.1.1.1\",\n                    },\n                    Notes = new[]\n                    {\n                        \"notes\",\n                    },\n                    Continents = new[]\n                    {\n                        \"asia\",\n                    },\n                    Countries = new[]\n                    {\n                        \"russia\",\n                    },\n                    Default = true,\n                },\n            },\n        },\n    });\n\n    var subdomainExamplezoneMx = new Edgecenter.DnsZoneRecord(\"subdomain_examplezone_mx\", new()\n    {\n        Zone = \"examplezone.com\",\n        Domain = \"subdomain.examplezone.com\",\n        Type = \"MX\",\n        Ttl = 10,\n        Meta = null,\n        ResourceRecords = new[]\n        {\n            new Edgecenter.Inputs.DnsZoneRecordResourceRecordArgs\n            {\n                Content = \"10 mail.my.com.\",\n                Enabled = true,\n            },\n        },\n    });\n\n    var @string = \"0 issue \\\"company.org;account=12345\\\"\";\n\n    var subdomainExamplezoneCaa = new Edgecenter.DnsZoneRecord(\"subdomain_examplezone_caa\", new()\n    {\n        Zone = \"examplezone.com\",\n        Domain = \"subdomain.examplezone.com\",\n        Type = \"CAA\",\n        Ttl = 10,\n        Meta = null,\n        ResourceRecords = new[]\n        {\n            new Edgecenter.Inputs.DnsZoneRecordResourceRecordArgs\n            {\n                Content = @string,\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\texampleDomain0 := \"examplezone.com\"\n\t\tif param := cfg.Get(\"exampleDomain0\"); param != \"\" {\n\t\t\texampleDomain0 = param\n\t\t}\n\t\texamplezone0, err := edgecenter.NewDnsZone(ctx, \"examplezone0\", \u0026edgecenter.DnsZoneArgs{\n\t\t\tName: pulumi.String(exampleDomain0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewDnsZoneRecord(ctx, \"example_rrset0\", \u0026edgecenter.DnsZoneRecordArgs{\n\t\t\tZone:   examplezone0.Name,\n\t\t\tDomain: examplezone0.Name,\n\t\t\tType:   pulumi.String(\"A\"),\n\t\t\tTtl:    pulumi.Float64(100),\n\t\t\tMeta:   \u0026edgecenter.DnsZoneRecordMetaArgs{},\n\t\t\tResourceRecords: edgecenter.DnsZoneRecordResourceRecordArray{\n\t\t\t\t\u0026edgecenter.DnsZoneRecordResourceRecordArgs{\n\t\t\t\t\tContent: pulumi.String(\"127.0.0.100\"),\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.DnsZoneRecordResourceRecordArgs{\n\t\t\t\t\tContent: pulumi.String(\"127.0.0.200\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewDnsZoneRecord(ctx, \"subdomain_examplezone\", \u0026edgecenter.DnsZoneRecordArgs{\n\t\t\tZone:   pulumi.String(\"examplezone.com\"),\n\t\t\tDomain: pulumi.String(\"subdomain.examplezone.com\"),\n\t\t\tType:   pulumi.String(\"TXT\"),\n\t\t\tTtl:    pulumi.Float64(10),\n\t\t\tFilters: edgecenter.DnsZoneRecordFilterArray{\n\t\t\t\t\u0026edgecenter.DnsZoneRecordFilterArgs{\n\t\t\t\t\tType:   pulumi.String(\"geodistance\"),\n\t\t\t\t\tLimit:  pulumi.Float64(1),\n\t\t\t\t\tStrict: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMeta: \u0026edgecenter.DnsZoneRecordMetaArgs{},\n\t\t\tResourceRecords: edgecenter.DnsZoneRecordResourceRecordArray{\n\t\t\t\t\u0026edgecenter.DnsZoneRecordResourceRecordArgs{\n\t\t\t\t\tContent: pulumi.String(\"1234\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tMeta: \u0026edgecenter.DnsZoneRecordResourceRecordMetaArgs{\n\t\t\t\t\t\tLatlongs: pulumi.Float64Array{\n\t\t\t\t\t\t\tpulumi.Float64(52.367),\n\t\t\t\t\t\t\tpulumi.Float64(4.9041),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tAsns: pulumi.Float64Array{\n\t\t\t\t\t\t\tpulumi.Float64(12345),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tNotes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"notes\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContinents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"asia\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountries: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"russia\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewDnsZoneRecord(ctx, \"subdomain_examplezone_mx\", \u0026edgecenter.DnsZoneRecordArgs{\n\t\t\tZone:   pulumi.String(\"examplezone.com\"),\n\t\t\tDomain: pulumi.String(\"subdomain.examplezone.com\"),\n\t\t\tType:   pulumi.String(\"MX\"),\n\t\t\tTtl:    pulumi.Float64(10),\n\t\t\tMeta:   \u0026edgecenter.DnsZoneRecordMetaArgs{},\n\t\t\tResourceRecords: edgecenter.DnsZoneRecordResourceRecordArray{\n\t\t\t\t\u0026edgecenter.DnsZoneRecordResourceRecordArgs{\n\t\t\t\t\tContent: pulumi.String(\"10 mail.my.com.\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tstring := \"0 issue \\\"company.org;account=12345\\\"\"\n\t\t_, err = edgecenter.NewDnsZoneRecord(ctx, \"subdomain_examplezone_caa\", \u0026edgecenter.DnsZoneRecordArgs{\n\t\t\tZone:   pulumi.String(\"examplezone.com\"),\n\t\t\tDomain: pulumi.String(\"subdomain.examplezone.com\"),\n\t\t\tType:   pulumi.String(\"CAA\"),\n\t\t\tTtl:    pulumi.Float64(10),\n\t\t\tMeta:   \u0026edgecenter.DnsZoneRecordMetaArgs{},\n\t\t\tResourceRecords: edgecenter.DnsZoneRecordResourceRecordArray{\n\t\t\t\t\u0026edgecenter.DnsZoneRecordResourceRecordArgs{\n\t\t\t\t\tContent: pulumi.String(string),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.DnsZone;\nimport com.pulumi.edgecenter.DnsZoneArgs;\nimport com.pulumi.edgecenter.DnsZoneRecord;\nimport com.pulumi.edgecenter.DnsZoneRecordArgs;\nimport com.pulumi.edgecenter.inputs.DnsZoneRecordMetaArgs;\nimport com.pulumi.edgecenter.inputs.DnsZoneRecordResourceRecordArgs;\nimport com.pulumi.edgecenter.inputs.DnsZoneRecordFilterArgs;\nimport com.pulumi.edgecenter.inputs.DnsZoneRecordResourceRecordMetaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var exampleDomain0 = config.get(\"exampleDomain0\").orElse(\"examplezone.com\");\n        var examplezone0 = new DnsZone(\"examplezone0\", DnsZoneArgs.builder()\n            .name(exampleDomain0)\n            .build());\n\n        var exampleRrset0 = new DnsZoneRecord(\"exampleRrset0\", DnsZoneRecordArgs.builder()\n            .zone(examplezone0.name())\n            .domain(examplezone0.name())\n            .type(\"A\")\n            .ttl(100.0)\n            .meta(DnsZoneRecordMetaArgs.builder()\n                .build())\n            .resourceRecords(            \n                DnsZoneRecordResourceRecordArgs.builder()\n                    .content(\"127.0.0.100\")\n                    .build(),\n                DnsZoneRecordResourceRecordArgs.builder()\n                    .content(\"127.0.0.200\")\n                    .build())\n            .build());\n\n        var subdomainExamplezone = new DnsZoneRecord(\"subdomainExamplezone\", DnsZoneRecordArgs.builder()\n            .zone(\"examplezone.com\")\n            .domain(\"subdomain.examplezone.com\")\n            .type(\"TXT\")\n            .ttl(10.0)\n            .filters(DnsZoneRecordFilterArgs.builder()\n                .type(\"geodistance\")\n                .limit(1.0)\n                .strict(true)\n                .build())\n            .meta(DnsZoneRecordMetaArgs.builder()\n                .build())\n            .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()\n                .content(\"1234\")\n                .enabled(true)\n                .meta(DnsZoneRecordResourceRecordMetaArgs.builder()\n                    .latlongs(                    \n                        52.367,\n                        4.9041)\n                    .asns(12345.0)\n                    .ips(\"1.1.1.1\")\n                    .notes(\"notes\")\n                    .continents(\"asia\")\n                    .countries(\"russia\")\n                    .default_(true)\n                    .build())\n                .build())\n            .build());\n\n        var subdomainExamplezoneMx = new DnsZoneRecord(\"subdomainExamplezoneMx\", DnsZoneRecordArgs.builder()\n            .zone(\"examplezone.com\")\n            .domain(\"subdomain.examplezone.com\")\n            .type(\"MX\")\n            .ttl(10.0)\n            .meta(DnsZoneRecordMetaArgs.builder()\n                .build())\n            .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()\n                .content(\"10 mail.my.com.\")\n                .enabled(true)\n                .build())\n            .build());\n\n        final var string = \"0 issue \\\"company.org;account=12345\\\"\";\n\n        var subdomainExamplezoneCaa = new DnsZoneRecord(\"subdomainExamplezoneCaa\", DnsZoneRecordArgs.builder()\n            .zone(\"examplezone.com\")\n            .domain(\"subdomain.examplezone.com\")\n            .type(\"CAA\")\n            .ttl(10.0)\n            .meta(DnsZoneRecordMetaArgs.builder()\n                .build())\n            .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()\n                .content(string)\n                .enabled(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  # // example0: managing zone and records by TF using variables\n  # //\n  exampleDomain0:\n    type: string\n    default: examplezone.com\nresources:\n  examplezone0:\n    type: edgecenter:DnsZone\n    properties:\n      name: ${exampleDomain0}\n  exampleRrset0:\n    type: edgecenter:DnsZoneRecord\n    name: example_rrset0\n    properties:\n      zone: ${examplezone0.name}\n      domain: ${examplezone0.name}\n      type: A\n      ttl: 100\n      meta: {}\n      resourceRecords:\n        - content: 127.0.0.100\n        - content: 127.0.0.200\n  subdomainExamplezone:\n    type: edgecenter:DnsZoneRecord\n    name: subdomain_examplezone\n    properties:\n      zone: examplezone.com\n      domain: subdomain.examplezone.com\n      type: TXT\n      ttl: 10\n      filters:\n        - type: geodistance\n          limit: 1\n          strict: true\n      meta: {}\n      resourceRecords:\n        - content: '1234'\n          enabled: true\n          meta:\n            latlongs:\n              - 52.367\n              - 4.9041\n            asns:\n              - 12345\n            ips:\n              - 1.1.1.1\n            notes:\n              - notes\n            continents:\n              - asia\n            countries:\n              - russia\n            default: true\n  subdomainExamplezoneMx:\n    type: edgecenter:DnsZoneRecord\n    name: subdomain_examplezone_mx\n    properties:\n      zone: examplezone.com\n      domain: subdomain.examplezone.com\n      type: MX\n      ttl: 10\n      meta: {}\n      resourceRecords:\n        - content: 10 mail.my.com.\n          enabled: true\n  subdomainExamplezoneCaa:\n    type: edgecenter:DnsZoneRecord\n    name: subdomain_examplezone_caa\n    properties:\n      zone: examplezone.com\n      domain: subdomain.examplezone.com\n      type: CAA\n      ttl: 10\n      meta: {}\n      resourceRecords:\n        - content: ${string}\n          enabled: true\nvariables:\n  string: 0 issue \"company.org;account=12345\"\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using zone:domain:type format\n\n```sh\n$ pulumi import edgecenter:index/dnsZoneRecord:DnsZoneRecord example_rrset0 example.com:domain.example.com:A\n```\n\n","properties":{"dnsZoneRecordId":{"type":"string","description":"The ID of this resource.\n"},"domain":{"type":"string","description":"A domain of DNS Zone Record resource.\n"},"filters":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordFilter:DnsZoneRecordFilter"}},"meta":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordMeta:DnsZoneRecordMeta","description":"A meta of DNS Zone Record resource.\n"},"resourceRecords":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordResourceRecord:DnsZoneRecordResourceRecord"},"description":"An array of contents with meta of DNS Zone Record resource.\n"},"ttl":{"type":"number","description":"A ttl of DNS Zone Record resource.\n"},"type":{"type":"string","description":"A type of DNS Zone Record resource.\n"},"zone":{"type":"string","description":"A zone of DNS Zone Record resource.\n"}},"type":"object","required":["dnsZoneRecordId","domain","meta","resourceRecords","type","zone"],"inputProperties":{"dnsZoneRecordId":{"type":"string","description":"The ID of this resource.\n"},"domain":{"type":"string","description":"A domain of DNS Zone Record resource.\n"},"filters":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordFilter:DnsZoneRecordFilter"}},"meta":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordMeta:DnsZoneRecordMeta","description":"A meta of DNS Zone Record resource.\n"},"resourceRecords":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordResourceRecord:DnsZoneRecordResourceRecord"},"description":"An array of contents with meta of DNS Zone Record resource.\n"},"ttl":{"type":"number","description":"A ttl of DNS Zone Record resource.\n"},"type":{"type":"string","description":"A type of DNS Zone Record resource.\n"},"zone":{"type":"string","description":"A zone of DNS Zone Record resource.\n"}},"requiredInputs":["domain","meta","resourceRecords","type","zone"],"stateInputs":{"description":"Input properties used for looking up and filtering DnsZoneRecord resources.\n","properties":{"dnsZoneRecordId":{"type":"string","description":"The ID of this resource.\n"},"domain":{"type":"string","description":"A domain of DNS Zone Record resource.\n"},"filters":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordFilter:DnsZoneRecordFilter"}},"meta":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordMeta:DnsZoneRecordMeta","description":"A meta of DNS Zone Record resource.\n"},"resourceRecords":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FDnsZoneRecordResourceRecord:DnsZoneRecordResourceRecord"},"description":"An array of contents with meta of DNS Zone Record resource.\n"},"ttl":{"type":"number","description":"A ttl of DNS Zone Record resource.\n"},"type":{"type":"string","description":"A type of DNS Zone Record resource.\n"},"zone":{"type":"string","description":"A zone of DNS Zone Record resource.\n"}},"type":"object"}},"edgecenter:index/floatingip:Floatingip":{"description":"A floating IP is a static IP address that can be associated with one of your instances or loadbalancers,\nallowing it to have a static public IP address. The floating IP can be re-associated to any other instance in the same datacenter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst floatingIp = new edgecenter.Floatingip(\"floating_ip\", {\n    projectId: 1,\n    regionId: 1,\n    metadataMap: {\n        tag1: \"tag1_value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nfloating_ip = edgecenter.Floatingip(\"floating_ip\",\n    project_id=1,\n    region_id=1,\n    metadata_map={\n        \"tag1\": \"tag1_value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var floatingIp = new Edgecenter.Floatingip(\"floating_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        MetadataMap = \n        {\n            { \"tag1\", \"tag1_value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewFloatingip(ctx, \"floating_ip\", \u0026edgecenter.FloatingipArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tMetadataMap: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"tag1_value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Floatingip;\nimport com.pulumi.edgecenter.FloatingipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var floatingIp = new Floatingip(\"floatingIp\", FloatingipArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .metadataMap(Map.of(\"tag1\", \"tag1_value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  floatingIp:\n    type: edgecenter:Floatingip\n    name: floating_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      metadataMap:\n        tag1: tag1_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cfloatingip_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/floatingip:Floatingip fip1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"createdAt":{"type":"string","description":"The timestamp when the floating IP was created.\n"},"fixedIpAddress":{"type":"string","description":"The fixed (reserved) IP address that is associated with the floating IP.\n"},"floatingIpAddress":{"type":"string","description":"The floating IP address assigned to the resource.\n"},"floatingipId":{"type":"string","description":"The ID of this resource.\n"},"instanceIdAttachedTo":{"type":"string","description":"The ID (uuid) of the instance, that the floating IP is associated with.\n"},"instancePortId":{"type":"string","description":"The ID (uuid) of the network port of the instance that the floating IP is associated with.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"loadBalancersIdAttachedTo":{"type":"string","description":"The ID (uuid) of the loadbalancer, that the floating IP associated with\n"},"loadBalancersPortId":{"type":"string","description":"The ID (uuid) of the network port of the load balancer that the floating IP is associated with.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FFloatingipMetadataReadOnly:FloatingipMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"portId":{"type":"string","description":"The ID (uuid) of the network port that the floating IP is associated with.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"routerId":{"type":"string","description":"The ID (uuid) of the router that the floating IP is associated with.\n"},"status":{"type":"string","description":"The current status of the floating IP. Can be 'DOWN' or 'ACTIVE'.\n"},"updatedAt":{"type":"string","description":"The timestamp when the floating IP was updated.\n"}},"type":"object","required":["createdAt","fixedIpAddress","floatingIpAddress","floatingipId","instanceIdAttachedTo","instancePortId","lastUpdated","loadBalancersIdAttachedTo","loadBalancersPortId","metadataReadOnlies","routerId","status","updatedAt"],"inputProperties":{"fixedIpAddress":{"type":"string","description":"The fixed (reserved) IP address that is associated with the floating IP.\n"},"floatingipId":{"type":"string","description":"The ID of this resource.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"portId":{"type":"string","description":"The ID (uuid) of the network port that the floating IP is associated with.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Floatingip resources.\n","properties":{"createdAt":{"type":"string","description":"The timestamp when the floating IP was created.\n"},"fixedIpAddress":{"type":"string","description":"The fixed (reserved) IP address that is associated with the floating IP.\n"},"floatingIpAddress":{"type":"string","description":"The floating IP address assigned to the resource.\n"},"floatingipId":{"type":"string","description":"The ID of this resource.\n"},"instanceIdAttachedTo":{"type":"string","description":"The ID (uuid) of the instance, that the floating IP is associated with.\n"},"instancePortId":{"type":"string","description":"The ID (uuid) of the network port of the instance that the floating IP is associated with.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"loadBalancersIdAttachedTo":{"type":"string","description":"The ID (uuid) of the loadbalancer, that the floating IP associated with\n"},"loadBalancersPortId":{"type":"string","description":"The ID (uuid) of the network port of the load balancer that the floating IP is associated with.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FFloatingipMetadataReadOnly:FloatingipMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"portId":{"type":"string","description":"The ID (uuid) of the network port that the floating IP is associated with.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"routerId":{"type":"string","description":"The ID (uuid) of the router that the floating IP is associated with.\n"},"status":{"type":"string","description":"The current status of the floating IP. Can be 'DOWN' or 'ACTIVE'.\n"},"updatedAt":{"type":"string","description":"The timestamp when the floating IP was updated.\n"}},"type":"object"}},"edgecenter:index/instance:Instance":{"description":"**WARNING:** Resource \"instance\" is deprecated and unavailable.\n Use edgecenter_instanceV2 resource instead.\n\n A cloud instance is a virtual machine in a cloud environment.\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cinstance_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/instance:Instance instance1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"addresses":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceAddress:InstanceAddress"},"description":"A list of network addresses associated with the instance, for example \u003cspan pulumi-lang-nodejs=\"\"pubNet\"\" pulumi-lang-dotnet=\"\"PubNet\"\" pulumi-lang-go=\"\"pubNet\"\" pulumi-lang-python=\"\"pub_net\"\" pulumi-lang-yaml=\"\"pubNet\"\" pulumi-lang-java=\"\"pubNet\"\"\u003e\"pub_net\"\u003c/span\u003e: [...]\n"},"allowAppPorts":{"type":"boolean","description":"A boolean indicating whether to allow application ports on the instance.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceConfiguration:InstanceConfiguration"},"description":"A list of key-value pairs specifying configuration settings for the instance when created\nfrom a template (marketplace), e.g. {\"gitlab*external*url\": \"https://gitlab/...\"}\n"},"flavor":{"type":"object","additionalProperties":{"type":"string"},"description":"A map defining the flavor of the instance, for example, {\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: \"g1-standard-2-4\", \"ram\": 4096, ...}.\n"},"flavorId":{"type":"string","description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n"},"instanceId":{"type":"string","description":"The ID of this resource.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceInterface:InstanceInterface"},"description":"A list defining the network interfaces to be attached to the instance.\n"},"keypairName":{"type":"string","description":"The name of the key pair to be associated with the instance for SSH access.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceMetadata:InstanceMetadata"},"deprecationMessage":"Deprecated"},"name":{"type":"string","description":"The name of the instance.\n"},"nameTemplate":{"type":"string","description":"A template used to generate the instance name. This field cannot be used with 'name_templates'.\n"},"nameTemplates":{"type":"array","items":{"type":"string"},"deprecationMessage":"Deprecated"},"password":{"type":"string","description":"The password to be used for accessing the instance. Required with username.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceSecurityGroup:InstanceSecurityGroup"},"description":"A list of firewall configurations applied to the instance, defined by their ID and name.\n"},"serverGroup":{"type":"string","description":"The ID (uuid) of the server group to which the instance should belong.\n"},"status":{"type":"string","description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n"},"userData":{"type":"string","description":"A field for specifying user data to be used for configuring the instance at launch time.\n"},"userdata":{"type":"string","description":"**Deprecated**\n","deprecationMessage":"Deprecated"},"username":{"type":"string","description":"The username to be used for accessing the instance. Required with password.\n"},"vmState":{"type":"string","description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceVolume:InstanceVolume"},"description":"A set defining the volumes to be attached to the instance.\n"}},"type":"object","required":["flavor","flavorId","instanceId","interfaces","lastUpdated","name","projectId","projectName","regionId","regionName","securityGroups","status","vmState","volumes"],"inputProperties":{"addresses":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceAddress:InstanceAddress"},"description":"A list of network addresses associated with the instance, for example \u003cspan pulumi-lang-nodejs=\"\"pubNet\"\" pulumi-lang-dotnet=\"\"PubNet\"\" pulumi-lang-go=\"\"pubNet\"\" pulumi-lang-python=\"\"pub_net\"\" pulumi-lang-yaml=\"\"pubNet\"\" pulumi-lang-java=\"\"pubNet\"\"\u003e\"pub_net\"\u003c/span\u003e: [...]\n"},"allowAppPorts":{"type":"boolean","description":"A boolean indicating whether to allow application ports on the instance.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceConfiguration:InstanceConfiguration"},"description":"A list of key-value pairs specifying configuration settings for the instance when created\nfrom a template (marketplace), e.g. {\"gitlab*external*url\": \"https://gitlab/...\"}\n"},"flavor":{"type":"object","additionalProperties":{"type":"string"},"description":"A map defining the flavor of the instance, for example, {\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: \"g1-standard-2-4\", \"ram\": 4096, ...}.\n"},"flavorId":{"type":"string","description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n"},"instanceId":{"type":"string","description":"The ID of this resource.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceInterface:InstanceInterface"},"description":"A list defining the network interfaces to be attached to the instance.\n"},"keypairName":{"type":"string","description":"The name of the key pair to be associated with the instance for SSH access.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceMetadata:InstanceMetadata"},"deprecationMessage":"Deprecated"},"name":{"type":"string","description":"The name of the instance.\n"},"nameTemplate":{"type":"string","description":"A template used to generate the instance name. This field cannot be used with 'name_templates'.\n"},"nameTemplates":{"type":"array","items":{"type":"string"},"deprecationMessage":"Deprecated"},"password":{"type":"string","description":"The password to be used for accessing the instance. Required with username.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"serverGroup":{"type":"string","description":"The ID (uuid) of the server group to which the instance should belong.\n"},"status":{"type":"string","description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n"},"userData":{"type":"string","description":"A field for specifying user data to be used for configuring the instance at launch time.\n"},"userdata":{"type":"string","description":"**Deprecated**\n","deprecationMessage":"Deprecated"},"username":{"type":"string","description":"The username to be used for accessing the instance. Required with password.\n"},"vmState":{"type":"string","description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceVolume:InstanceVolume"},"description":"A set defining the volumes to be attached to the instance.\n"}},"requiredInputs":["flavorId","interfaces","volumes"],"stateInputs":{"description":"Input properties used for looking up and filtering Instance resources.\n","properties":{"addresses":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceAddress:InstanceAddress"},"description":"A list of network addresses associated with the instance, for example \u003cspan pulumi-lang-nodejs=\"\"pubNet\"\" pulumi-lang-dotnet=\"\"PubNet\"\" pulumi-lang-go=\"\"pubNet\"\" pulumi-lang-python=\"\"pub_net\"\" pulumi-lang-yaml=\"\"pubNet\"\" pulumi-lang-java=\"\"pubNet\"\"\u003e\"pub_net\"\u003c/span\u003e: [...]\n"},"allowAppPorts":{"type":"boolean","description":"A boolean indicating whether to allow application ports on the instance.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceConfiguration:InstanceConfiguration"},"description":"A list of key-value pairs specifying configuration settings for the instance when created\nfrom a template (marketplace), e.g. {\"gitlab*external*url\": \"https://gitlab/...\"}\n"},"flavor":{"type":"object","additionalProperties":{"type":"string"},"description":"A map defining the flavor of the instance, for example, {\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: \"g1-standard-2-4\", \"ram\": 4096, ...}.\n"},"flavorId":{"type":"string","description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n"},"instanceId":{"type":"string","description":"The ID of this resource.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceInterface:InstanceInterface"},"description":"A list defining the network interfaces to be attached to the instance.\n"},"keypairName":{"type":"string","description":"The name of the key pair to be associated with the instance for SSH access.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceMetadata:InstanceMetadata"},"deprecationMessage":"Deprecated"},"name":{"type":"string","description":"The name of the instance.\n"},"nameTemplate":{"type":"string","description":"A template used to generate the instance name. This field cannot be used with 'name_templates'.\n"},"nameTemplates":{"type":"array","items":{"type":"string"},"deprecationMessage":"Deprecated"},"password":{"type":"string","description":"The password to be used for accessing the instance. Required with username.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroups":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceSecurityGroup:InstanceSecurityGroup"},"description":"A list of firewall configurations applied to the instance, defined by their ID and name.\n"},"serverGroup":{"type":"string","description":"The ID (uuid) of the server group to which the instance should belong.\n"},"status":{"type":"string","description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n"},"userData":{"type":"string","description":"A field for specifying user data to be used for configuring the instance at launch time.\n"},"userdata":{"type":"string","description":"**Deprecated**\n","deprecationMessage":"Deprecated"},"username":{"type":"string","description":"The username to be used for accessing the instance. Required with password.\n"},"vmState":{"type":"string","description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceVolume:InstanceVolume"},"description":"A set defining the volumes to be attached to the instance.\n"}},"type":"object"}},"edgecenter:index/instancePortSecurity:InstancePortSecurity":{"description":"Represent\u003cspan pulumi-lang-nodejs=\" instancePortSecurity \" pulumi-lang-dotnet=\" InstancePortSecurity \" pulumi-lang-go=\" instancePortSecurity \" pulumi-lang-python=\" instance_port_security \" pulumi-lang-yaml=\" instancePortSecurity \" pulumi-lang-java=\" instancePortSecurity \"\u003e instance_port_security \u003c/span\u003eresource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst portSecurity = new edgecenter.InstancePortSecurity(\"port_security\", {\n    portId: \"073947f8-8589-4104-bdff-2cedbe56239f\",\n    instanceId: \"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\",\n    regionId: 1,\n    projectId: 1,\n    portSecurityDisabled: false,\n    securityGroups: {\n        overwriteExisting: true,\n        securityGroupIds: [\n            \"cd114905-1bc7-45d7-9def-463f16379563\",\n            \"4c2fb2a4-8535-474e-aa7f-ac35804de389\",\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nport_security = edgecenter.InstancePortSecurity(\"port_security\",\n    port_id=\"073947f8-8589-4104-bdff-2cedbe56239f\",\n    instance_id=\"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\",\n    region_id=1,\n    project_id=1,\n    port_security_disabled=False,\n    security_groups={\n        \"overwrite_existing\": True,\n        \"security_group_ids\": [\n            \"cd114905-1bc7-45d7-9def-463f16379563\",\n            \"4c2fb2a4-8535-474e-aa7f-ac35804de389\",\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var portSecurity = new Edgecenter.InstancePortSecurity(\"port_security\", new()\n    {\n        PortId = \"073947f8-8589-4104-bdff-2cedbe56239f\",\n        InstanceId = \"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\",\n        RegionId = 1,\n        ProjectId = 1,\n        PortSecurityDisabled = false,\n        SecurityGroups = new Edgecenter.Inputs.InstancePortSecuritySecurityGroupsArgs\n        {\n            OverwriteExisting = true,\n            SecurityGroupIds = new[]\n            {\n                \"cd114905-1bc7-45d7-9def-463f16379563\",\n                \"4c2fb2a4-8535-474e-aa7f-ac35804de389\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewInstancePortSecurity(ctx, \"port_security\", \u0026edgecenter.InstancePortSecurityArgs{\n\t\t\tPortId:               pulumi.String(\"073947f8-8589-4104-bdff-2cedbe56239f\"),\n\t\t\tInstanceId:           pulumi.String(\"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\"),\n\t\t\tRegionId:             pulumi.Float64(1),\n\t\t\tProjectId:            pulumi.Float64(1),\n\t\t\tPortSecurityDisabled: pulumi.Bool(false),\n\t\t\tSecurityGroups: \u0026edgecenter.InstancePortSecuritySecurityGroupsArgs{\n\t\t\t\tOverwriteExisting: pulumi.Bool(true),\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cd114905-1bc7-45d7-9def-463f16379563\"),\n\t\t\t\t\tpulumi.String(\"4c2fb2a4-8535-474e-aa7f-ac35804de389\"),\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.edgecenter.InstancePortSecurity;\nimport com.pulumi.edgecenter.InstancePortSecurityArgs;\nimport com.pulumi.edgecenter.inputs.InstancePortSecuritySecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var portSecurity = new InstancePortSecurity(\"portSecurity\", InstancePortSecurityArgs.builder()\n            .portId(\"073947f8-8589-4104-bdff-2cedbe56239f\")\n            .instanceId(\"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\")\n            .regionId(1.0)\n            .projectId(1.0)\n            .portSecurityDisabled(false)\n            .securityGroups(InstancePortSecuritySecurityGroupsArgs.builder()\n                .overwriteExisting(true)\n                .securityGroupIds(                \n                    \"cd114905-1bc7-45d7-9def-463f16379563\",\n                    \"4c2fb2a4-8535-474e-aa7f-ac35804de389\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  portSecurity:\n    type: edgecenter:InstancePortSecurity\n    name: port_security\n    properties:\n      portId: 073947f8-8589-4104-bdff-2cedbe56239f\n      instanceId: 4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\n      regionId: 1\n      projectId: 1\n      portSecurityDisabled: false\n      securityGroups:\n        overwriteExisting: true\n        securityGroupIds:\n          - cd114905-1bc7-45d7-9def-463f16379563\n          - 4c2fb2a4-8535-474e-aa7f-ac35804de389\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"instanceId":{"type":"string","description":"ID of the instance to which the port is connected.\n"},"instancePortSecurityId":{"type":"string","description":"The ID of this resource.\n"},"portId":{"type":"string","description":"ID of the instance network port.\n"},"portSecurityDisabled":{"type":"boolean","description":"Is the port*security feature disabled. If this field has value \"true\", you can't use \"security*groups\" field. You can't change port security of a public network port. When this field has value \"true\" all security groups will be deleted. When this field switched back to value \"false\" or deleted, default security group will be attached.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroups":{"$ref":"#/types/edgecenter:index%2FInstancePortSecuritySecurityGroups:InstancePortSecuritySecurityGroups","description":"Security groups.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FInstancePortSecurityTimeouts:InstancePortSecurityTimeouts"}},"type":"object","required":["instanceId","instancePortSecurityId","portId","portSecurityDisabled"],"inputProperties":{"instanceId":{"type":"string","description":"ID of the instance to which the port is connected.\n"},"instancePortSecurityId":{"type":"string","description":"The ID of this resource.\n"},"portId":{"type":"string","description":"ID of the instance network port.\n"},"portSecurityDisabled":{"type":"boolean","description":"Is the port*security feature disabled. If this field has value \"true\", you can't use \"security*groups\" field. You can't change port security of a public network port. When this field has value \"true\" all security groups will be deleted. When this field switched back to value \"false\" or deleted, default security group will be attached.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroups":{"$ref":"#/types/edgecenter:index%2FInstancePortSecuritySecurityGroups:InstancePortSecuritySecurityGroups","description":"Security groups.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FInstancePortSecurityTimeouts:InstancePortSecurityTimeouts"}},"requiredInputs":["instanceId","portId"],"stateInputs":{"description":"Input properties used for looking up and filtering InstancePortSecurity resources.\n","properties":{"instanceId":{"type":"string","description":"ID of the instance to which the port is connected.\n"},"instancePortSecurityId":{"type":"string","description":"The ID of this resource.\n"},"portId":{"type":"string","description":"ID of the instance network port.\n"},"portSecurityDisabled":{"type":"boolean","description":"Is the port*security feature disabled. If this field has value \"true\", you can't use \"security*groups\" field. You can't change port security of a public network port. When this field has value \"true\" all security groups will be deleted. When this field switched back to value \"false\" or deleted, default security group will be attached.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroups":{"$ref":"#/types/edgecenter:index%2FInstancePortSecuritySecurityGroups:InstancePortSecuritySecurityGroups","description":"Security groups.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FInstancePortSecurityTimeouts:InstancePortSecurityTimeouts"}},"type":"object"}},"edgecenter:index/instanceV2:InstanceV2":{"description":"A cloud instance is a virtual machine in a cloud environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst config = new pulumi.Config();\n// The region id variable indicates in which region the resource should be created\nconst regionId = config.getNumber(\"regionId\") || 1;\n// The project id variable specifies in which project the resource should be created\nconst projectId = config.getNumber(\"projectId\") || 1;\n//  The ID of the image to create the volume from. This field is mandatory if creating a volume from an image. Example view 'f4ce3d30-e29c-4cfd-811f-46f383b6081f'.\nconst imageId = config.get(\"imageId\") || \"f4ce3d30-e29c-4cfd-811f-46f383b6081f\";\nconst network = new edgecenter.Network(\"network\", {\n    name: \"network_example\",\n    type: \"vxlan\",\n    regionId: regionId,\n    projectId: projectId,\n});\nconst subnet = new edgecenter.Subnet(\"subnet\", {\n    name: \"subnet_example\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.networkId,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    hostRoutes: [{\n        destination: \"10.0.3.0/24\",\n        nexthop: \"10.0.0.13\",\n    }],\n    gatewayIp: \"192.168.10.1\",\n    regionId: regionId,\n    projectId: projectId,\n});\nconst firstVolume = new edgecenter.Volume(\"first_volume\", {\n    name: \"boot volume\",\n    typeName: \"ssd_hiiops\",\n    size: 5,\n    regionId: regionId,\n    projectId: projectId,\n    imageId: imageId,\n});\nconst secondVolume = new edgecenter.Volume(\"second_volume\", {\n    name: \"second volume\",\n    typeName: \"ssd_hiiops\",\n    size: 5,\n    regionId: regionId,\n    projectId: projectId,\n});\nconst sg = new edgecenter.Securitygroup(\"sg\", {\n    name: \"example_security_group\",\n    regionId: regionId,\n    projectId: projectId,\n    securityGroupRules: [{\n        direction: \"egress\",\n        ethertype: \"IPv4\",\n        protocol: \"tcp\",\n        portRangeMin: 19990,\n        portRangeMax: 19990,\n    }],\n});\nconst instance = new edgecenter.InstanceV2(\"instance\", {\n    flavorId: \"g1-standard-2-4\",\n    name: \"test\",\n    bootVolumes: [{\n        volumeId: firstVolume.volumeId,\n        bootIndex: 0,\n    }],\n    dataVolumes: [{\n        volumeId: secondVolume.volumeId,\n    }],\n    interfaces: [{\n        isDefault: true,\n        type: \"subnet\",\n        networkId: network.networkId,\n        subnetId: subnet.subnetId,\n    }],\n    metadata: {\n        some_key: \"some_value\",\n        stage: \"dev\",\n    },\n    configurations: [{\n        key: \"some_key\",\n        value: \"some_data\",\n    }],\n    regionId: regionId,\n    projectId: projectId,\n});\nconst portSecurity = new edgecenter.InstancePortSecurity(\"port_security\", {\n    portId: pulumi.all([instance.interfaces, subnet.subnetId]).apply(([interfaces, subnetId]) =\u003e interfaces.filter(iface =\u003e iface.subnetId == subnetId).map(iface =\u003e (iface.portId))[0]),\n    instanceId: instance.instanceV2Id,\n    regionId: regionId,\n    projectId: projectId,\n    portSecurityDisabled: false,\n    securityGroups: {\n        overwriteExisting: true,\n        securityGroupIds: [sg.securitygroupId],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nconfig = pulumi.Config()\n# The region id variable indicates in which region the resource should be created\nregion_id = config.get_float(\"regionId\")\nif region_id is None:\n    region_id = 1\n# The project id variable specifies in which project the resource should be created\nproject_id = config.get_float(\"projectId\")\nif project_id is None:\n    project_id = 1\n#  The ID of the image to create the volume from. This field is mandatory if creating a volume from an image. Example view 'f4ce3d30-e29c-4cfd-811f-46f383b6081f'.\nimage_id = config.get(\"imageId\")\nif image_id is None:\n    image_id = \"f4ce3d30-e29c-4cfd-811f-46f383b6081f\"\nnetwork = edgecenter.Network(\"network\",\n    name=\"network_example\",\n    type=\"vxlan\",\n    region_id=region_id,\n    project_id=project_id)\nsubnet = edgecenter.Subnet(\"subnet\",\n    name=\"subnet_example\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.network_id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    host_routes=[{\n        \"destination\": \"10.0.3.0/24\",\n        \"nexthop\": \"10.0.0.13\",\n    }],\n    gateway_ip=\"192.168.10.1\",\n    region_id=region_id,\n    project_id=project_id)\nfirst_volume = edgecenter.Volume(\"first_volume\",\n    name=\"boot volume\",\n    type_name=\"ssd_hiiops\",\n    size=5,\n    region_id=region_id,\n    project_id=project_id,\n    image_id=image_id)\nsecond_volume = edgecenter.Volume(\"second_volume\",\n    name=\"second volume\",\n    type_name=\"ssd_hiiops\",\n    size=5,\n    region_id=region_id,\n    project_id=project_id)\nsg = edgecenter.Securitygroup(\"sg\",\n    name=\"example_security_group\",\n    region_id=region_id,\n    project_id=project_id,\n    security_group_rules=[{\n        \"direction\": \"egress\",\n        \"ethertype\": \"IPv4\",\n        \"protocol\": \"tcp\",\n        \"port_range_min\": 19990,\n        \"port_range_max\": 19990,\n    }])\ninstance = edgecenter.InstanceV2(\"instance\",\n    flavor_id=\"g1-standard-2-4\",\n    name=\"test\",\n    boot_volumes=[{\n        \"volume_id\": first_volume.volume_id,\n        \"boot_index\": 0,\n    }],\n    data_volumes=[{\n        \"volume_id\": second_volume.volume_id,\n    }],\n    interfaces=[{\n        \"is_default\": True,\n        \"type\": \"subnet\",\n        \"network_id\": network.network_id,\n        \"subnet_id\": subnet.subnet_id,\n    }],\n    metadata={\n        \"some_key\": \"some_value\",\n        \"stage\": \"dev\",\n    },\n    configurations=[{\n        \"key\": \"some_key\",\n        \"value\": \"some_data\",\n    }],\n    region_id=region_id,\n    project_id=project_id)\nport_security = edgecenter.InstancePortSecurity(\"port_security\",\n    port_id=pulumi.Output.all(\n        interfaces=instance.interfaces,\n        subnet_id=subnet.subnet_id\n).apply(lambda resolved_outputs: [iface.port_id for iface in resolved_outputs['interfaces'] if iface.subnet_id == resolved_outputs['subnet_id']][0])\n,\n    instance_id=instance.instance_v2_id,\n    region_id=region_id,\n    project_id=project_id,\n    port_security_disabled=False,\n    security_groups={\n        \"overwrite_existing\": True,\n        \"security_group_ids\": [sg.securitygroup_id],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // The region id variable indicates in which region the resource should be created\n    var regionId = config.GetDouble(\"regionId\") ?? 1;\n    // The project id variable specifies in which project the resource should be created\n    var projectId = config.GetDouble(\"projectId\") ?? 1;\n    //  The ID of the image to create the volume from. This field is mandatory if creating a volume from an image. Example view 'f4ce3d30-e29c-4cfd-811f-46f383b6081f'.\n    var imageId = config.Get(\"imageId\") ?? \"f4ce3d30-e29c-4cfd-811f-46f383b6081f\";\n    var network = new Edgecenter.Network(\"network\", new()\n    {\n        Name = \"network_example\",\n        Type = \"vxlan\",\n        RegionId = regionId,\n        ProjectId = projectId,\n    });\n\n    var subnet = new Edgecenter.Subnet(\"subnet\", new()\n    {\n        Name = \"subnet_example\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.NetworkId,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n        HostRoutes = new[]\n        {\n            new Edgecenter.Inputs.SubnetHostRouteArgs\n            {\n                Destination = \"10.0.3.0/24\",\n                Nexthop = \"10.0.0.13\",\n            },\n        },\n        GatewayIp = \"192.168.10.1\",\n        RegionId = regionId,\n        ProjectId = projectId,\n    });\n\n    var firstVolume = new Edgecenter.Volume(\"first_volume\", new()\n    {\n        Name = \"boot volume\",\n        TypeName = \"ssd_hiiops\",\n        Size = 5,\n        RegionId = regionId,\n        ProjectId = projectId,\n        ImageId = imageId,\n    });\n\n    var secondVolume = new Edgecenter.Volume(\"second_volume\", new()\n    {\n        Name = \"second volume\",\n        TypeName = \"ssd_hiiops\",\n        Size = 5,\n        RegionId = regionId,\n        ProjectId = projectId,\n    });\n\n    var sg = new Edgecenter.Securitygroup(\"sg\", new()\n    {\n        Name = \"example_security_group\",\n        RegionId = regionId,\n        ProjectId = projectId,\n        SecurityGroupRules = new[]\n        {\n            new Edgecenter.Inputs.SecuritygroupSecurityGroupRuleArgs\n            {\n                Direction = \"egress\",\n                Ethertype = \"IPv4\",\n                Protocol = \"tcp\",\n                PortRangeMin = 19990,\n                PortRangeMax = 19990,\n            },\n        },\n    });\n\n    var instance = new Edgecenter.InstanceV2(\"instance\", new()\n    {\n        FlavorId = \"g1-standard-2-4\",\n        Name = \"test\",\n        BootVolumes = new[]\n        {\n            new Edgecenter.Inputs.InstanceV2BootVolumeArgs\n            {\n                VolumeId = firstVolume.VolumeId,\n                BootIndex = 0,\n            },\n        },\n        DataVolumes = new[]\n        {\n            new Edgecenter.Inputs.InstanceV2DataVolumeArgs\n            {\n                VolumeId = secondVolume.VolumeId,\n            },\n        },\n        Interfaces = new[]\n        {\n            new Edgecenter.Inputs.InstanceV2InterfaceArgs\n            {\n                IsDefault = true,\n                Type = \"subnet\",\n                NetworkId = network.NetworkId,\n                SubnetId = subnet.SubnetId,\n            },\n        },\n        Metadata = \n        {\n            { \"some_key\", \"some_value\" },\n            { \"stage\", \"dev\" },\n        },\n        Configurations = new[]\n        {\n            new Edgecenter.Inputs.InstanceV2ConfigurationArgs\n            {\n                Key = \"some_key\",\n                Value = \"some_data\",\n            },\n        },\n        RegionId = regionId,\n        ProjectId = projectId,\n    });\n\n    var portSecurity = new Edgecenter.InstancePortSecurity(\"port_security\", new()\n    {\n        PortId = Output.Tuple(instance.Interfaces, subnet.SubnetId).Apply(values =\u003e\n        {\n            var interfaces = values.Item1;\n            var subnetId = values.Item2;\n            return interfaces.Where(iface =\u003e iface.SubnetId == subnetId).Select(iface =\u003e \n            {\n                return iface.PortId;\n            }).ToList()[0];\n        }),\n        InstanceId = instance.InstanceV2Id,\n        RegionId = regionId,\n        ProjectId = projectId,\n        PortSecurityDisabled = false,\n        SecurityGroups = new Edgecenter.Inputs.InstancePortSecuritySecurityGroupsArgs\n        {\n            OverwriteExisting = true,\n            SecurityGroupIds = new[]\n            {\n                sg.SecuritygroupId,\n            },\n        },\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cinstance_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/instanceV2:InstanceV2 instance1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"allowAppPorts":{"type":"boolean","description":"A boolean indicating whether to allow application ports on the instance.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the instance.\n"},"bootVolumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2BootVolume:InstanceV2BootVolume"},"description":"A set defining the volumes to be attached to the instance.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2Configuration:InstanceV2Configuration"},"description":"A list of key-value pairs specifying configuration settings for the instance when created\nfrom a template (marketplace), e.g. {\"gitlab*external*url\": \"https://gitlab/...\"}\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2DataVolume:InstanceV2DataVolume"},"description":"A set defining the volumes to be attached to the instance.\n"},"flavor":{"type":"object","additionalProperties":{"type":"string"},"description":"A map defining the flavor of the instance, for example, {\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: \"g1-standard-2-4\", \"ram\": 4096, ...}.\n"},"flavorId":{"type":"string","description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n"},"instanceV2Id":{"type":"string","description":"The ID of this resource.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2Interface:InstanceV2Interface"},"description":"A list defining the network interfaces to be attached to the instance.\n"},"keypairName":{"type":"string","description":"The name of the key pair to be associated with the instance for SSH access.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the instance.\n"},"nameTemplate":{"type":"string","description":"A template used to generate the instance name. This field cannot be used with 'name_templates'.\n"},"password":{"type":"string","description":"The password to be used for accessing the instance.\n\t\t\t\t\t\t\tThis parameter is used to set the password either for the \"Admin\" user on\n\t\t\t\t\t\t\ta Windows VM orthe default user or a new user on a Linux VM\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"serverGroup":{"type":"string","description":"The ID (uuid) of the server group to which the instance should belong.\n"},"status":{"type":"string","description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n"},"userData":{"type":"string","description":"A field for specifying user data to be used for configuring the instance at launch time.\n"},"username":{"type":"string","description":"The username to be used for accessing the instance. Required with password.\n\t\t\t\t\t\t\tThis parameter is used to set the user on a Linux VM\n"},"vmState":{"type":"string","description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n"}},"type":"object","required":["availabilityZone","bootVolumes","flavor","flavorId","instanceV2Id","interfaces","name","projectId","projectName","regionId","regionName","status","vmState"],"inputProperties":{"allowAppPorts":{"type":"boolean","description":"A boolean indicating whether to allow application ports on the instance.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the instance.\n"},"bootVolumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2BootVolume:InstanceV2BootVolume"},"description":"A set defining the volumes to be attached to the instance.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2Configuration:InstanceV2Configuration"},"description":"A list of key-value pairs specifying configuration settings for the instance when created\nfrom a template (marketplace), e.g. {\"gitlab*external*url\": \"https://gitlab/...\"}\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2DataVolume:InstanceV2DataVolume"},"description":"A set defining the volumes to be attached to the instance.\n"},"flavorId":{"type":"string","description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n"},"instanceV2Id":{"type":"string","description":"The ID of this resource.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2Interface:InstanceV2Interface"},"description":"A list defining the network interfaces to be attached to the instance.\n"},"keypairName":{"type":"string","description":"The name of the key pair to be associated with the instance for SSH access.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the instance.\n"},"nameTemplate":{"type":"string","description":"A template used to generate the instance name. This field cannot be used with 'name_templates'.\n"},"password":{"type":"string","description":"The password to be used for accessing the instance.\n\t\t\t\t\t\t\tThis parameter is used to set the password either for the \"Admin\" user on\n\t\t\t\t\t\t\ta Windows VM orthe default user or a new user on a Linux VM\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"serverGroup":{"type":"string","description":"The ID (uuid) of the server group to which the instance should belong.\n"},"status":{"type":"string","description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n"},"userData":{"type":"string","description":"A field for specifying user data to be used for configuring the instance at launch time.\n"},"username":{"type":"string","description":"The username to be used for accessing the instance. Required with password.\n\t\t\t\t\t\t\tThis parameter is used to set the user on a Linux VM\n"},"vmState":{"type":"string","description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n"}},"requiredInputs":["bootVolumes","flavorId","interfaces"],"stateInputs":{"description":"Input properties used for looking up and filtering InstanceV2 resources.\n","properties":{"allowAppPorts":{"type":"boolean","description":"A boolean indicating whether to allow application ports on the instance.\n"},"availabilityZone":{"type":"string","description":"The availability zone in which to create the instance.\n"},"bootVolumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2BootVolume:InstanceV2BootVolume"},"description":"A set defining the volumes to be attached to the instance.\n"},"configurations":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2Configuration:InstanceV2Configuration"},"description":"A list of key-value pairs specifying configuration settings for the instance when created\nfrom a template (marketplace), e.g. {\"gitlab*external*url\": \"https://gitlab/...\"}\n"},"dataVolumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2DataVolume:InstanceV2DataVolume"},"description":"A set defining the volumes to be attached to the instance.\n"},"flavor":{"type":"object","additionalProperties":{"type":"string"},"description":"A map defining the flavor of the instance, for example, {\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: \"g1-standard-2-4\", \"ram\": 4096, ...}.\n"},"flavorId":{"type":"string","description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n"},"instanceV2Id":{"type":"string","description":"The ID of this resource.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FInstanceV2Interface:InstanceV2Interface"},"description":"A list defining the network interfaces to be attached to the instance.\n"},"keypairName":{"type":"string","description":"The name of the key pair to be associated with the instance for SSH access.\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the instance.\n"},"nameTemplate":{"type":"string","description":"A template used to generate the instance name. This field cannot be used with 'name_templates'.\n"},"password":{"type":"string","description":"The password to be used for accessing the instance.\n\t\t\t\t\t\t\tThis parameter is used to set the password either for the \"Admin\" user on\n\t\t\t\t\t\t\ta Windows VM orthe default user or a new user on a Linux VM\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"serverGroup":{"type":"string","description":"The ID (uuid) of the server group to which the instance should belong.\n"},"status":{"type":"string","description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n"},"userData":{"type":"string","description":"A field for specifying user data to be used for configuring the instance at launch time.\n"},"username":{"type":"string","description":"The username to be used for accessing the instance. Required with password.\n\t\t\t\t\t\t\tThis parameter is used to set the user on a Linux VM\n"},"vmState":{"type":"string","description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n"}},"type":"object"}},"edgecenter:index/keypair:Keypair":{"description":"Represent a ssh key, do not depends on region\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nexport = async () =\u003e {\n    const kp = new edgecenter.Keypair(\"kp\", {\n        projectId: 1,\n        publicKey: \"your public key here\",\n        sshkeyName: \"test\",\n    });\n    return {\n        kp: kp,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nkp = edgecenter.Keypair(\"kp\",\n    project_id=1,\n    public_key=\"your public key here\",\n    sshkey_name=\"test\")\npulumi.export(\"kp\", kp)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var kp = new Edgecenter.Keypair(\"kp\", new()\n    {\n        ProjectId = 1,\n        PublicKey = \"your public key here\",\n        SshkeyName = \"test\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"kp\"] = kp,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tkp, err := edgecenter.NewKeypair(ctx, \"kp\", \u0026edgecenter.KeypairArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tPublicKey:  pulumi.String(\"your public key here\"),\n\t\t\tSshkeyName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"kp\", kp)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Keypair;\nimport com.pulumi.edgecenter.KeypairArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var kp = new Keypair(\"kp\", KeypairArgs.builder()\n            .projectId(1.0)\n            .publicKey(\"your public key here\")\n            .sshkeyName(\"test\")\n            .build());\n\n        ctx.export(\"kp\", kp);\n    }\n}\n```\n```yaml\nresources:\n  kp:\n    type: edgecenter:Keypair\n    properties:\n      projectId: 1\n      publicKey: your public key here\n      sshkeyName: test\noutputs:\n  kp: ${kp}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"fingerprint":{"type":"string","description":"A fingerprint of the SSH public key, used to verify the integrity of the key.\n"},"keypairId":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"publicKey":{"type":"string","description":"The public portion of the SSH key pair.\n"},"sshkeyId":{"type":"string","description":"The unique identifier assigned by the provider to the SSH key pair.\n"},"sshkeyName":{"type":"string","description":"The name assigned to the SSH key pair, used for identification purposes.\n"}},"type":"object","required":["fingerprint","keypairId","projectId","projectName","publicKey","sshkeyId","sshkeyName"],"inputProperties":{"keypairId":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"publicKey":{"type":"string","description":"The public portion of the SSH key pair.\n"},"sshkeyName":{"type":"string","description":"The name assigned to the SSH key pair, used for identification purposes.\n"}},"requiredInputs":["publicKey","sshkeyName"],"stateInputs":{"description":"Input properties used for looking up and filtering Keypair resources.\n","properties":{"fingerprint":{"type":"string","description":"A fingerprint of the SSH public key, used to verify the integrity of the key.\n"},"keypairId":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"publicKey":{"type":"string","description":"The public portion of the SSH key pair.\n"},"sshkeyId":{"type":"string","description":"The unique identifier assigned by the provider to the SSH key pair.\n"},"sshkeyName":{"type":"string","description":"The name assigned to the SSH key pair, used for identification purposes.\n"}},"type":"object"}},"edgecenter:index/lbL7policy:LbL7policy":{"description":"An L7 Policy is a set of L7 rules, as well as a defined action applied to L7 network traffic. The action is taken if all the rules associated with the policy match\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lb = new edgecenter.Loadbalancerv2(\"lb\", {\n    flavor: \"lb1-1-2\",\n    metadataMap: {},\n    name: \"test-l7policy\",\n    projectId: 1,\n    regionId: 1,\n});\nconst listener = new edgecenter.Lblistener(\"listener\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test-l7policy\",\n    protocol: \"HTTP\",\n    protocolPort: 80,\n    loadbalancerId: lb.loadbalancerv2Id,\n});\nconst l7policy = new edgecenter.LbL7policy(\"l7policy\", {\n    name: \"test-policy\",\n    projectId: 1,\n    regionId: 1,\n    action: \"REDIRECT_PREFIX\",\n    listenerId: listener.lblistenerId,\n    redirectHttpCode: 303,\n    redirectPrefix: \"https://your-prefix.com/\",\n    tags: [\n        \"aaa\",\n        \"bbb\",\n        \"ccc\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlb = edgecenter.Loadbalancerv2(\"lb\",\n    flavor=\"lb1-1-2\",\n    metadata_map={},\n    name=\"test-l7policy\",\n    project_id=1,\n    region_id=1)\nlistener = edgecenter.Lblistener(\"listener\",\n    project_id=1,\n    region_id=1,\n    name=\"test-l7policy\",\n    protocol=\"HTTP\",\n    protocol_port=80,\n    loadbalancer_id=lb.loadbalancerv2_id)\nl7policy = edgecenter.LbL7policy(\"l7policy\",\n    name=\"test-policy\",\n    project_id=1,\n    region_id=1,\n    action=\"REDIRECT_PREFIX\",\n    listener_id=listener.lblistener_id,\n    redirect_http_code=303,\n    redirect_prefix=\"https://your-prefix.com/\",\n    tags=[\n        \"aaa\",\n        \"bbb\",\n        \"ccc\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Edgecenter.Loadbalancerv2(\"lb\", new()\n    {\n        Flavor = \"lb1-1-2\",\n        MetadataMap = null,\n        Name = \"test-l7policy\",\n        ProjectId = 1,\n        RegionId = 1,\n    });\n\n    var listener = new Edgecenter.Lblistener(\"listener\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test-l7policy\",\n        Protocol = \"HTTP\",\n        ProtocolPort = 80,\n        LoadbalancerId = lb.Loadbalancerv2Id,\n    });\n\n    var l7policy = new Edgecenter.LbL7policy(\"l7policy\", new()\n    {\n        Name = \"test-policy\",\n        ProjectId = 1,\n        RegionId = 1,\n        Action = \"REDIRECT_PREFIX\",\n        ListenerId = listener.LblistenerId,\n        RedirectHttpCode = 303,\n        RedirectPrefix = \"https://your-prefix.com/\",\n        Tags = new[]\n        {\n            \"aaa\",\n            \"bbb\",\n            \"ccc\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := edgecenter.NewLoadbalancerv2(ctx, \"lb\", \u0026edgecenter.Loadbalancerv2Args{\n\t\t\tFlavor:      pulumi.String(\"lb1-1-2\"),\n\t\t\tMetadataMap: pulumi.StringMap{},\n\t\t\tName:        pulumi.String(\"test-l7policy\"),\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistener, err := edgecenter.NewLblistener(ctx, \"listener\", \u0026edgecenter.LblistenerArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tName:           pulumi.String(\"test-l7policy\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(80),\n\t\t\tLoadbalancerId: lb.Loadbalancerv2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewLbL7policy(ctx, \"l7policy\", \u0026edgecenter.LbL7policyArgs{\n\t\t\tName:             pulumi.String(\"test-policy\"),\n\t\t\tProjectId:        pulumi.Float64(1),\n\t\t\tRegionId:         pulumi.Float64(1),\n\t\t\tAction:           pulumi.String(\"REDIRECT_PREFIX\"),\n\t\t\tListenerId:       listener.LblistenerId,\n\t\t\tRedirectHttpCode: pulumi.Float64(303),\n\t\t\tRedirectPrefix:   pulumi.String(\"https://your-prefix.com/\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aaa\"),\n\t\t\t\tpulumi.String(\"bbb\"),\n\t\t\t\tpulumi.String(\"ccc\"),\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.edgecenter.Loadbalancerv2;\nimport com.pulumi.edgecenter.Loadbalancerv2Args;\nimport com.pulumi.edgecenter.Lblistener;\nimport com.pulumi.edgecenter.LblistenerArgs;\nimport com.pulumi.edgecenter.LbL7policy;\nimport com.pulumi.edgecenter.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 lb = new Loadbalancerv2(\"lb\", Loadbalancerv2Args.builder()\n            .flavor(\"lb1-1-2\")\n            .metadataMap(Map.ofEntries(\n            ))\n            .name(\"test-l7policy\")\n            .projectId(1.0)\n            .regionId(1.0)\n            .build());\n\n        var listener = new Lblistener(\"listener\", LblistenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test-l7policy\")\n            .protocol(\"HTTP\")\n            .protocolPort(80.0)\n            .loadbalancerId(lb.loadbalancerv2Id())\n            .build());\n\n        var l7policy = new LbL7policy(\"l7policy\", LbL7policyArgs.builder()\n            .name(\"test-policy\")\n            .projectId(1.0)\n            .regionId(1.0)\n            .action(\"REDIRECT_PREFIX\")\n            .listenerId(listener.lblistenerId())\n            .redirectHttpCode(303.0)\n            .redirectPrefix(\"https://your-prefix.com/\")\n            .tags(            \n                \"aaa\",\n                \"bbb\",\n                \"ccc\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: edgecenter:Loadbalancerv2\n    properties:\n      flavor: lb1-1-2\n      metadataMap: {}\n      name: test-l7policy\n      projectId: 1\n      regionId: 1\n  listener:\n    type: edgecenter:Lblistener\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test-l7policy\n      protocol: HTTP\n      protocolPort: 80\n      loadbalancerId: ${lb.loadbalancerv2Id}\n  l7policy:\n    type: edgecenter:LbL7policy\n    properties:\n      name: test-policy\n      projectId: 1\n      regionId: 1\n      action: REDIRECT_PREFIX\n      listenerId: ${listener.lblistenerId}\n      redirectHttpCode: 303\n      redirectPrefix: https://your-prefix.com/\n      tags:\n        - aaa\n        - bbb\n        - ccc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cpolicy_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/lbL7policy:LbL7policy lbpolicy1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"action":{"type":"string","description":"Enum: \"REDIRECT*PREFIX\" \"REDIRECT*TO*POOL\" \"REDIRECT*TO_URL\" \"REJECT\"\nThe action.\n"},"createdAt":{"type":"string","description":"The datetime when the L7 policy was created\n"},"lbL7policyId":{"type":"string","description":"The ID of this resource.\n"},"listenerId":{"type":"string","description":"The ID of the listener\n"},"name":{"type":"string","description":"The human-readable name of the policy\n"},"operatingStatus":{"type":"string","description":"The operating status\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at 1\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"provisioningStatus":{"type":"string","description":"The provisioning status\n"},"redirectHttpCode":{"type":"number","description":"Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is REDIRECT*TO*URL or REDIRECT_PREFIX. Valid options are 301, 302, 303, 307, or 308. Default is 302\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID. Only valid if the action is REDIRECT*TO*POOL\n"},"redirectPrefix":{"type":"string","description":"Requests matching this policy will be redirected to this Prefix URL. Only valid if the action is REDIRECT_PREFIX\n"},"redirectUrl":{"type":"string","description":"Requests matching this policy will be redirected to this URL. Only valid if the action is REDIRECT*TO*URL\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"rules":{"type":"array","items":{"type":"string"},"description":"A set of l7rule uuids assigned to this l7policy\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of simple strings assigned to the resource\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbL7policyTimeouts:LbL7policyTimeouts"},"updatedAt":{"type":"string","description":"The datetime when the L7 policy was last updated\n"}},"type":"object","required":["action","createdAt","lbL7policyId","listenerId","name","operatingStatus","position","projectId","projectName","provisioningStatus","redirectHttpCode","regionId","regionName","rules","updatedAt"],"inputProperties":{"action":{"type":"string","description":"Enum: \"REDIRECT*PREFIX\" \"REDIRECT*TO*POOL\" \"REDIRECT*TO_URL\" \"REJECT\"\nThe action.\n"},"lbL7policyId":{"type":"string","description":"The ID of this resource.\n"},"listenerId":{"type":"string","description":"The ID of the listener\n"},"name":{"type":"string","description":"The human-readable name of the policy\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at 1\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"redirectHttpCode":{"type":"number","description":"Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is REDIRECT*TO*URL or REDIRECT_PREFIX. Valid options are 301, 302, 303, 307, or 308. Default is 302\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID. Only valid if the action is REDIRECT*TO*POOL\n"},"redirectPrefix":{"type":"string","description":"Requests matching this policy will be redirected to this Prefix URL. Only valid if the action is REDIRECT_PREFIX\n"},"redirectUrl":{"type":"string","description":"Requests matching this policy will be redirected to this URL. Only valid if the action is REDIRECT*TO*URL\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of simple strings assigned to the resource\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbL7policyTimeouts:LbL7policyTimeouts"}},"requiredInputs":["action","listenerId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbL7policy resources.\n","properties":{"action":{"type":"string","description":"Enum: \"REDIRECT*PREFIX\" \"REDIRECT*TO*POOL\" \"REDIRECT*TO_URL\" \"REJECT\"\nThe action.\n"},"createdAt":{"type":"string","description":"The datetime when the L7 policy was created\n"},"lbL7policyId":{"type":"string","description":"The ID of this resource.\n"},"listenerId":{"type":"string","description":"The ID of the listener\n"},"name":{"type":"string","description":"The human-readable name of the policy\n"},"operatingStatus":{"type":"string","description":"The operating status\n"},"position":{"type":"number","description":"The position of this policy on the listener. Positions start at 1\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"provisioningStatus":{"type":"string","description":"The provisioning status\n"},"redirectHttpCode":{"type":"number","description":"Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is REDIRECT*TO*URL or REDIRECT_PREFIX. Valid options are 301, 302, 303, 307, or 308. Default is 302\n"},"redirectPoolId":{"type":"string","description":"Requests matching this policy will be redirected to the pool with this ID. Only valid if the action is REDIRECT*TO*POOL\n"},"redirectPrefix":{"type":"string","description":"Requests matching this policy will be redirected to this Prefix URL. Only valid if the action is REDIRECT_PREFIX\n"},"redirectUrl":{"type":"string","description":"Requests matching this policy will be redirected to this URL. Only valid if the action is REDIRECT*TO*URL\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"rules":{"type":"array","items":{"type":"string"},"description":"A set of l7rule uuids assigned to this l7policy\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of simple strings assigned to the resource\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbL7policyTimeouts:LbL7policyTimeouts"},"updatedAt":{"type":"string","description":"The datetime when the L7 policy was last updated\n"}},"type":"object"}},"edgecenter:index/lbL7rule:LbL7rule":{"description":"An L7 Rule is a single, simple logical test which returns either true or false\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lb = new edgecenter.Loadbalancerv2(\"lb\", {\n    flavor: \"lb1-1-2\",\n    metadataMap: {},\n    name: \"test-l7policy\",\n    projectId: 1,\n    regionId: 1,\n});\nconst listener = new edgecenter.Lblistener(\"listener\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test-l7policy\",\n    protocol: \"HTTP\",\n    protocolPort: 80,\n    loadbalancerId: lb.loadbalancerv2Id,\n});\nconst l7policy = new edgecenter.LbL7policy(\"l7policy\", {\n    name: \"test-policy\",\n    projectId: 1,\n    regionId: 1,\n    action: \"REDIRECT_PREFIX\",\n    listenerId: listener.lblistenerId,\n    redirectHttpCode: 303,\n    redirectPrefix: \"https://your-prefix.com/\",\n    tags: [\n        \"aaa\",\n        \"bbb\",\n        \"ccc\",\n    ],\n});\nconst l7rule = new edgecenter.LbL7rule(\"l7rule\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"PATH\",\n    l7policyId: l7policy.lbL7policyId,\n    compareType: \"REGEX\",\n    value: \"/images*\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlb = edgecenter.Loadbalancerv2(\"lb\",\n    flavor=\"lb1-1-2\",\n    metadata_map={},\n    name=\"test-l7policy\",\n    project_id=1,\n    region_id=1)\nlistener = edgecenter.Lblistener(\"listener\",\n    project_id=1,\n    region_id=1,\n    name=\"test-l7policy\",\n    protocol=\"HTTP\",\n    protocol_port=80,\n    loadbalancer_id=lb.loadbalancerv2_id)\nl7policy = edgecenter.LbL7policy(\"l7policy\",\n    name=\"test-policy\",\n    project_id=1,\n    region_id=1,\n    action=\"REDIRECT_PREFIX\",\n    listener_id=listener.lblistener_id,\n    redirect_http_code=303,\n    redirect_prefix=\"https://your-prefix.com/\",\n    tags=[\n        \"aaa\",\n        \"bbb\",\n        \"ccc\",\n    ])\nl7rule = edgecenter.LbL7rule(\"l7rule\",\n    project_id=1,\n    region_id=1,\n    type=\"PATH\",\n    l7policy_id=l7policy.lb_l7policy_id,\n    compare_type=\"REGEX\",\n    value=\"/images*\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Edgecenter.Loadbalancerv2(\"lb\", new()\n    {\n        Flavor = \"lb1-1-2\",\n        MetadataMap = null,\n        Name = \"test-l7policy\",\n        ProjectId = 1,\n        RegionId = 1,\n    });\n\n    var listener = new Edgecenter.Lblistener(\"listener\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test-l7policy\",\n        Protocol = \"HTTP\",\n        ProtocolPort = 80,\n        LoadbalancerId = lb.Loadbalancerv2Id,\n    });\n\n    var l7policy = new Edgecenter.LbL7policy(\"l7policy\", new()\n    {\n        Name = \"test-policy\",\n        ProjectId = 1,\n        RegionId = 1,\n        Action = \"REDIRECT_PREFIX\",\n        ListenerId = listener.LblistenerId,\n        RedirectHttpCode = 303,\n        RedirectPrefix = \"https://your-prefix.com/\",\n        Tags = new[]\n        {\n            \"aaa\",\n            \"bbb\",\n            \"ccc\",\n        },\n    });\n\n    var l7rule = new Edgecenter.LbL7rule(\"l7rule\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"PATH\",\n        L7policyId = l7policy.LbL7policyId,\n        CompareType = \"REGEX\",\n        Value = \"/images*\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := edgecenter.NewLoadbalancerv2(ctx, \"lb\", \u0026edgecenter.Loadbalancerv2Args{\n\t\t\tFlavor:      pulumi.String(\"lb1-1-2\"),\n\t\t\tMetadataMap: pulumi.StringMap{},\n\t\t\tName:        pulumi.String(\"test-l7policy\"),\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistener, err := edgecenter.NewLblistener(ctx, \"listener\", \u0026edgecenter.LblistenerArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tName:           pulumi.String(\"test-l7policy\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tProtocolPort:   pulumi.Float64(80),\n\t\t\tLoadbalancerId: lb.Loadbalancerv2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tl7policy, err := edgecenter.NewLbL7policy(ctx, \"l7policy\", \u0026edgecenter.LbL7policyArgs{\n\t\t\tName:             pulumi.String(\"test-policy\"),\n\t\t\tProjectId:        pulumi.Float64(1),\n\t\t\tRegionId:         pulumi.Float64(1),\n\t\t\tAction:           pulumi.String(\"REDIRECT_PREFIX\"),\n\t\t\tListenerId:       listener.LblistenerId,\n\t\t\tRedirectHttpCode: pulumi.Float64(303),\n\t\t\tRedirectPrefix:   pulumi.String(\"https://your-prefix.com/\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aaa\"),\n\t\t\t\tpulumi.String(\"bbb\"),\n\t\t\t\tpulumi.String(\"ccc\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewLbL7rule(ctx, \"l7rule\", \u0026edgecenter.LbL7ruleArgs{\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t\tType:        pulumi.String(\"PATH\"),\n\t\t\tL7policyId:  l7policy.LbL7policyId,\n\t\t\tCompareType: pulumi.String(\"REGEX\"),\n\t\t\tValue:       pulumi.String(\"/images*\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Loadbalancerv2;\nimport com.pulumi.edgecenter.Loadbalancerv2Args;\nimport com.pulumi.edgecenter.Lblistener;\nimport com.pulumi.edgecenter.LblistenerArgs;\nimport com.pulumi.edgecenter.LbL7policy;\nimport com.pulumi.edgecenter.LbL7policyArgs;\nimport com.pulumi.edgecenter.LbL7rule;\nimport com.pulumi.edgecenter.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 lb = new Loadbalancerv2(\"lb\", Loadbalancerv2Args.builder()\n            .flavor(\"lb1-1-2\")\n            .metadataMap(Map.ofEntries(\n            ))\n            .name(\"test-l7policy\")\n            .projectId(1.0)\n            .regionId(1.0)\n            .build());\n\n        var listener = new Lblistener(\"listener\", LblistenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test-l7policy\")\n            .protocol(\"HTTP\")\n            .protocolPort(80.0)\n            .loadbalancerId(lb.loadbalancerv2Id())\n            .build());\n\n        var l7policy = new LbL7policy(\"l7policy\", LbL7policyArgs.builder()\n            .name(\"test-policy\")\n            .projectId(1.0)\n            .regionId(1.0)\n            .action(\"REDIRECT_PREFIX\")\n            .listenerId(listener.lblistenerId())\n            .redirectHttpCode(303.0)\n            .redirectPrefix(\"https://your-prefix.com/\")\n            .tags(            \n                \"aaa\",\n                \"bbb\",\n                \"ccc\")\n            .build());\n\n        var l7rule = new LbL7rule(\"l7rule\", LbL7ruleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"PATH\")\n            .l7policyId(l7policy.lbL7policyId())\n            .compareType(\"REGEX\")\n            .value(\"/images*\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: edgecenter:Loadbalancerv2\n    properties:\n      flavor: lb1-1-2\n      metadataMap: {}\n      name: test-l7policy\n      projectId: 1\n      regionId: 1\n  listener:\n    type: edgecenter:Lblistener\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test-l7policy\n      protocol: HTTP\n      protocolPort: 80\n      loadbalancerId: ${lb.loadbalancerv2Id}\n  l7policy:\n    type: edgecenter:LbL7policy\n    properties:\n      name: test-policy\n      projectId: 1\n      regionId: 1\n      action: REDIRECT_PREFIX\n      listenerId: ${listener.lblistenerId}\n      redirectHttpCode: 303\n      redirectPrefix: https://your-prefix.com/\n      tags:\n        - aaa\n        - bbb\n        - ccc\n  l7rule:\n    type: edgecenter:LbL7rule\n    properties:\n      projectId: 1\n      regionId: 1\n      type: PATH\n      l7policyId: ${l7policy.lbL7policyId}\n      compareType: REGEX\n      value: /images*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"compareType":{"type":"string","description":"The comparison type for the L7 rule. Available comparison types: \"CONTAINS\", \"STARTS*WITH\", \"ENDS*WITH\", \"EQUAL_TO\", \"REGEX\".\n"},"invert":{"type":"boolean","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the logic of the rule is inverted.\n"},"key":{"type":"string","description":"The key to use for the comparison. For example, the name of the cookie to evaluate."},"l7policyId":{"type":"string","description":"The ID of the L7 policy.\n"},"lbL7ruleId":{"type":"string"},"listenerId":{"type":"string","description":"The ID of the listener."},"operatingStatus":{"type":"string","description":"The operating status."},"projectId":{"type":"number","description":"The uuid of the project. Either 'project_id' or 'project_name' must be specified."},"projectName":{"type":"string","description":"The name of the project. Either 'project_id' or 'project_name' must be specified."},"provisioningStatus":{"type":"string","description":"The provisioning status."},"regionId":{"type":"number","description":"The uuid of the region. Either 'region_id' or 'region_name' must be specified."},"regionName":{"type":"string","description":"The name of the region. Either 'region_id' or 'region_name' must be specified."},"tags":{"type":"array","items":{"type":"string"},"description":"A list of simple strings assigned to the resource."},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbL7ruleTimeouts:LbL7ruleTimeouts"},"type":{"type":"string","description":"The type of the L7 rule. Available types: \"COOKIE\", \"FILE*TYPE\", \"HEADER\", \"HOST*NAME\", \"PATH\", \"SSL*CONN*HAS*CERT\", \"SSL*VERIFY*RESULT\", \"SSL*DN_FIELD\".\n"},"value":{"type":"string","description":"The value to use for the comparison. For example, the file type to compare.\n"}},"type":"object","required":["compareType","l7policyId","lbL7ruleId","listenerId","operatingStatus","projectId","projectName","provisioningStatus","regionId","regionName","type","value"],"inputProperties":{"compareType":{"type":"string","description":"The comparison type for the L7 rule. Available comparison types: \"CONTAINS\", \"STARTS*WITH\", \"ENDS*WITH\", \"EQUAL_TO\", \"REGEX\".\n"},"invert":{"type":"boolean","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the logic of the rule is inverted.\n"},"key":{"type":"string","description":"The key to use for the comparison. For example, the name of the cookie to evaluate."},"l7policyId":{"type":"string","description":"The ID of the L7 policy.\n"},"lbL7ruleId":{"type":"string"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project_id' or 'project_name' must be specified."},"projectName":{"type":"string","description":"The name of the project. Either 'project_id' or 'project_name' must be specified."},"regionId":{"type":"number","description":"The uuid of the region. Either 'region_id' or 'region_name' must be specified."},"regionName":{"type":"string","description":"The name of the region. Either 'region_id' or 'region_name' must be specified."},"tags":{"type":"array","items":{"type":"string"},"description":"A list of simple strings assigned to the resource."},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbL7ruleTimeouts:LbL7ruleTimeouts"},"type":{"type":"string","description":"The type of the L7 rule. Available types: \"COOKIE\", \"FILE*TYPE\", \"HEADER\", \"HOST*NAME\", \"PATH\", \"SSL*CONN*HAS*CERT\", \"SSL*VERIFY*RESULT\", \"SSL*DN_FIELD\".\n"},"value":{"type":"string","description":"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":{"compareType":{"type":"string","description":"The comparison type for the L7 rule. Available comparison types: \"CONTAINS\", \"STARTS*WITH\", \"ENDS*WITH\", \"EQUAL_TO\", \"REGEX\".\n"},"invert":{"type":"boolean","description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the logic of the rule is inverted.\n"},"key":{"type":"string","description":"The key to use for the comparison. For example, the name of the cookie to evaluate."},"l7policyId":{"type":"string","description":"The ID of the L7 policy.\n"},"lbL7ruleId":{"type":"string"},"listenerId":{"type":"string","description":"The ID of the listener."},"operatingStatus":{"type":"string","description":"The operating status."},"projectId":{"type":"number","description":"The uuid of the project. Either 'project_id' or 'project_name' must be specified."},"projectName":{"type":"string","description":"The name of the project. Either 'project_id' or 'project_name' must be specified."},"provisioningStatus":{"type":"string","description":"The provisioning status."},"regionId":{"type":"number","description":"The uuid of the region. Either 'region_id' or 'region_name' must be specified."},"regionName":{"type":"string","description":"The name of the region. Either 'region_id' or 'region_name' must be specified."},"tags":{"type":"array","items":{"type":"string"},"description":"A list of simple strings assigned to the resource."},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbL7ruleTimeouts:LbL7ruleTimeouts"},"type":{"type":"string","description":"The type of the L7 rule. Available types: \"COOKIE\", \"FILE*TYPE\", \"HEADER\", \"HOST*NAME\", \"PATH\", \"SSL*CONN*HAS*CERT\", \"SSL*VERIFY*RESULT\", \"SSL*DN_FIELD\".\n"},"value":{"type":"string","description":"The value to use for the comparison. For example, the file type to compare.\n"}},"type":"object"}},"edgecenter:index/lblistener:Lblistener":{"description":"Represent a load balancer listener. Can not be created without a load balancer. A listener is a process that checks for connection requests using the protocol and port that you configure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lb = new edgecenter.Loadbalancerv2(\"lb\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test\",\n    flavor: \"lb1-1-2\",\n});\nconst listener = new edgecenter.Lblistener(\"listener\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test\",\n    protocol: \"TCP\",\n    protocolPort: 36621,\n    allowedCidrs: [\n        \"127.0.0.0/24\",\n        \"192.168.0.0/24\",\n    ],\n    loadbalancerId: lb.loadbalancerv2Id,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlb = edgecenter.Loadbalancerv2(\"lb\",\n    project_id=1,\n    region_id=1,\n    name=\"test\",\n    flavor=\"lb1-1-2\")\nlistener = edgecenter.Lblistener(\"listener\",\n    project_id=1,\n    region_id=1,\n    name=\"test\",\n    protocol=\"TCP\",\n    protocol_port=36621,\n    allowed_cidrs=[\n        \"127.0.0.0/24\",\n        \"192.168.0.0/24\",\n    ],\n    loadbalancer_id=lb.loadbalancerv2_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Edgecenter.Loadbalancerv2(\"lb\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test\",\n        Flavor = \"lb1-1-2\",\n    });\n\n    var listener = new Edgecenter.Lblistener(\"listener\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test\",\n        Protocol = \"TCP\",\n        ProtocolPort = 36621,\n        AllowedCidrs = new[]\n        {\n            \"127.0.0.0/24\",\n            \"192.168.0.0/24\",\n        },\n        LoadbalancerId = lb.Loadbalancerv2Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := edgecenter.NewLoadbalancerv2(ctx, \"lb\", \u0026edgecenter.Loadbalancerv2Args{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"test\"),\n\t\t\tFlavor:    pulumi.String(\"lb1-1-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewLblistener(ctx, \"listener\", \u0026edgecenter.LblistenerArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"test\"),\n\t\t\tProtocol:     pulumi.String(\"TCP\"),\n\t\t\tProtocolPort: pulumi.Float64(36621),\n\t\t\tAllowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"192.168.0.0/24\"),\n\t\t\t},\n\t\t\tLoadbalancerId: lb.Loadbalancerv2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Loadbalancerv2;\nimport com.pulumi.edgecenter.Loadbalancerv2Args;\nimport com.pulumi.edgecenter.Lblistener;\nimport com.pulumi.edgecenter.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 lb = new Loadbalancerv2(\"lb\", Loadbalancerv2Args.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test\")\n            .flavor(\"lb1-1-2\")\n            .build());\n\n        var listener = new Lblistener(\"listener\", LblistenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test\")\n            .protocol(\"TCP\")\n            .protocolPort(36621.0)\n            .allowedCidrs(            \n                \"127.0.0.0/24\",\n                \"192.168.0.0/24\")\n            .loadbalancerId(lb.loadbalancerv2Id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: edgecenter:Loadbalancerv2\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test\n      flavor: lb1-1-2\n  listener:\n    type: edgecenter:Lblistener\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test\n      protocol: TCP\n      protocolPort: 36621\n      allowedCidrs:\n        - 127.0.0.0/24\n        - 192.168.0.0/24\n      loadbalancerId: ${lb.loadbalancerv2Id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003clblistener_id\u003e:\u003cloadbalancer_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/lblistener:Lblistener lblistener1 1:6:a775dd94-4e9c-4da7-9f0e-ffc9ae34446b:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"allowedCidrs":{"type":"array","items":{"type":"string"},"description":"The allowed CIDRs for listener.\n"},"insertXForwarded":{"type":"boolean","description":"Insert *-forwarded headers\n"},"l7policies":{"type":"array","items":{"type":"string"},"description":"Set of l7policy uuids attached to this listener.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lblistenerId":{"type":"string","description":"The ID of this resource.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer listener.\n"},"operatingStatus":{"type":"string","description":"The current operational status of the load balancer.\n"},"poolCount":{"type":"number","description":"Number of pools associated with the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocol":{"type":"string","description":"Available values are 'TCP', 'UDP', 'HTTP', 'HTTPS' and 'TERMINATED_HTTPS'.\n"},"protocolPort":{"type":"number","description":"The port on which the protocol is bound.\n"},"provisioningStatus":{"type":"string","description":"The current provisioning status of the load balancer.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"secretId":{"type":"string","description":"The identifier for the associated secret, typically used for SSL configurations.\n"},"sniSecretIds":{"type":"array","items":{"type":"string"},"description":"List of secret identifiers used for Server Name Indication (SNI).\n"},"timeoutClientData":{"type":"number","description":"The timeout for the frontend client inactivity (in milliseconds).\n"},"timeoutMemberConnect":{"type":"number","description":"The timeout for the backend member connection (in milliseconds).\n"},"timeoutMemberData":{"type":"number","description":"The timeout for the backend member inactivity (in milliseconds).\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLblistenerTimeouts:LblistenerTimeouts"}},"type":"object","required":["l7policies","lastUpdated","lblistenerId","loadbalancerId","name","operatingStatus","poolCount","protocol","protocolPort","provisioningStatus","timeoutClientData","timeoutMemberConnect","timeoutMemberData"],"inputProperties":{"allowedCidrs":{"type":"array","items":{"type":"string"},"description":"The allowed CIDRs for listener.\n"},"insertXForwarded":{"type":"boolean","description":"Insert *-forwarded headers\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lblistenerId":{"type":"string","description":"The ID of this resource.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer listener.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocol":{"type":"string","description":"Available values are 'TCP', 'UDP', 'HTTP', 'HTTPS' and 'TERMINATED_HTTPS'.\n"},"protocolPort":{"type":"number","description":"The port on which the protocol is bound.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"secretId":{"type":"string","description":"The identifier for the associated secret, typically used for SSL configurations.\n"},"sniSecretIds":{"type":"array","items":{"type":"string"},"description":"List of secret identifiers used for Server Name Indication (SNI).\n"},"timeoutClientData":{"type":"number","description":"The timeout for the frontend client inactivity (in milliseconds).\n"},"timeoutMemberConnect":{"type":"number","description":"The timeout for the backend member connection (in milliseconds).\n"},"timeoutMemberData":{"type":"number","description":"The timeout for the backend member inactivity (in milliseconds).\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLblistenerTimeouts:LblistenerTimeouts"}},"requiredInputs":["loadbalancerId","protocol","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering Lblistener resources.\n","properties":{"allowedCidrs":{"type":"array","items":{"type":"string"},"description":"The allowed CIDRs for listener.\n"},"insertXForwarded":{"type":"boolean","description":"Insert *-forwarded headers\n"},"l7policies":{"type":"array","items":{"type":"string"},"description":"Set of l7policy uuids attached to this listener.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lblistenerId":{"type":"string","description":"The ID of this resource.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer listener.\n"},"operatingStatus":{"type":"string","description":"The current operational status of the load balancer.\n"},"poolCount":{"type":"number","description":"Number of pools associated with the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocol":{"type":"string","description":"Available values are 'TCP', 'UDP', 'HTTP', 'HTTPS' and 'TERMINATED_HTTPS'.\n"},"protocolPort":{"type":"number","description":"The port on which the protocol is bound.\n"},"provisioningStatus":{"type":"string","description":"The current provisioning status of the load balancer.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"secretId":{"type":"string","description":"The identifier for the associated secret, typically used for SSL configurations.\n"},"sniSecretIds":{"type":"array","items":{"type":"string"},"description":"List of secret identifiers used for Server Name Indication (SNI).\n"},"timeoutClientData":{"type":"number","description":"The timeout for the frontend client inactivity (in milliseconds).\n"},"timeoutMemberConnect":{"type":"number","description":"The timeout for the backend member connection (in milliseconds).\n"},"timeoutMemberData":{"type":"number","description":"The timeout for the backend member inactivity (in milliseconds).\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLblistenerTimeouts:LblistenerTimeouts"}},"type":"object"}},"edgecenter:index/lbmember:Lbmember":{"description":"Represent load balancer member\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  lb:\n    type: edgecenter:Loadbalancer\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test1\n      flavor: lb1-1-2\n      listeners:\n        - name: test\n          protocol: HTTP\n          protocolPort: 80\n  pl:\n    type: edgecenter:Lbpool\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test_pool1\n      protocol: HTTP\n      lbAlgorithm: LEAST_CONNECTIONS\n      loadbalancerId: ${lb.loadbalancerId}\n      listenerId: ${lb.listeners[0].id}\n      healthMonitor:\n        type: PING\n        delay: 60\n        maxRetries: 5\n        timeout: 10\n      sessionPersistence:\n        type: APP_COOKIE\n        cookieName: test_new_cookie\n  lbm:\n    type: edgecenter:Lbmember\n    properties:\n      projectId: 1\n      regionId: 1\n      poolId: ${pl.lbpoolId}\n      address: 10.10.2.15\n      protocolPort: 8081\n      weight: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003clbmember\u003e:\u003cpool_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/lbmember:Lbmember lbmember1 1:6:a775dd94-4e9c-4da7-9f0e-ffc9ae34446b:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"address":{"type":"string","description":"The IP address of the load balancer pool member.\n"},"instanceId":{"type":"string","description":"The uuid of the instance (amphora) associated with the pool member.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lbmemberId":{"type":"string","description":"The ID of this resource.\n"},"operatingStatus":{"type":"string","description":"The current operating status of the pool member.\n"},"poolId":{"type":"string","description":"The uuid for the load balancer pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocolPort":{"type":"number","description":"The port on which the member listens for requests.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"subnetId":{"type":"string","description":"The uuid of the subnet in which the pool member is located.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbmemberTimeouts:LbmemberTimeouts"},"weight":{"type":"number","description":"A weight value between 0 and 256, determining the distribution of requests among the members of the pool.\n"}},"type":"object","required":["address","lastUpdated","lbmemberId","operatingStatus","poolId","protocolPort","subnetId"],"inputProperties":{"address":{"type":"string","description":"The IP address of the load balancer pool member.\n"},"instanceId":{"type":"string","description":"The uuid of the instance (amphora) associated with the pool member.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lbmemberId":{"type":"string","description":"The ID of this resource.\n"},"poolId":{"type":"string","description":"The uuid for the load balancer pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocolPort":{"type":"number","description":"The port on which the member listens for requests.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"subnetId":{"type":"string","description":"The uuid of the subnet in which the pool member is located.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbmemberTimeouts:LbmemberTimeouts"},"weight":{"type":"number","description":"A weight value between 0 and 256, determining the distribution of requests among the members of the pool.\n"}},"requiredInputs":["address","poolId","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering Lbmember resources.\n","properties":{"address":{"type":"string","description":"The IP address of the load balancer pool member.\n"},"instanceId":{"type":"string","description":"The uuid of the instance (amphora) associated with the pool member.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lbmemberId":{"type":"string","description":"The ID of this resource.\n"},"operatingStatus":{"type":"string","description":"The current operating status of the pool member.\n"},"poolId":{"type":"string","description":"The uuid for the load balancer pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocolPort":{"type":"number","description":"The port on which the member listens for requests.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"subnetId":{"type":"string","description":"The uuid of the subnet in which the pool member is located.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbmemberTimeouts:LbmemberTimeouts"},"weight":{"type":"number","description":"A weight value between 0 and 256, determining the distribution of requests among the members of the pool.\n"}},"type":"object"}},"edgecenter:index/lbpool:Lbpool":{"description":"Represent load balancer listener pool. A pool is a list of virtual machines to which the listener will redirect incoming traffic\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lb = new edgecenter.Loadbalancerv2(\"lb\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test\",\n    flavor: \"lb1-1-2\",\n    metadataMap: {\n        tag1: \"tag1_value\",\n    },\n});\nconst listener = new edgecenter.Lblistener(\"listener\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test\",\n    protocol: \"TCP\",\n    protocolPort: 36621,\n    allowedCidrs: [\n        \"127.0.0.0/24\",\n        \"192.168.0.0/24\",\n    ],\n    loadbalancerId: lb.loadbalancerv2Id,\n});\nconst pl = new edgecenter.Lbpool(\"pl\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test_pool1\",\n    protocol: \"HTTP\",\n    lbAlgorithm: \"LEAST_CONNECTIONS\",\n    loadbalancerId: lb.loadbalancerv2Id,\n    listenerId: listener.lblistenerId,\n    healthMonitor: {\n        type: \"PING\",\n        delay: 60,\n        maxRetries: 5,\n        timeout: 10,\n    },\n    sessionPersistence: {\n        type: \"APP_COOKIE\",\n        cookieName: \"test_new_cookie\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlb = edgecenter.Loadbalancerv2(\"lb\",\n    project_id=1,\n    region_id=1,\n    name=\"test\",\n    flavor=\"lb1-1-2\",\n    metadata_map={\n        \"tag1\": \"tag1_value\",\n    })\nlistener = edgecenter.Lblistener(\"listener\",\n    project_id=1,\n    region_id=1,\n    name=\"test\",\n    protocol=\"TCP\",\n    protocol_port=36621,\n    allowed_cidrs=[\n        \"127.0.0.0/24\",\n        \"192.168.0.0/24\",\n    ],\n    loadbalancer_id=lb.loadbalancerv2_id)\npl = edgecenter.Lbpool(\"pl\",\n    project_id=1,\n    region_id=1,\n    name=\"test_pool1\",\n    protocol=\"HTTP\",\n    lb_algorithm=\"LEAST_CONNECTIONS\",\n    loadbalancer_id=lb.loadbalancerv2_id,\n    listener_id=listener.lblistener_id,\n    health_monitor={\n        \"type\": \"PING\",\n        \"delay\": 60,\n        \"max_retries\": 5,\n        \"timeout\": 10,\n    },\n    session_persistence={\n        \"type\": \"APP_COOKIE\",\n        \"cookie_name\": \"test_new_cookie\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Edgecenter.Loadbalancerv2(\"lb\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test\",\n        Flavor = \"lb1-1-2\",\n        MetadataMap = \n        {\n            { \"tag1\", \"tag1_value\" },\n        },\n    });\n\n    var listener = new Edgecenter.Lblistener(\"listener\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test\",\n        Protocol = \"TCP\",\n        ProtocolPort = 36621,\n        AllowedCidrs = new[]\n        {\n            \"127.0.0.0/24\",\n            \"192.168.0.0/24\",\n        },\n        LoadbalancerId = lb.Loadbalancerv2Id,\n    });\n\n    var pl = new Edgecenter.Lbpool(\"pl\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test_pool1\",\n        Protocol = \"HTTP\",\n        LbAlgorithm = \"LEAST_CONNECTIONS\",\n        LoadbalancerId = lb.Loadbalancerv2Id,\n        ListenerId = listener.LblistenerId,\n        HealthMonitor = new Edgecenter.Inputs.LbpoolHealthMonitorArgs\n        {\n            Type = \"PING\",\n            Delay = 60,\n            MaxRetries = 5,\n            Timeout = 10,\n        },\n        SessionPersistence = new Edgecenter.Inputs.LbpoolSessionPersistenceArgs\n        {\n            Type = \"APP_COOKIE\",\n            CookieName = \"test_new_cookie\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlb, err := edgecenter.NewLoadbalancerv2(ctx, \"lb\", \u0026edgecenter.Loadbalancerv2Args{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"test\"),\n\t\t\tFlavor:    pulumi.String(\"lb1-1-2\"),\n\t\t\tMetadataMap: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"tag1_value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlistener, err := edgecenter.NewLblistener(ctx, \"listener\", \u0026edgecenter.LblistenerArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"test\"),\n\t\t\tProtocol:     pulumi.String(\"TCP\"),\n\t\t\tProtocolPort: pulumi.Float64(36621),\n\t\t\tAllowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.0/24\"),\n\t\t\t\tpulumi.String(\"192.168.0.0/24\"),\n\t\t\t},\n\t\t\tLoadbalancerId: lb.Loadbalancerv2Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewLbpool(ctx, \"pl\", \u0026edgecenter.LbpoolArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tName:           pulumi.String(\"test_pool1\"),\n\t\t\tProtocol:       pulumi.String(\"HTTP\"),\n\t\t\tLbAlgorithm:    pulumi.String(\"LEAST_CONNECTIONS\"),\n\t\t\tLoadbalancerId: lb.Loadbalancerv2Id,\n\t\t\tListenerId:     listener.LblistenerId,\n\t\t\tHealthMonitor: \u0026edgecenter.LbpoolHealthMonitorArgs{\n\t\t\t\tType:       pulumi.String(\"PING\"),\n\t\t\t\tDelay:      pulumi.Float64(60),\n\t\t\t\tMaxRetries: pulumi.Float64(5),\n\t\t\t\tTimeout:    pulumi.Float64(10),\n\t\t\t},\n\t\t\tSessionPersistence: \u0026edgecenter.LbpoolSessionPersistenceArgs{\n\t\t\t\tType:       pulumi.String(\"APP_COOKIE\"),\n\t\t\t\tCookieName: pulumi.String(\"test_new_cookie\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Loadbalancerv2;\nimport com.pulumi.edgecenter.Loadbalancerv2Args;\nimport com.pulumi.edgecenter.Lblistener;\nimport com.pulumi.edgecenter.LblistenerArgs;\nimport com.pulumi.edgecenter.Lbpool;\nimport com.pulumi.edgecenter.LbpoolArgs;\nimport com.pulumi.edgecenter.inputs.LbpoolHealthMonitorArgs;\nimport com.pulumi.edgecenter.inputs.LbpoolSessionPersistenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb = new Loadbalancerv2(\"lb\", Loadbalancerv2Args.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test\")\n            .flavor(\"lb1-1-2\")\n            .metadataMap(Map.of(\"tag1\", \"tag1_value\"))\n            .build());\n\n        var listener = new Lblistener(\"listener\", LblistenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test\")\n            .protocol(\"TCP\")\n            .protocolPort(36621.0)\n            .allowedCidrs(            \n                \"127.0.0.0/24\",\n                \"192.168.0.0/24\")\n            .loadbalancerId(lb.loadbalancerv2Id())\n            .build());\n\n        var pl = new Lbpool(\"pl\", LbpoolArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test_pool1\")\n            .protocol(\"HTTP\")\n            .lbAlgorithm(\"LEAST_CONNECTIONS\")\n            .loadbalancerId(lb.loadbalancerv2Id())\n            .listenerId(listener.lblistenerId())\n            .healthMonitor(LbpoolHealthMonitorArgs.builder()\n                .type(\"PING\")\n                .delay(60.0)\n                .maxRetries(5.0)\n                .timeout(10.0)\n                .build())\n            .sessionPersistence(LbpoolSessionPersistenceArgs.builder()\n                .type(\"APP_COOKIE\")\n                .cookieName(\"test_new_cookie\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: edgecenter:Loadbalancerv2\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test\n      flavor: lb1-1-2\n      metadataMap:\n        tag1: tag1_value\n  listener:\n    type: edgecenter:Lblistener\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test\n      protocol: TCP\n      protocolPort: 36621\n      allowedCidrs:\n        - 127.0.0.0/24\n        - 192.168.0.0/24\n      loadbalancerId: ${lb.loadbalancerv2Id}\n  pl:\n    type: edgecenter:Lbpool\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test_pool1\n      protocol: HTTP\n      lbAlgorithm: LEAST_CONNECTIONS\n      loadbalancerId: ${lb.loadbalancerv2Id}\n      listenerId: ${listener.lblistenerId}\n      healthMonitor:\n        type: PING\n        delay: 60\n        maxRetries: 5\n        timeout: 10\n      sessionPersistence:\n        type: APP_COOKIE\n        cookieName: test_new_cookie\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003clbpool_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/lbpool:Lbpool lbpool1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"healthMonitor":{"$ref":"#/types/edgecenter:index%2FLbpoolHealthMonitor:LbpoolHealthMonitor","description":"Configuration for health checks to test the health and state of the backend members. It determines how the load balancer identifies whether the backend members are healthy or unhealthy.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lbAlgorithm":{"type":"string","description":"The algorithm of the load balancer. Available values are `ROUND_ROBIN`, `LEAST_CONNECTIONS`, `SOURCE_IP`.\n"},"lbpoolId":{"type":"string","description":"The ID of this resource.\n"},"listenerId":{"type":"string","description":"The uuid for the load balancer listener.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer listener pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocol":{"type":"string","description":"The protocol. Available values are `HTTP` (currently work, other do not work on ed-8), `HTTPS`, `TCP`, `UDP`, `PROXY`.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"sessionPersistence":{"$ref":"#/types/edgecenter:index%2FLbpoolSessionPersistence:LbpoolSessionPersistence","description":"Configuration that enables the load balancer to bind a user's session to a specific backend member. This ensures that all requests from the user during the session are sent to the same member.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbpoolTimeouts:LbpoolTimeouts"}},"type":"object","required":["lastUpdated","lbAlgorithm","lbpoolId","name","protocol"],"inputProperties":{"healthMonitor":{"$ref":"#/types/edgecenter:index%2FLbpoolHealthMonitor:LbpoolHealthMonitor","description":"Configuration for health checks to test the health and state of the backend members. It determines how the load balancer identifies whether the backend members are healthy or unhealthy.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lbAlgorithm":{"type":"string","description":"The algorithm of the load balancer. Available values are `ROUND_ROBIN`, `LEAST_CONNECTIONS`, `SOURCE_IP`.\n"},"lbpoolId":{"type":"string","description":"The ID of this resource.\n"},"listenerId":{"type":"string","description":"The uuid for the load balancer listener.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer listener pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocol":{"type":"string","description":"The protocol. Available values are `HTTP` (currently work, other do not work on ed-8), `HTTPS`, `TCP`, `UDP`, `PROXY`.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"sessionPersistence":{"$ref":"#/types/edgecenter:index%2FLbpoolSessionPersistence:LbpoolSessionPersistence","description":"Configuration that enables the load balancer to bind a user's session to a specific backend member. This ensures that all requests from the user during the session are sent to the same member.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbpoolTimeouts:LbpoolTimeouts"}},"requiredInputs":["lbAlgorithm","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering Lbpool resources.\n","properties":{"healthMonitor":{"$ref":"#/types/edgecenter:index%2FLbpoolHealthMonitor:LbpoolHealthMonitor","description":"Configuration for health checks to test the health and state of the backend members. It determines how the load balancer identifies whether the backend members are healthy or unhealthy.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"lbAlgorithm":{"type":"string","description":"The algorithm of the load balancer. Available values are `ROUND_ROBIN`, `LEAST_CONNECTIONS`, `SOURCE_IP`.\n"},"lbpoolId":{"type":"string","description":"The ID of this resource.\n"},"listenerId":{"type":"string","description":"The uuid for the load balancer listener.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer listener pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"protocol":{"type":"string","description":"The protocol. Available values are `HTTP` (currently work, other do not work on ed-8), `HTTPS`, `TCP`, `UDP`, `PROXY`.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"sessionPersistence":{"$ref":"#/types/edgecenter:index%2FLbpoolSessionPersistence:LbpoolSessionPersistence","description":"Configuration that enables the load balancer to bind a user's session to a specific backend member. This ensures that all requests from the user during the session are sent to the same member.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLbpoolTimeouts:LbpoolTimeouts"}},"type":"object"}},"edgecenter:index/lifecyclepolicy:Lifecyclepolicy":{"description":"Represent lifecycle policy. Use to periodically take snapshots\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lp = new edgecenter.Lifecyclepolicy(\"lp\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test\",\n    status: \"active\",\n    action: \"volume_snapshot\",\n    volumes: [{\n        id: \"fe93bfdd-4ce3-4041-b89b-4f10d0d49498\",\n    }],\n    schedules: [{\n        maxQuantity: 4,\n        interval: {\n            weeks: 1,\n            days: 2,\n            hours: 3,\n            minutes: 4,\n        },\n        resourceNameTemplate: \"reserve snap of the volume {volume_id}\",\n        retentionTime: {\n            weeks: 4,\n            days: 3,\n            hours: 2,\n            minutes: 1,\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlp = edgecenter.Lifecyclepolicy(\"lp\",\n    project_id=1,\n    region_id=1,\n    name=\"test\",\n    status=\"active\",\n    action=\"volume_snapshot\",\n    volumes=[{\n        \"id\": \"fe93bfdd-4ce3-4041-b89b-4f10d0d49498\",\n    }],\n    schedules=[{\n        \"max_quantity\": 4,\n        \"interval\": {\n            \"weeks\": 1,\n            \"days\": 2,\n            \"hours\": 3,\n            \"minutes\": 4,\n        },\n        \"resource_name_template\": \"reserve snap of the volume {volume_id}\",\n        \"retention_time\": {\n            \"weeks\": 4,\n            \"days\": 3,\n            \"hours\": 2,\n            \"minutes\": 1,\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lp = new Edgecenter.Lifecyclepolicy(\"lp\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test\",\n        Status = \"active\",\n        Action = \"volume_snapshot\",\n        Volumes = new[]\n        {\n            new Edgecenter.Inputs.LifecyclepolicyVolumeArgs\n            {\n                Id = \"fe93bfdd-4ce3-4041-b89b-4f10d0d49498\",\n            },\n        },\n        Schedules = new[]\n        {\n            new Edgecenter.Inputs.LifecyclepolicyScheduleArgs\n            {\n                MaxQuantity = 4,\n                Interval = new Edgecenter.Inputs.LifecyclepolicyScheduleIntervalArgs\n                {\n                    Weeks = 1,\n                    Days = 2,\n                    Hours = 3,\n                    Minutes = 4,\n                },\n                ResourceNameTemplate = \"reserve snap of the volume {volume_id}\",\n                RetentionTime = new Edgecenter.Inputs.LifecyclepolicyScheduleRetentionTimeArgs\n                {\n                    Weeks = 4,\n                    Days = 3,\n                    Hours = 2,\n                    Minutes = 1,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewLifecyclepolicy(ctx, \"lp\", \u0026edgecenter.LifecyclepolicyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"test\"),\n\t\t\tStatus:    pulumi.String(\"active\"),\n\t\t\tAction:    pulumi.String(\"volume_snapshot\"),\n\t\t\tVolumes: edgecenter.LifecyclepolicyVolumeArray{\n\t\t\t\t\u0026edgecenter.LifecyclepolicyVolumeArgs{\n\t\t\t\t\tId: pulumi.String(\"fe93bfdd-4ce3-4041-b89b-4f10d0d49498\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchedules: edgecenter.LifecyclepolicyScheduleArray{\n\t\t\t\t\u0026edgecenter.LifecyclepolicyScheduleArgs{\n\t\t\t\t\tMaxQuantity: pulumi.Float64(4),\n\t\t\t\t\tInterval: \u0026edgecenter.LifecyclepolicyScheduleIntervalArgs{\n\t\t\t\t\t\tWeeks:   pulumi.Float64(1),\n\t\t\t\t\t\tDays:    pulumi.Float64(2),\n\t\t\t\t\t\tHours:   pulumi.Float64(3),\n\t\t\t\t\t\tMinutes: pulumi.Float64(4),\n\t\t\t\t\t},\n\t\t\t\t\tResourceNameTemplate: pulumi.String(\"reserve snap of the volume {volume_id}\"),\n\t\t\t\t\tRetentionTime: \u0026edgecenter.LifecyclepolicyScheduleRetentionTimeArgs{\n\t\t\t\t\t\tWeeks:   pulumi.Float64(4),\n\t\t\t\t\t\tDays:    pulumi.Float64(3),\n\t\t\t\t\t\tHours:   pulumi.Float64(2),\n\t\t\t\t\t\tMinutes: pulumi.Float64(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Lifecyclepolicy;\nimport com.pulumi.edgecenter.LifecyclepolicyArgs;\nimport com.pulumi.edgecenter.inputs.LifecyclepolicyVolumeArgs;\nimport com.pulumi.edgecenter.inputs.LifecyclepolicyScheduleArgs;\nimport com.pulumi.edgecenter.inputs.LifecyclepolicyScheduleIntervalArgs;\nimport com.pulumi.edgecenter.inputs.LifecyclepolicyScheduleRetentionTimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lp = new Lifecyclepolicy(\"lp\", LifecyclepolicyArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test\")\n            .status(\"active\")\n            .action(\"volume_snapshot\")\n            .volumes(LifecyclepolicyVolumeArgs.builder()\n                .id(\"fe93bfdd-4ce3-4041-b89b-4f10d0d49498\")\n                .build())\n            .schedules(LifecyclepolicyScheduleArgs.builder()\n                .maxQuantity(4.0)\n                .interval(LifecyclepolicyScheduleIntervalArgs.builder()\n                    .weeks(1.0)\n                    .days(2.0)\n                    .hours(3.0)\n                    .minutes(4.0)\n                    .build())\n                .resourceNameTemplate(\"reserve snap of the volume {volume_id}\")\n                .retentionTime(LifecyclepolicyScheduleRetentionTimeArgs.builder()\n                    .weeks(4.0)\n                    .days(3.0)\n                    .hours(2.0)\n                    .minutes(1.0)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lp:\n    type: edgecenter:Lifecyclepolicy\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test\n      status: active\n      action: volume_snapshot\n      volumes:\n        - id: fe93bfdd-4ce3-4041-b89b-4f10d0d49498\n      schedules:\n        - maxQuantity: 4\n          interval:\n            weeks: 1\n            days: 2\n            hours: 3\n            minutes: 4\n          resourceNameTemplate: reserve snap of the volume {volume_id}\n          retentionTime:\n            weeks: 4\n            days: 3\n            hours: 2\n            minutes: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003clifecyclepolicy_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/lifecyclepolicy:Lifecyclepolicy lifecyclepolicy1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"action":{"type":"string"},"lifecyclepolicyId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicySchedule:LifecyclepolicySchedule"}},"status":{"type":"string"},"userId":{"type":"number"},"volumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicyVolume:LifecyclepolicyVolume"},"description":"List of managed volumes\n"}},"type":"object","required":["lifecyclepolicyId","name","userId"],"inputProperties":{"action":{"type":"string"},"lifecyclepolicyId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicySchedule:LifecyclepolicySchedule"}},"status":{"type":"string"},"volumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicyVolume:LifecyclepolicyVolume"},"description":"List of managed volumes\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Lifecyclepolicy resources.\n","properties":{"action":{"type":"string"},"lifecyclepolicyId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicySchedule:LifecyclepolicySchedule"}},"status":{"type":"string"},"userId":{"type":"number"},"volumes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLifecyclepolicyVolume:LifecyclepolicyVolume"},"description":"List of managed volumes\n"}},"type":"object"}},"edgecenter:index/loadbalancer:Loadbalancer":{"description":"Represent load balancer\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lb = new edgecenter.Loadbalancer(\"lb\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test\",\n    flavor: \"lb1-1-2\",\n    listener: {\n        name: \"test\",\n        protocol: \"HTTP\",\n        protocolPort: 80,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlb = edgecenter.Loadbalancer(\"lb\",\n    project_id=1,\n    region_id=1,\n    name=\"test\",\n    flavor=\"lb1-1-2\",\n    listener={\n        \"name\": \"test\",\n        \"protocol\": \"HTTP\",\n        \"protocol_port\": 80,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Edgecenter.Loadbalancer(\"lb\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test\",\n        Flavor = \"lb1-1-2\",\n        Listener = new Edgecenter.Inputs.LoadbalancerListenerArgs\n        {\n            Name = \"test\",\n            Protocol = \"HTTP\",\n            ProtocolPort = 80,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewLoadbalancer(ctx, \"lb\", \u0026edgecenter.LoadbalancerArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"test\"),\n\t\t\tFlavor:    pulumi.String(\"lb1-1-2\"),\n\t\t\tListener: \u0026edgecenter.LoadbalancerListenerArgs{\n\t\t\t\tName:         pulumi.String(\"test\"),\n\t\t\t\tProtocol:     pulumi.String(\"HTTP\"),\n\t\t\t\tProtocolPort: pulumi.Float64(80),\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.edgecenter.Loadbalancer;\nimport com.pulumi.edgecenter.LoadbalancerArgs;\nimport com.pulumi.edgecenter.inputs.LoadbalancerListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb = new Loadbalancer(\"lb\", LoadbalancerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test\")\n            .flavor(\"lb1-1-2\")\n            .listener(LoadbalancerListenerArgs.builder()\n                .name(\"test\")\n                .protocol(\"HTTP\")\n                .protocolPort(80.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: edgecenter:Loadbalancer\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test\n      flavor: lb1-1-2\n      listener:\n        name: test\n        protocol: HTTP\n        protocolPort: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cloadbalancer_id\u003e:\u003clistener_id\u003e format, listener_id - nested listener id\n\n```sh\n$ pulumi import edgecenter:index/loadbalancer:Loadbalancer loadbalancer1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7:a336f28c-fbb0-4256-9545-e905bed9f48f\n```\n\n","properties":{"flavor":{"type":"string"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"listener":{"$ref":"#/types/edgecenter:index%2FLoadbalancerListener:LoadbalancerListener"},"loadbalancerId":{"type":"string","description":"The ID of this resource.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLoadbalancerMetadataReadOnly:LoadbalancerMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLoadbalancerTimeouts:LoadbalancerTimeouts"},"vipAddress":{"type":"string","description":"Load balancer IP address\n"},"vipNetworkId":{"type":"string"},"vipSubnetId":{"type":"string"}},"type":"object","required":["lastUpdated","listener","loadbalancerId","metadataReadOnlies","name","vipAddress"],"inputProperties":{"flavor":{"type":"string"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"listener":{"$ref":"#/types/edgecenter:index%2FLoadbalancerListener:LoadbalancerListener"},"loadbalancerId":{"type":"string","description":"The ID of this resource.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLoadbalancerTimeouts:LoadbalancerTimeouts"},"vipNetworkId":{"type":"string"},"vipSubnetId":{"type":"string"}},"requiredInputs":["listener"],"stateInputs":{"description":"Input properties used for looking up and filtering Loadbalancer resources.\n","properties":{"flavor":{"type":"string"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"listener":{"$ref":"#/types/edgecenter:index%2FLoadbalancerListener:LoadbalancerListener"},"loadbalancerId":{"type":"string","description":"The ID of this resource.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLoadbalancerMetadataReadOnly:LoadbalancerMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLoadbalancerTimeouts:LoadbalancerTimeouts"},"vipAddress":{"type":"string","description":"Load balancer IP address\n"},"vipNetworkId":{"type":"string"},"vipSubnetId":{"type":"string"}},"type":"object"}},"edgecenter:index/loadbalancerv2:Loadbalancerv2":{"description":"Represent load balancer without nested listener\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lb = new edgecenter.Loadbalancerv2(\"lb\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"test\",\n    flavor: \"lb1-1-2\",\n    metadataMap: {\n        tag1: \"tag1_value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlb = edgecenter.Loadbalancerv2(\"lb\",\n    project_id=1,\n    region_id=1,\n    name=\"test\",\n    flavor=\"lb1-1-2\",\n    metadata_map={\n        \"tag1\": \"tag1_value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lb = new Edgecenter.Loadbalancerv2(\"lb\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test\",\n        Flavor = \"lb1-1-2\",\n        MetadataMap = \n        {\n            { \"tag1\", \"tag1_value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewLoadbalancerv2(ctx, \"lb\", \u0026edgecenter.Loadbalancerv2Args{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"test\"),\n\t\t\tFlavor:    pulumi.String(\"lb1-1-2\"),\n\t\t\tMetadataMap: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"tag1_value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Loadbalancerv2;\nimport com.pulumi.edgecenter.Loadbalancerv2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lb = new Loadbalancerv2(\"lb\", Loadbalancerv2Args.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"test\")\n            .flavor(\"lb1-1-2\")\n            .metadataMap(Map.of(\"tag1\", \"tag1_value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: edgecenter:Loadbalancerv2\n    properties:\n      projectId: 1\n      regionId: 1\n      name: test\n      flavor: lb1-1-2\n      metadataMap:\n        tag1: tag1_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cloadbalancer_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/loadbalancerv2:Loadbalancerv2 loadbalancer1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"flavor":{"type":"string","description":"The flavor or specification of the load balancer to be created.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"loadbalancerv2Id":{"type":"string","description":"The ID of this resource.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLoadbalancerv2MetadataReadOnly:Loadbalancerv2MetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLoadbalancerv2Timeouts:Loadbalancerv2Timeouts"},"vipAddress":{"type":"string","description":"Load balancer IP address\n"},"vipNetworkId":{"type":"string","description":"Attaches the created network.\n"},"vipPortId":{"type":"string","description":"Attaches the created reserved IP.\n"},"vipSubnetId":{"type":"string","description":"The ID of the subnet in which to allocate the VIP address for the load balancer.\n"}},"type":"object","required":["lastUpdated","loadbalancerv2Id","metadataReadOnlies","name","vipAddress"],"inputProperties":{"flavor":{"type":"string","description":"The flavor or specification of the load balancer to be created.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"loadbalancerv2Id":{"type":"string","description":"The ID of this resource.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLoadbalancerv2Timeouts:Loadbalancerv2Timeouts"},"vipNetworkId":{"type":"string","description":"Attaches the created network.\n"},"vipPortId":{"type":"string","description":"Attaches the created reserved IP.\n"},"vipSubnetId":{"type":"string","description":"The ID of the subnet in which to allocate the VIP address for the load balancer.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Loadbalancerv2 resources.\n","properties":{"flavor":{"type":"string","description":"The flavor or specification of the load balancer to be created.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"loadbalancerv2Id":{"type":"string","description":"The ID of this resource.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FLoadbalancerv2MetadataReadOnly:Loadbalancerv2MetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the load balancer.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FLoadbalancerv2Timeouts:Loadbalancerv2Timeouts"},"vipAddress":{"type":"string","description":"Load balancer IP address\n"},"vipNetworkId":{"type":"string","description":"Attaches the created network.\n"},"vipPortId":{"type":"string","description":"Attaches the created reserved IP.\n"},"vipSubnetId":{"type":"string","description":"The ID of the subnet in which to allocate the VIP address for the load balancer.\n"}},"type":"object"}},"edgecenter:index/mkaasCluster:MkaasCluster":{"description":"Represent resourceMKaaSCluster cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.MkaasCluster(\"example\", {\n    name: \"my-cluster01\",\n    projectId: 1,\n    regionId: 1,\n    sshKeypairName: \"tf-keypair\",\n    networkId: \"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\",\n    subnetId: \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n    podSubnet: \"192.168.128.0/18\",\n    serviceSubnet: \"192.168.64.0/18\",\n    publishKubeApiToInternet: true,\n    controlPlane: {\n        flavor: \"mkaas-master-g3-standard-2-4\",\n        nodeCount: 1,\n        volumeSize: 30,\n        volumeType: \"ssd_hiiops\",\n        version: \"v1.31.0\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.MkaasCluster(\"example\",\n    name=\"my-cluster01\",\n    project_id=1,\n    region_id=1,\n    ssh_keypair_name=\"tf-keypair\",\n    network_id=\"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\",\n    subnet_id=\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n    pod_subnet=\"192.168.128.0/18\",\n    service_subnet=\"192.168.64.0/18\",\n    publish_kube_api_to_internet=True,\n    control_plane={\n        \"flavor\": \"mkaas-master-g3-standard-2-4\",\n        \"node_count\": 1,\n        \"volume_size\": 30,\n        \"volume_type\": \"ssd_hiiops\",\n        \"version\": \"v1.31.0\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.MkaasCluster(\"example\", new()\n    {\n        Name = \"my-cluster01\",\n        ProjectId = 1,\n        RegionId = 1,\n        SshKeypairName = \"tf-keypair\",\n        NetworkId = \"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\",\n        SubnetId = \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n        PodSubnet = \"192.168.128.0/18\",\n        ServiceSubnet = \"192.168.64.0/18\",\n        PublishKubeApiToInternet = true,\n        ControlPlane = new Edgecenter.Inputs.MkaasClusterControlPlaneArgs\n        {\n            Flavor = \"mkaas-master-g3-standard-2-4\",\n            NodeCount = 1,\n            VolumeSize = 30,\n            VolumeType = \"ssd_hiiops\",\n            Version = \"v1.31.0\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewMkaasCluster(ctx, \"example\", \u0026edgecenter.MkaasClusterArgs{\n\t\t\tName:                     pulumi.String(\"my-cluster01\"),\n\t\t\tProjectId:                pulumi.Float64(1),\n\t\t\tRegionId:                 pulumi.Float64(1),\n\t\t\tSshKeypairName:           pulumi.String(\"tf-keypair\"),\n\t\t\tNetworkId:                pulumi.String(\"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\"),\n\t\t\tSubnetId:                 pulumi.String(\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\"),\n\t\t\tPodSubnet:                pulumi.String(\"192.168.128.0/18\"),\n\t\t\tServiceSubnet:            pulumi.String(\"192.168.64.0/18\"),\n\t\t\tPublishKubeApiToInternet: pulumi.Bool(true),\n\t\t\tControlPlane: \u0026edgecenter.MkaasClusterControlPlaneArgs{\n\t\t\t\tFlavor:     pulumi.String(\"mkaas-master-g3-standard-2-4\"),\n\t\t\t\tNodeCount:  pulumi.Float64(1),\n\t\t\t\tVolumeSize: pulumi.Float64(30),\n\t\t\t\tVolumeType: pulumi.String(\"ssd_hiiops\"),\n\t\t\t\tVersion:    pulumi.String(\"v1.31.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.MkaasCluster;\nimport com.pulumi.edgecenter.MkaasClusterArgs;\nimport com.pulumi.edgecenter.inputs.MkaasClusterControlPlaneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new MkaasCluster(\"example\", MkaasClusterArgs.builder()\n            .name(\"my-cluster01\")\n            .projectId(1.0)\n            .regionId(1.0)\n            .sshKeypairName(\"tf-keypair\")\n            .networkId(\"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\")\n            .subnetId(\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\")\n            .podSubnet(\"192.168.128.0/18\")\n            .serviceSubnet(\"192.168.64.0/18\")\n            .publishKubeApiToInternet(true)\n            .controlPlane(MkaasClusterControlPlaneArgs.builder()\n                .flavor(\"mkaas-master-g3-standard-2-4\")\n                .nodeCount(1.0)\n                .volumeSize(30.0)\n                .volumeType(\"ssd_hiiops\")\n                .version(\"v1.31.0\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:MkaasCluster\n    properties:\n      name: my-cluster01\n      projectId: 1\n      regionId: 1\n      sshKeypairName: tf-keypair\n      networkId: 6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\n      subnetId: dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\n      podSubnet: 192.168.128.0/18\n      serviceSubnet: 192.168.64.0/18\n      publishKubeApiToInternet: true\n      controlPlane:\n        flavor: mkaas-master-g3-standard-2-4\n        nodeCount: 1\n        volumeSize: 30\n        volumeType: ssd_hiiops\n        version: v1.31.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003ccluster_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/mkaasCluster:MkaasCluster example 1:6:53\n```\n\n","properties":{"controlPlane":{"$ref":"#/types/edgecenter:index%2FMkaasClusterControlPlane:MkaasClusterControlPlane"},"created":{"type":"string","description":"The timestamp when the Kubernetes cluster was created.\n"},"externalIp":{"type":"string","description":"External IP address for the Kubernetes cluster.\n"},"internalIp":{"type":"string","description":"Internal IP address for the Kubernetes cluster.\n"},"mkaasClusterId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the Kubernetes cluster (must be a valid: up to 63 characters, only letters, digits, or '-', and cannot start or end with '-')\n"},"networkId":{"type":"string","description":"The id of the network that created the cluster.\n"},"podSubnet":{"type":"string","description":"Pod subnet in CIDR format. Must not overlap with\u003cspan pulumi-lang-nodejs=\" serviceSubnet \" pulumi-lang-dotnet=\" ServiceSubnet \" pulumi-lang-go=\" serviceSubnet \" pulumi-lang-python=\" service_subnet \" pulumi-lang-yaml=\" serviceSubnet \" pulumi-lang-java=\" serviceSubnet \"\u003e service_subnet \u003c/span\u003eand cluster subnet. Selected CIDR must be inside RFC1918 ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16\n"},"processing":{"type":"boolean"},"projectId":{"type":"number","description":"The uuid of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"publishKubeApiToInternet":{"type":"boolean","description":"Publish kube-api to internet.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"serviceSubnet":{"type":"string","description":"Service subnet in CIDR format. Must not overlap with\u003cspan pulumi-lang-nodejs=\" podSubnet \" pulumi-lang-dotnet=\" PodSubnet \" pulumi-lang-go=\" podSubnet \" pulumi-lang-python=\" pod_subnet \" pulumi-lang-yaml=\" podSubnet \" pulumi-lang-java=\" podSubnet \"\u003e pod_subnet \u003c/span\u003eand cluster subnet. Selected CIDR must be inside RFC1918 ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16\n"},"sshKeypairName":{"type":"string","description":"The name of the SSH keypair.\n"},"stage":{"type":"string","description":"Stage of the Kubernetes cluster.\n"},"status":{"type":"string","description":"Status of the Kubernetes cluster.\n"},"subnetId":{"type":"string","description":"The id of the subnet that created the cluster.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FMkaasClusterTimeouts:MkaasClusterTimeouts"}},"type":"object","required":["controlPlane","created","externalIp","internalIp","mkaasClusterId","name","networkId","podSubnet","processing","serviceSubnet","sshKeypairName","stage","status","subnetId"],"inputProperties":{"controlPlane":{"$ref":"#/types/edgecenter:index%2FMkaasClusterControlPlane:MkaasClusterControlPlane"},"mkaasClusterId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the Kubernetes cluster (must be a valid: up to 63 characters, only letters, digits, or '-', and cannot start or end with '-')\n"},"networkId":{"type":"string","description":"The id of the network that created the cluster.\n"},"podSubnet":{"type":"string","description":"Pod subnet in CIDR format. Must not overlap with\u003cspan pulumi-lang-nodejs=\" serviceSubnet \" pulumi-lang-dotnet=\" ServiceSubnet \" pulumi-lang-go=\" serviceSubnet \" pulumi-lang-python=\" service_subnet \" pulumi-lang-yaml=\" serviceSubnet \" pulumi-lang-java=\" serviceSubnet \"\u003e service_subnet \u003c/span\u003eand cluster subnet. Selected CIDR must be inside RFC1918 ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16\n"},"projectId":{"type":"number","description":"The uuid of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"publishKubeApiToInternet":{"type":"boolean","description":"Publish kube-api to internet.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"serviceSubnet":{"type":"string","description":"Service subnet in CIDR format. Must not overlap with\u003cspan pulumi-lang-nodejs=\" podSubnet \" pulumi-lang-dotnet=\" PodSubnet \" pulumi-lang-go=\" podSubnet \" pulumi-lang-python=\" pod_subnet \" pulumi-lang-yaml=\" podSubnet \" pulumi-lang-java=\" podSubnet \"\u003e pod_subnet \u003c/span\u003eand cluster subnet. Selected CIDR must be inside RFC1918 ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16\n"},"sshKeypairName":{"type":"string","description":"The name of the SSH keypair.\n"},"subnetId":{"type":"string","description":"The id of the subnet that created the cluster.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FMkaasClusterTimeouts:MkaasClusterTimeouts"}},"requiredInputs":["controlPlane","networkId","podSubnet","serviceSubnet","sshKeypairName","subnetId"],"stateInputs":{"description":"Input properties used for looking up and filtering MkaasCluster resources.\n","properties":{"controlPlane":{"$ref":"#/types/edgecenter:index%2FMkaasClusterControlPlane:MkaasClusterControlPlane"},"created":{"type":"string","description":"The timestamp when the Kubernetes cluster was created.\n"},"externalIp":{"type":"string","description":"External IP address for the Kubernetes cluster.\n"},"internalIp":{"type":"string","description":"Internal IP address for the Kubernetes cluster.\n"},"mkaasClusterId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the Kubernetes cluster (must be a valid: up to 63 characters, only letters, digits, or '-', and cannot start or end with '-')\n"},"networkId":{"type":"string","description":"The id of the network that created the cluster.\n"},"podSubnet":{"type":"string","description":"Pod subnet in CIDR format. Must not overlap with\u003cspan pulumi-lang-nodejs=\" serviceSubnet \" pulumi-lang-dotnet=\" ServiceSubnet \" pulumi-lang-go=\" serviceSubnet \" pulumi-lang-python=\" service_subnet \" pulumi-lang-yaml=\" serviceSubnet \" pulumi-lang-java=\" serviceSubnet \"\u003e service_subnet \u003c/span\u003eand cluster subnet. Selected CIDR must be inside RFC1918 ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16\n"},"processing":{"type":"boolean"},"projectId":{"type":"number","description":"The uuid of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"publishKubeApiToInternet":{"type":"boolean","description":"Publish kube-api to internet.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"serviceSubnet":{"type":"string","description":"Service subnet in CIDR format. Must not overlap with\u003cspan pulumi-lang-nodejs=\" podSubnet \" pulumi-lang-dotnet=\" PodSubnet \" pulumi-lang-go=\" podSubnet \" pulumi-lang-python=\" pod_subnet \" pulumi-lang-yaml=\" podSubnet \" pulumi-lang-java=\" podSubnet \"\u003e pod_subnet \u003c/span\u003eand cluster subnet. Selected CIDR must be inside RFC1918 ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16\n"},"sshKeypairName":{"type":"string","description":"The name of the SSH keypair.\n"},"stage":{"type":"string","description":"Stage of the Kubernetes cluster.\n"},"status":{"type":"string","description":"Status of the Kubernetes cluster.\n"},"subnetId":{"type":"string","description":"The id of the subnet that created the cluster.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FMkaasClusterTimeouts:MkaasClusterTimeouts"}},"type":"object"}},"edgecenter:index/mkaasPool:MkaasPool":{"description":"Represent MKaaS cluster's pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst apps = new edgecenter.MkaasPool(\"apps\", {\n    clusterId: 53,\n    name: \"apps-pool\",\n    flavor: \"mkaas-worker-g3-cpu-2-2\",\n    nodeCount: 3,\n    volumeSize: 20,\n    volumeType: \"standard\",\n    projectId: 1234,\n    regionId: 1234,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\napps = edgecenter.MkaasPool(\"apps\",\n    cluster_id=53,\n    name=\"apps-pool\",\n    flavor=\"mkaas-worker-g3-cpu-2-2\",\n    node_count=3,\n    volume_size=20,\n    volume_type=\"standard\",\n    project_id=1234,\n    region_id=1234)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apps = new Edgecenter.MkaasPool(\"apps\", new()\n    {\n        ClusterId = 53,\n        Name = \"apps-pool\",\n        Flavor = \"mkaas-worker-g3-cpu-2-2\",\n        NodeCount = 3,\n        VolumeSize = 20,\n        VolumeType = \"standard\",\n        ProjectId = 1234,\n        RegionId = 1234,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewMkaasPool(ctx, \"apps\", \u0026edgecenter.MkaasPoolArgs{\n\t\t\tClusterId:  pulumi.Float64(53),\n\t\t\tName:       pulumi.String(\"apps-pool\"),\n\t\t\tFlavor:     pulumi.String(\"mkaas-worker-g3-cpu-2-2\"),\n\t\t\tNodeCount:  pulumi.Float64(3),\n\t\t\tVolumeSize: pulumi.Float64(20),\n\t\t\tVolumeType: pulumi.String(\"standard\"),\n\t\t\tProjectId:  pulumi.Float64(1234),\n\t\t\tRegionId:   pulumi.Float64(1234),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.MkaasPool;\nimport com.pulumi.edgecenter.MkaasPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var apps = new MkaasPool(\"apps\", MkaasPoolArgs.builder()\n            .clusterId(53.0)\n            .name(\"apps-pool\")\n            .flavor(\"mkaas-worker-g3-cpu-2-2\")\n            .nodeCount(3.0)\n            .volumeSize(20.0)\n            .volumeType(\"standard\")\n            .projectId(1234.0)\n            .regionId(1234.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  apps:\n    type: edgecenter:MkaasPool\n    properties:\n      clusterId: 53 # Основные параметры пула\n      name: apps-pool\n      flavor: mkaas-worker-g3-cpu-2-2\n      nodeCount: 3\n      volumeSize: 20\n      volumeType: standard\n      projectId: 1234\n      regionId: '1234'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"clusterId":{"type":"number","description":"The id of the Kubernetes cluster this pool belongs to.\n"},"flavor":{"type":"string","description":"The identifier of the flavor used for nodes in this pool, e.g. g1-standard-2-4.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary labels assigned to the pool.\n"},"mkaasPoolId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the Kubernetes pool.\n"},"nodeCount":{"type":"number","description":"The current number of nodes in the pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The list of security group IDs associated with the pool.\n"},"state":{"type":"string","description":"The state of the pool.\n"},"status":{"type":"string","description":"The status of the pool.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FMkaasPoolTimeouts:MkaasPoolTimeouts"},"volumeSize":{"type":"number","description":"The size of the control volumes in the cluster, specified in gigabytes (GB). Allowed range: `20–1024` GiB.\n"},"volumeType":{"type":"string","description":"The type of volume. Available values are \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, \u003cspan pulumi-lang-nodejs=\"`ssdHiiops`\" pulumi-lang-dotnet=\"`SsdHiiops`\" pulumi-lang-go=\"`ssdHiiops`\" pulumi-lang-python=\"`ssd_hiiops`\" pulumi-lang-yaml=\"`ssdHiiops`\" pulumi-lang-java=\"`ssdHiiops`\"\u003e`ssd_hiiops`\u003c/span\u003e.\n"}},"type":"object","required":["clusterId","flavor","mkaasPoolId","name","nodeCount","state","status","volumeSize","volumeType"],"inputProperties":{"clusterId":{"type":"number","description":"The id of the Kubernetes cluster this pool belongs to.\n"},"flavor":{"type":"string","description":"The identifier of the flavor used for nodes in this pool, e.g. g1-standard-2-4.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary labels assigned to the pool.\n"},"mkaasPoolId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the Kubernetes pool.\n"},"nodeCount":{"type":"number","description":"The current number of nodes in the pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The list of security group IDs associated with the pool.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FMkaasPoolTimeouts:MkaasPoolTimeouts"},"volumeSize":{"type":"number","description":"The size of the control volumes in the cluster, specified in gigabytes (GB). Allowed range: `20–1024` GiB.\n"},"volumeType":{"type":"string","description":"The type of volume. Available values are \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, \u003cspan pulumi-lang-nodejs=\"`ssdHiiops`\" pulumi-lang-dotnet=\"`SsdHiiops`\" pulumi-lang-go=\"`ssdHiiops`\" pulumi-lang-python=\"`ssd_hiiops`\" pulumi-lang-yaml=\"`ssdHiiops`\" pulumi-lang-java=\"`ssdHiiops`\"\u003e`ssd_hiiops`\u003c/span\u003e.\n"}},"requiredInputs":["clusterId","flavor","nodeCount","volumeSize","volumeType"],"stateInputs":{"description":"Input properties used for looking up and filtering MkaasPool resources.\n","properties":{"clusterId":{"type":"number","description":"The id of the Kubernetes cluster this pool belongs to.\n"},"flavor":{"type":"string","description":"The identifier of the flavor used for nodes in this pool, e.g. g1-standard-2-4.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary labels assigned to the pool.\n"},"mkaasPoolId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the Kubernetes pool.\n"},"nodeCount":{"type":"number","description":"The current number of nodes in the pool.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The list of security group IDs associated with the pool.\n"},"state":{"type":"string","description":"The state of the pool.\n"},"status":{"type":"string","description":"The status of the pool.\n"},"timeouts":{"$ref":"#/types/edgecenter:index%2FMkaasPoolTimeouts:MkaasPoolTimeouts"},"volumeSize":{"type":"number","description":"The size of the control volumes in the cluster, specified in gigabytes (GB). Allowed range: `20–1024` GiB.\n"},"volumeType":{"type":"string","description":"The type of volume. Available values are \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, \u003cspan pulumi-lang-nodejs=\"`ssdHiiops`\" pulumi-lang-dotnet=\"`SsdHiiops`\" pulumi-lang-go=\"`ssdHiiops`\" pulumi-lang-python=\"`ssd_hiiops`\" pulumi-lang-yaml=\"`ssdHiiops`\" pulumi-lang-java=\"`ssdHiiops`\"\u003e`ssd_hiiops`\u003c/span\u003e.\n"}},"type":"object"}},"edgecenter:index/network:Network":{"description":"Represent network. A network is a software-defined network in a cloud computing infrastructure\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst network = new edgecenter.Network(\"network\", {\n    name: \"network_example\",\n    type: \"vxlan\",\n    regionId: 1,\n    projectId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nnetwork = edgecenter.Network(\"network\",\n    name=\"network_example\",\n    type=\"vxlan\",\n    region_id=1,\n    project_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network = new Edgecenter.Network(\"network\", new()\n    {\n        Name = \"network_example\",\n        Type = \"vxlan\",\n        RegionId = 1,\n        ProjectId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewNetwork(ctx, \"network\", \u0026edgecenter.NetworkArgs{\n\t\t\tName:      pulumi.String(\"network_example\"),\n\t\t\tType:      pulumi.String(\"vxlan\"),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tProjectId: 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.edgecenter.Network;\nimport com.pulumi.edgecenter.NetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network = new Network(\"network\", NetworkArgs.builder()\n            .name(\"network_example\")\n            .type(\"vxlan\")\n            .regionId(1.0)\n            .projectId(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network:\n    type: edgecenter:Network\n    properties:\n      name: network_example\n      type: vxlan\n      regionId: 1\n      projectId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cnetwork_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/network:Network metwork1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"createRouter":{"type":"boolean","description":"Create external router to the network, default true\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FNetworkMetadataReadOnly:NetworkMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"mtu":{"type":"number","description":"Maximum Transmission Unit (MTU) for the network. It determines the maximum packet size that can be transmitted without fragmentation.\n"},"name":{"type":"string","description":"The name of the network.\n"},"networkId":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"type":{"type":"string","description":"'vlan' or 'vxlan' network type is allowed. Default value is 'vxlan'\n"}},"type":"object","required":["lastUpdated","metadataReadOnlies","mtu","name","networkId","type"],"inputProperties":{"createRouter":{"type":"boolean","description":"Create external router to the network, default true\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the network.\n"},"networkId":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"type":{"type":"string","description":"'vlan' or 'vxlan' network type is allowed. Default value is 'vxlan'\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Network resources.\n","properties":{"createRouter":{"type":"boolean","description":"Create external router to the network, default true\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FNetworkMetadataReadOnly:NetworkMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"mtu":{"type":"number","description":"Maximum Transmission Unit (MTU) for the network. It determines the maximum packet size that can be transmitted without fragmentation.\n"},"name":{"type":"string","description":"The name of the network.\n"},"networkId":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"type":{"type":"string","description":"'vlan' or 'vxlan' network type is allowed. Default value is 'vxlan'\n"}},"type":"object"}},"edgecenter:index/project:Project":{"description":"A project is a structural unit that helps manage and organize cloud resources\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst projectResourceName = new edgecenter.Project(\"project_resource_name\", {\n    name: \"test\",\n    description: \"test description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nproject_resource_name = edgecenter.Project(\"project_resource_name\",\n    name=\"test\",\n    description=\"test description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var projectResourceName = new Edgecenter.Project(\"project_resource_name\", new()\n    {\n        Name = \"test\",\n        Description = \"test description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewProject(ctx, \"project_resource_name\", \u0026edgecenter.ProjectArgs{\n\t\t\tName:        pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"test description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Project;\nimport com.pulumi.edgecenter.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var projectResourceName = new Project(\"projectResourceName\", ProjectArgs.builder()\n            .name(\"test\")\n            .description(\"test description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  projectResourceName:\n    type: edgecenter:Project\n    name: project_resource_name\n    properties:\n      name: test\n      description: test description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/project:Project project_resource_name 12345\n```\n\n","properties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"createdAt":{"type":"string","description":"The datetime of the project creation. It is automatically generated when the project is created.\n"},"description":{"type":"string","description":"The description of the project.\n"},"isDefault":{"type":"boolean","description":"The default flag. There is always one default project for each client.\n"},"name":{"type":"string","description":"Displayed project name.\n"},"state":{"type":"string","description":"The state of the project.\n"}},"type":"object","required":["clientId","createdAt","isDefault","name","state"],"inputProperties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"description":{"type":"string","description":"The description of the project.\n"},"name":{"type":"string","description":"Displayed project name.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"createdAt":{"type":"string","description":"The datetime of the project creation. It is automatically generated when the project is created.\n"},"description":{"type":"string","description":"The description of the project.\n"},"isDefault":{"type":"boolean","description":"The default flag. There is always one default project for each client.\n"},"name":{"type":"string","description":"Displayed project name.\n"},"state":{"type":"string","description":"The state of the project.\n"}},"type":"object"}},"edgecenter:index/protectionResource:ProtectionResource":{"description":"Represent DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst protectedExampleCom = new edgecenter.ProtectionResource(\"protected_example_com\", {\n    name: \"protected.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n    wwwRedirect: true,\n    waf: true,\n    redirectToHttps: true,\n    active: true,\n    geoipMode: \"allow\",\n    geoipLists: [\"RU\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nprotected_example_com = edgecenter.ProtectionResource(\"protected_example_com\",\n    name=\"protected.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ],\n    www_redirect=True,\n    waf=True,\n    redirect_to_https=True,\n    active=True,\n    geoip_mode=\"allow\",\n    geoip_lists=[\"RU\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var protectedExampleCom = new Edgecenter.ProtectionResource(\"protected_example_com\", new()\n    {\n        Name = \"protected.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n        WwwRedirect = true,\n        Waf = true,\n        RedirectToHttps = true,\n        Active = true,\n        GeoipMode = \"allow\",\n        GeoipLists = new[]\n        {\n            \"RU\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewProtectionResource(ctx, \"protected_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t\tWwwRedirect:     pulumi.Bool(true),\n\t\t\tWaf:             pulumi.Bool(true),\n\t\t\tRedirectToHttps: pulumi.Bool(true),\n\t\t\tActive:          pulumi.Bool(true),\n\t\t\tGeoipMode:       pulumi.String(\"allow\"),\n\t\t\tGeoipLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"RU\"),\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.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var protectedExampleCom = new ProtectionResource(\"protectedExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .wwwRedirect(true)\n            .waf(true)\n            .redirectToHttps(true)\n            .active(true)\n            .geoipMode(\"allow\")\n            .geoipLists(\"RU\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  protectedExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected_example_com\n    properties:\n      name: protected.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n      wwwRedirect: true\n      waf: true\n      redirectToHttps: true\n      active: true\n      geoipMode: allow\n      geoipLists:\n        - RU\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/protectionResource:ProtectionResource protected_example_com 12345\n```\n\n","properties":{"active":{"type":"boolean","description":"Enable or disable DDoS protection resource.\n"},"client":{"type":"string","description":"Client ID.\n"},"enabled":{"type":"boolean","description":"Whether resource is enabled.\n"},"geoipLists":{"type":"array","items":{"type":"string"},"description":"List of countries to apply\u003cspan pulumi-lang-nodejs=\" geoipMode \" pulumi-lang-dotnet=\" GeoipMode \" pulumi-lang-go=\" geoipMode \" pulumi-lang-python=\" geoip_mode \" pulumi-lang-yaml=\" geoipMode \" pulumi-lang-java=\" geoipMode \"\u003e geoip_mode \u003c/span\u003epolicy to.\n"},"geoipMode":{"type":"string","description":"Manage country access policy to control access to DDoS resource from the specified countries. Available values are \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e.\n"},"httpToOrigin":{"type":"boolean","description":"Whether to use HTTP to make requests to the origin. If set to false (default), HTTPS is used.\n"},"ip":{"type":"string","description":"Resources's protected IP address.\n"},"loadBalancingType":{"type":"string","description":"Sets load balancing type. Available values are `Round Robin`, `Round Robin with session persistence`.\n"},"multipleOrigins":{"type":"boolean","description":"Enable or disable Multiple origins feature.\n"},"name":{"type":"string","description":"The DNS name of the DDoS protection resource.\n"},"protectionResourceId":{"type":"string","description":"The ID of this resource.\n"},"redirectToHttps":{"type":"boolean","description":"Enable or disable from HTTP to HTTPS\n"},"status":{"type":"string","description":"Show resource status.\n"},"tls":{"type":"array","items":{"type":"string"},"description":"The list of supported TLS versions. Available value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, `1.1`, `1.2`, `1.3`.\n"},"waf":{"type":"boolean","description":"Enable or disable WAF.\n"},"waitForLe":{"type":"number","description":"Number of seconds after which LE certificate can be issued.\n"},"wildcardAliases":{"type":"boolean","description":"Enable or disable Wildcard aliases feature.\n"},"wwwRedirect":{"type":"boolean","description":"Enable or disable redirect from WWW to the primary domain option.\n"}},"type":"object","required":["active","client","enabled","geoipLists","geoipMode","httpToOrigin","ip","loadBalancingType","multipleOrigins","name","protectionResourceId","redirectToHttps","status","tls","waf","waitForLe","wildcardAliases","wwwRedirect"],"inputProperties":{"active":{"type":"boolean","description":"Enable or disable DDoS protection resource.\n"},"geoipLists":{"type":"array","items":{"type":"string"},"description":"List of countries to apply\u003cspan pulumi-lang-nodejs=\" geoipMode \" pulumi-lang-dotnet=\" GeoipMode \" pulumi-lang-go=\" geoipMode \" pulumi-lang-python=\" geoip_mode \" pulumi-lang-yaml=\" geoipMode \" pulumi-lang-java=\" geoipMode \"\u003e geoip_mode \u003c/span\u003epolicy to.\n"},"geoipMode":{"type":"string","description":"Manage country access policy to control access to DDoS resource from the specified countries. Available values are \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e.\n"},"httpToOrigin":{"type":"boolean","description":"Whether to use HTTP to make requests to the origin. If set to false (default), HTTPS is used.\n"},"loadBalancingType":{"type":"string","description":"Sets load balancing type. Available values are `Round Robin`, `Round Robin with session persistence`.\n"},"multipleOrigins":{"type":"boolean","description":"Enable or disable Multiple origins feature.\n"},"name":{"type":"string","description":"The DNS name of the DDoS protection resource.\n"},"protectionResourceId":{"type":"string","description":"The ID of this resource.\n"},"redirectToHttps":{"type":"boolean","description":"Enable or disable from HTTP to HTTPS\n"},"tls":{"type":"array","items":{"type":"string"},"description":"The list of supported TLS versions. Available value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, `1.1`, `1.2`, `1.3`.\n"},"waf":{"type":"boolean","description":"Enable or disable WAF.\n"},"wildcardAliases":{"type":"boolean","description":"Enable or disable Wildcard aliases feature.\n"},"wwwRedirect":{"type":"boolean","description":"Enable or disable redirect from WWW to the primary domain option.\n"}},"requiredInputs":["tls"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResource resources.\n","properties":{"active":{"type":"boolean","description":"Enable or disable DDoS protection resource.\n"},"client":{"type":"string","description":"Client ID.\n"},"enabled":{"type":"boolean","description":"Whether resource is enabled.\n"},"geoipLists":{"type":"array","items":{"type":"string"},"description":"List of countries to apply\u003cspan pulumi-lang-nodejs=\" geoipMode \" pulumi-lang-dotnet=\" GeoipMode \" pulumi-lang-go=\" geoipMode \" pulumi-lang-python=\" geoip_mode \" pulumi-lang-yaml=\" geoipMode \" pulumi-lang-java=\" geoipMode \"\u003e geoip_mode \u003c/span\u003epolicy to.\n"},"geoipMode":{"type":"string","description":"Manage country access policy to control access to DDoS resource from the specified countries. Available values are \u003cspan pulumi-lang-nodejs=\"`no`\" pulumi-lang-dotnet=\"`No`\" pulumi-lang-go=\"`no`\" pulumi-lang-python=\"`no`\" pulumi-lang-yaml=\"`no`\" pulumi-lang-java=\"`no`\"\u003e`no`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`block`\" pulumi-lang-dotnet=\"`Block`\" pulumi-lang-go=\"`block`\" pulumi-lang-python=\"`block`\" pulumi-lang-yaml=\"`block`\" pulumi-lang-java=\"`block`\"\u003e`block`\u003c/span\u003e.\n"},"httpToOrigin":{"type":"boolean","description":"Whether to use HTTP to make requests to the origin. If set to false (default), HTTPS is used.\n"},"ip":{"type":"string","description":"Resources's protected IP address.\n"},"loadBalancingType":{"type":"string","description":"Sets load balancing type. Available values are `Round Robin`, `Round Robin with session persistence`.\n"},"multipleOrigins":{"type":"boolean","description":"Enable or disable Multiple origins feature.\n"},"name":{"type":"string","description":"The DNS name of the DDoS protection resource.\n"},"protectionResourceId":{"type":"string","description":"The ID of this resource.\n"},"redirectToHttps":{"type":"boolean","description":"Enable or disable from HTTP to HTTPS\n"},"status":{"type":"string","description":"Show resource status.\n"},"tls":{"type":"array","items":{"type":"string"},"description":"The list of supported TLS versions. Available value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, `1.1`, `1.2`, `1.3`.\n"},"waf":{"type":"boolean","description":"Enable or disable WAF.\n"},"waitForLe":{"type":"number","description":"Number of seconds after which LE certificate can be issued.\n"},"wildcardAliases":{"type":"boolean","description":"Enable or disable Wildcard aliases feature.\n"},"wwwRedirect":{"type":"boolean","description":"Enable or disable redirect from WWW to the primary domain option.\n"}},"type":"object"}},"edgecenter:index/protectionResourceAlias:ProtectionResourceAlias":{"description":"Allows to manage aliases for DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst protectedExampleCom = new edgecenter.ProtectionResource(\"protected_example_com\", {\n    name: \"protected.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst subdomain1 = new edgecenter.ProtectionResourceAlias(\"subdomain1\", {\n    resource: protectedExampleCom.protectionResourceId,\n    name: pulumi.interpolate`subdomain1.${protectedExampleCom.name}`,\n});\nconst subdomain2 = new edgecenter.ProtectionResourceAlias(\"subdomain2\", {\n    resource: protectedExampleCom.protectionResourceId,\n    name: pulumi.interpolate`subdomain2.${protectedExampleCom.name}`,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nprotected_example_com = edgecenter.ProtectionResource(\"protected_example_com\",\n    name=\"protected.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nsubdomain1 = edgecenter.ProtectionResourceAlias(\"subdomain1\",\n    resource=protected_example_com.protection_resource_id,\n    name=protected_example_com.name.apply(lambda name: f\"subdomain1.{name}\"))\nsubdomain2 = edgecenter.ProtectionResourceAlias(\"subdomain2\",\n    resource=protected_example_com.protection_resource_id,\n    name=protected_example_com.name.apply(lambda name: f\"subdomain2.{name}\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var protectedExampleCom = new Edgecenter.ProtectionResource(\"protected_example_com\", new()\n    {\n        Name = \"protected.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var subdomain1 = new Edgecenter.ProtectionResourceAlias(\"subdomain1\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Name = protectedExampleCom.Name.Apply(name =\u003e $\"subdomain1.{name}\"),\n    });\n\n    var subdomain2 = new Edgecenter.ProtectionResourceAlias(\"subdomain2\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Name = protectedExampleCom.Name.Apply(name =\u003e $\"subdomain2.{name}\"),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprotectedExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceAlias(ctx, \"subdomain1\", \u0026edgecenter.ProtectionResourceAliasArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tName: protectedExampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"subdomain1.%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceAlias(ctx, \"subdomain2\", \u0026edgecenter.ProtectionResourceAliasArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tName: protectedExampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"subdomain2.%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport com.pulumi.edgecenter.ProtectionResourceAlias;\nimport com.pulumi.edgecenter.ProtectionResourceAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var protectedExampleCom = new ProtectionResource(\"protectedExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var subdomain1 = new ProtectionResourceAlias(\"subdomain1\", ProtectionResourceAliasArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .name(protectedExampleCom.name().applyValue(_name -\u003e String.format(\"subdomain1.%s\", _name)))\n            .build());\n\n        var subdomain2 = new ProtectionResourceAlias(\"subdomain2\", ProtectionResourceAliasArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .name(protectedExampleCom.name().applyValue(_name -\u003e String.format(\"subdomain2.%s\", _name)))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  protectedExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected_example_com\n    properties:\n      name: protected.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  subdomain1:\n    type: edgecenter:ProtectionResourceAlias\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      name: subdomain1.${protectedExampleCom.name}\n  subdomain2:\n    type: edgecenter:ProtectionResourceAlias\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      name: subdomain2.${protectedExampleCom.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e:\u003calias_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/protectionResourceAlias:ProtectionResourceAlias subdomain1 12345:67\n```\n\n","properties":{"name":{"type":"string","description":"The name of alias of DDoS protection resource. Must be a sub-domain of resource.\n"},"protectionResourceAliasId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"The ID of DDoS protection resource to manage alias for.\n"}},"type":"object","required":["name","protectionResourceAliasId","resource"],"inputProperties":{"name":{"type":"string","description":"The name of alias of DDoS protection resource. Must be a sub-domain of resource.\n"},"protectionResourceAliasId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"The ID of DDoS protection resource to manage alias for.\n"}},"requiredInputs":["resource"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResourceAlias resources.\n","properties":{"name":{"type":"string","description":"The name of alias of DDoS protection resource. Must be a sub-domain of resource.\n"},"protectionResourceAliasId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"The ID of DDoS protection resource to manage alias for.\n"}},"type":"object"}},"edgecenter:index/protectionResourceAliasCertificate:ProtectionResourceAliasCertificate":{"description":"Allows to manage certificates for aliases for DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst config = new pulumi.Config();\nconst cert = config.require(\"cert\");\nconst privateKey = config.require(\"privateKey\");\nconst protected1ExampleCom = new edgecenter.ProtectionResource(\"protected1_example_com\", {\n    name: \"protected1.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst subdomain1 = new edgecenter.ProtectionResourceAlias(\"subdomain1\", {\n    resource: protected1ExampleCom.protectionResourceId,\n    name: pulumi.interpolate`subdomain.${protected1ExampleCom.name}`,\n});\nconst protectionCertCustom = new edgecenter.ProtectionResourceAliasCertificate(\"protection_cert_custom\", {\n    alias: subdomain1.protectionResourceAliasId,\n    sslType: \"custom\",\n    sslCrt: cert,\n    sslKey: privateKey,\n});\n//\n// Set LE certificate\n//\nconst protected2ExampleCom = new edgecenter.ProtectionResource(\"protected2_example_com\", {\n    name: \"protected2.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst subdomain2 = new edgecenter.ProtectionResourceAlias(\"subdomain2\", {\n    resource: protected2ExampleCom.protectionResourceId,\n    name: pulumi.interpolate`subdomain.${protected2ExampleCom.name}`,\n});\n//\n// Issuing LE certificate requires DNS record\n//\nconst examplezone = new edgecenter.DnsZone(\"examplezone\", {name: \"example.com\"});\nconst protectedResourceRecord = new edgecenter.DnsZoneRecord(\"protected_resource_record\", {\n    zone: examplezone.name,\n    domain: subdomain2.name,\n    type: \"A\",\n    ttl: 100,\n    resourceRecords: [{\n        content: protected2ExampleCom.ip,\n    }],\n});\nconst protectionCertLe = new edgecenter.ProtectionResourceAliasCertificate(\"protection_cert_le\", {\n    alias: subdomain.id,\n    sslType: \"le\",\n}, {\n    dependsOn: [protectedResourceRecord],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nconfig = pulumi.Config()\ncert = config.require(\"cert\")\nprivate_key = config.require(\"privateKey\")\nprotected1_example_com = edgecenter.ProtectionResource(\"protected1_example_com\",\n    name=\"protected1.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nsubdomain1 = edgecenter.ProtectionResourceAlias(\"subdomain1\",\n    resource=protected1_example_com.protection_resource_id,\n    name=protected1_example_com.name.apply(lambda name: f\"subdomain.{name}\"))\nprotection_cert_custom = edgecenter.ProtectionResourceAliasCertificate(\"protection_cert_custom\",\n    alias=subdomain1.protection_resource_alias_id,\n    ssl_type=\"custom\",\n    ssl_crt=cert,\n    ssl_key=private_key)\n#\n# Set LE certificate\n#\nprotected2_example_com = edgecenter.ProtectionResource(\"protected2_example_com\",\n    name=\"protected2.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nsubdomain2 = edgecenter.ProtectionResourceAlias(\"subdomain2\",\n    resource=protected2_example_com.protection_resource_id,\n    name=protected2_example_com.name.apply(lambda name: f\"subdomain.{name}\"))\n#\n# Issuing LE certificate requires DNS record\n#\nexamplezone = edgecenter.DnsZone(\"examplezone\", name=\"example.com\")\nprotected_resource_record = edgecenter.DnsZoneRecord(\"protected_resource_record\",\n    zone=examplezone.name,\n    domain=subdomain2.name,\n    type=\"A\",\n    ttl=100,\n    resource_records=[{\n        \"content\": protected2_example_com.ip,\n    }])\nprotection_cert_le = edgecenter.ProtectionResourceAliasCertificate(\"protection_cert_le\",\n    alias=subdomain[\"id\"],\n    ssl_type=\"le\",\n    opts = pulumi.ResourceOptions(depends_on=[protected_resource_record]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var cert = config.Require(\"cert\");\n    var privateKey = config.Require(\"privateKey\");\n    var protected1ExampleCom = new Edgecenter.ProtectionResource(\"protected1_example_com\", new()\n    {\n        Name = \"protected1.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var subdomain1 = new Edgecenter.ProtectionResourceAlias(\"subdomain1\", new()\n    {\n        Resource = protected1ExampleCom.ProtectionResourceId,\n        Name = protected1ExampleCom.Name.Apply(name =\u003e $\"subdomain.{name}\"),\n    });\n\n    var protectionCertCustom = new Edgecenter.ProtectionResourceAliasCertificate(\"protection_cert_custom\", new()\n    {\n        Alias = subdomain1.ProtectionResourceAliasId,\n        SslType = \"custom\",\n        SslCrt = cert,\n        SslKey = privateKey,\n    });\n\n    //\n    // Set LE certificate\n    //\n    var protected2ExampleCom = new Edgecenter.ProtectionResource(\"protected2_example_com\", new()\n    {\n        Name = \"protected2.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var subdomain2 = new Edgecenter.ProtectionResourceAlias(\"subdomain2\", new()\n    {\n        Resource = protected2ExampleCom.ProtectionResourceId,\n        Name = protected2ExampleCom.Name.Apply(name =\u003e $\"subdomain.{name}\"),\n    });\n\n    //\n    // Issuing LE certificate requires DNS record\n    //\n    var examplezone = new Edgecenter.DnsZone(\"examplezone\", new()\n    {\n        Name = \"example.com\",\n    });\n\n    var protectedResourceRecord = new Edgecenter.DnsZoneRecord(\"protected_resource_record\", new()\n    {\n        Zone = examplezone.Name,\n        Domain = subdomain2.Name,\n        Type = \"A\",\n        Ttl = 100,\n        ResourceRecords = new[]\n        {\n            new Edgecenter.Inputs.DnsZoneRecordResourceRecordArgs\n            {\n                Content = protected2ExampleCom.Ip,\n            },\n        },\n    });\n\n    var protectionCertLe = new Edgecenter.ProtectionResourceAliasCertificate(\"protection_cert_le\", new()\n    {\n        Alias = subdomain.Id,\n        SslType = \"le\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            protectedResourceRecord,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcert := cfg.Require(\"cert\")\n\t\tprivateKey := cfg.Require(\"privateKey\")\n\t\tprotected1ExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected1_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected1.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubdomain1, err := edgecenter.NewProtectionResourceAlias(ctx, \"subdomain1\", \u0026edgecenter.ProtectionResourceAliasArgs{\n\t\t\tResource: protected1ExampleCom.ProtectionResourceId,\n\t\t\tName: protected1ExampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"subdomain.%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceAliasCertificate(ctx, \"protection_cert_custom\", \u0026edgecenter.ProtectionResourceAliasCertificateArgs{\n\t\t\tAlias:   subdomain1.ProtectionResourceAliasId,\n\t\t\tSslType: pulumi.String(\"custom\"),\n\t\t\tSslCrt:  pulumi.String(cert),\n\t\t\tSslKey:  pulumi.String(privateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Set LE certificate\n\t\tprotected2ExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected2_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected2.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubdomain2, err := edgecenter.NewProtectionResourceAlias(ctx, \"subdomain2\", \u0026edgecenter.ProtectionResourceAliasArgs{\n\t\t\tResource: protected2ExampleCom.ProtectionResourceId,\n\t\t\tName: protected2ExampleCom.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"subdomain.%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Issuing LE certificate requires DNS record\n\t\texamplezone, err := edgecenter.NewDnsZone(ctx, \"examplezone\", \u0026edgecenter.DnsZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprotectedResourceRecord, err := edgecenter.NewDnsZoneRecord(ctx, \"protected_resource_record\", \u0026edgecenter.DnsZoneRecordArgs{\n\t\t\tZone:   examplezone.Name,\n\t\t\tDomain: subdomain2.Name,\n\t\t\tType:   pulumi.String(\"A\"),\n\t\t\tTtl:    pulumi.Float64(100),\n\t\t\tResourceRecords: edgecenter.DnsZoneRecordResourceRecordArray{\n\t\t\t\t\u0026edgecenter.DnsZoneRecordResourceRecordArgs{\n\t\t\t\t\tContent: protected2ExampleCom.Ip,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceAliasCertificate(ctx, \"protection_cert_le\", \u0026edgecenter.ProtectionResourceAliasCertificateArgs{\n\t\t\tAlias:   pulumi.Any(subdomain.Id),\n\t\t\tSslType: pulumi.String(\"le\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprotectedResourceRecord,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport com.pulumi.edgecenter.ProtectionResourceAlias;\nimport com.pulumi.edgecenter.ProtectionResourceAliasArgs;\nimport com.pulumi.edgecenter.ProtectionResourceAliasCertificate;\nimport com.pulumi.edgecenter.ProtectionResourceAliasCertificateArgs;\nimport com.pulumi.edgecenter.DnsZone;\nimport com.pulumi.edgecenter.DnsZoneArgs;\nimport com.pulumi.edgecenter.DnsZoneRecord;\nimport com.pulumi.edgecenter.DnsZoneRecordArgs;\nimport com.pulumi.edgecenter.inputs.DnsZoneRecordResourceRecordArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var cert = config.get(\"cert\");\n        final var privateKey = config.get(\"privateKey\");\n        var protected1ExampleCom = new ProtectionResource(\"protected1ExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected1.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var subdomain1 = new ProtectionResourceAlias(\"subdomain1\", ProtectionResourceAliasArgs.builder()\n            .resource(protected1ExampleCom.protectionResourceId())\n            .name(protected1ExampleCom.name().applyValue(_name -\u003e String.format(\"subdomain.%s\", _name)))\n            .build());\n\n        var protectionCertCustom = new ProtectionResourceAliasCertificate(\"protectionCertCustom\", ProtectionResourceAliasCertificateArgs.builder()\n            .alias(subdomain1.protectionResourceAliasId())\n            .sslType(\"custom\")\n            .sslCrt(cert)\n            .sslKey(privateKey)\n            .build());\n\n        //\n        // Set LE certificate\n        //\n        var protected2ExampleCom = new ProtectionResource(\"protected2ExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected2.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var subdomain2 = new ProtectionResourceAlias(\"subdomain2\", ProtectionResourceAliasArgs.builder()\n            .resource(protected2ExampleCom.protectionResourceId())\n            .name(protected2ExampleCom.name().applyValue(_name -\u003e String.format(\"subdomain.%s\", _name)))\n            .build());\n\n        //\n        // Issuing LE certificate requires DNS record\n        //\n        var examplezone = new DnsZone(\"examplezone\", DnsZoneArgs.builder()\n            .name(\"example.com\")\n            .build());\n\n        var protectedResourceRecord = new DnsZoneRecord(\"protectedResourceRecord\", DnsZoneRecordArgs.builder()\n            .zone(examplezone.name())\n            .domain(subdomain2.name())\n            .type(\"A\")\n            .ttl(100.0)\n            .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()\n                .content(protected2ExampleCom.ip())\n                .build())\n            .build());\n\n        var protectionCertLe = new ProtectionResourceAliasCertificate(\"protectionCertLe\", ProtectionResourceAliasCertificateArgs.builder()\n            .alias(subdomain.id())\n            .sslType(\"le\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(protectedResourceRecord)\n                .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  #\n  # Set custom certificate\n  #\n  cert:\n    type: string\n  privateKey:\n    type: string\nresources:\n  protected1ExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected1_example_com\n    properties:\n      name: protected1.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  subdomain1:\n    type: edgecenter:ProtectionResourceAlias\n    properties:\n      resource: ${protected1ExampleCom.protectionResourceId}\n      name: subdomain.${protected1ExampleCom.name}\n  protectionCertCustom:\n    type: edgecenter:ProtectionResourceAliasCertificate\n    name: protection_cert_custom\n    properties:\n      alias: ${subdomain1.protectionResourceAliasId}\n      sslType: custom\n      sslCrt: ${cert}\n      sslKey: ${privateKey}\n  #\n  # Set LE certificate\n  #\n  protected2ExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected2_example_com\n    properties:\n      name: protected2.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  subdomain2:\n    type: edgecenter:ProtectionResourceAlias\n    properties:\n      resource: ${protected2ExampleCom.protectionResourceId}\n      name: subdomain.${protected2ExampleCom.name}\n  protectionCertLe:\n    type: edgecenter:ProtectionResourceAliasCertificate\n    name: protection_cert_le\n    properties:\n      alias: ${subdomain.id}\n      sslType: le\n    options:\n      dependsOn:\n        - ${protectedResourceRecord}\n  #\n  # Issuing LE certificate requires DNS record\n  #\n  examplezone:\n    type: edgecenter:DnsZone\n    properties:\n      name: example.com\n  protectedResourceRecord:\n    type: edgecenter:DnsZoneRecord\n    name: protected_resource_record\n    properties:\n      zone: ${examplezone.name}\n      domain: ${subdomain2.name}\n      type: A\n      ttl: 100\n      resourceRecords:\n        - content: ${protected2ExampleCom.ip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e:\u003calias\u003e format\n\nnote: for \"custom\" type certificate and private key are not imported\n\n```sh\n$ pulumi import edgecenter:index/protectionResourceAliasCertificate:ProtectionResourceAliasCertificate protection_cert_custom 12345:67\n```\n\n","properties":{"alias":{"type":"string","description":"The id of alias of DDoS protection resource. Has form `\u003cresource_id\u003e:\u003calias_id\u003e`\n"},"protectionResourceAliasCertificateId":{"type":"string","description":"The ID of this resource.\n"},"sslCrt":{"type":"string","description":"Public part of the SSL certificate. Add all the certificate chains. Each certificate chain should be separated by `\\n`\n"},"sslExpire":{"type":"number","description":"UNIX timestamp of the SSL certificate expiration date.\n"},"sslKey":{"type":"string","description":"Private key of the SSL certificate.\n","secret":true},"sslStatus":{"type":"string","description":"Let's Encrypt SSL certificate issuance status.\n"},"sslType":{"type":"string","description":"Select the SSL certificate type. Available values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`le`\" pulumi-lang-dotnet=\"`Le`\" pulumi-lang-go=\"`le`\" pulumi-lang-python=\"`le`\" pulumi-lang-yaml=\"`le`\" pulumi-lang-java=\"`le`\"\u003e`le`\u003c/span\u003e.\n"}},"type":"object","required":["alias","protectionResourceAliasCertificateId","sslExpire","sslStatus","sslType"],"inputProperties":{"alias":{"type":"string","description":"The id of alias of DDoS protection resource. Has form `\u003cresource_id\u003e:\u003calias_id\u003e`\n"},"protectionResourceAliasCertificateId":{"type":"string","description":"The ID of this resource.\n"},"sslCrt":{"type":"string","description":"Public part of the SSL certificate. Add all the certificate chains. Each certificate chain should be separated by `\\n`\n"},"sslKey":{"type":"string","description":"Private key of the SSL certificate.\n","secret":true},"sslType":{"type":"string","description":"Select the SSL certificate type. Available values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`le`\" pulumi-lang-dotnet=\"`Le`\" pulumi-lang-go=\"`le`\" pulumi-lang-python=\"`le`\" pulumi-lang-yaml=\"`le`\" pulumi-lang-java=\"`le`\"\u003e`le`\u003c/span\u003e.\n"}},"requiredInputs":["alias","sslType"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResourceAliasCertificate resources.\n","properties":{"alias":{"type":"string","description":"The id of alias of DDoS protection resource. Has form `\u003cresource_id\u003e:\u003calias_id\u003e`\n"},"protectionResourceAliasCertificateId":{"type":"string","description":"The ID of this resource.\n"},"sslCrt":{"type":"string","description":"Public part of the SSL certificate. Add all the certificate chains. Each certificate chain should be separated by `\\n`\n"},"sslExpire":{"type":"number","description":"UNIX timestamp of the SSL certificate expiration date.\n"},"sslKey":{"type":"string","description":"Private key of the SSL certificate.\n","secret":true},"sslStatus":{"type":"string","description":"Let's Encrypt SSL certificate issuance status.\n"},"sslType":{"type":"string","description":"Select the SSL certificate type. Available values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`le`\" pulumi-lang-dotnet=\"`Le`\" pulumi-lang-go=\"`le`\" pulumi-lang-python=\"`le`\" pulumi-lang-yaml=\"`le`\" pulumi-lang-java=\"`le`\"\u003e`le`\u003c/span\u003e.\n"}},"type":"object"}},"edgecenter:index/protectionResourceBlacklistEntry:ProtectionResourceBlacklistEntry":{"description":"Represent IP added to blacklist for DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst protectedExampleCom = new edgecenter.ProtectionResource(\"protected_example_com\", {\n    name: \"protected.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst blacklist1 = new edgecenter.ProtectionResourceBlacklistEntry(\"blacklist1\", {\n    resource: protectedExampleCom.protectionResourceId,\n    ip: \"1.2.3.4\",\n});\nconst blacklist2 = new edgecenter.ProtectionResourceBlacklistEntry(\"blacklist2\", {\n    resource: protectedExampleCom.protectionResourceId,\n    ip: \"1.2.4.0/27\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nprotected_example_com = edgecenter.ProtectionResource(\"protected_example_com\",\n    name=\"protected.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nblacklist1 = edgecenter.ProtectionResourceBlacklistEntry(\"blacklist1\",\n    resource=protected_example_com.protection_resource_id,\n    ip=\"1.2.3.4\")\nblacklist2 = edgecenter.ProtectionResourceBlacklistEntry(\"blacklist2\",\n    resource=protected_example_com.protection_resource_id,\n    ip=\"1.2.4.0/27\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var protectedExampleCom = new Edgecenter.ProtectionResource(\"protected_example_com\", new()\n    {\n        Name = \"protected.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var blacklist1 = new Edgecenter.ProtectionResourceBlacklistEntry(\"blacklist1\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Ip = \"1.2.3.4\",\n    });\n\n    var blacklist2 = new Edgecenter.ProtectionResourceBlacklistEntry(\"blacklist2\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Ip = \"1.2.4.0/27\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprotectedExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceBlacklistEntry(ctx, \"blacklist1\", \u0026edgecenter.ProtectionResourceBlacklistEntryArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tIp:       pulumi.String(\"1.2.3.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceBlacklistEntry(ctx, \"blacklist2\", \u0026edgecenter.ProtectionResourceBlacklistEntryArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tIp:       pulumi.String(\"1.2.4.0/27\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport com.pulumi.edgecenter.ProtectionResourceBlacklistEntry;\nimport com.pulumi.edgecenter.ProtectionResourceBlacklistEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var protectedExampleCom = new ProtectionResource(\"protectedExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var blacklist1 = new ProtectionResourceBlacklistEntry(\"blacklist1\", ProtectionResourceBlacklistEntryArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .ip(\"1.2.3.4\")\n            .build());\n\n        var blacklist2 = new ProtectionResourceBlacklistEntry(\"blacklist2\", ProtectionResourceBlacklistEntryArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .ip(\"1.2.4.0/27\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  protectedExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected_example_com\n    properties:\n      name: protected.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  blacklist1:\n    type: edgecenter:ProtectionResourceBlacklistEntry\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      ip: 1.2.3.4\n  blacklist2:\n    type: edgecenter:ProtectionResourceBlacklistEntry\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      ip: 1.2.4.0/27\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e:\u003centry_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/protectionResourceBlacklistEntry:ProtectionResourceBlacklistEntry blacklist1 12345:67\n```\n\n","properties":{"ip":{"type":"string","description":"Blocked IP address.\n"},"protectionResourceBlacklistEntryId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add blacklist to.\n"}},"type":"object","required":["ip","protectionResourceBlacklistEntryId","resource"],"inputProperties":{"ip":{"type":"string","description":"Blocked IP address.\n"},"protectionResourceBlacklistEntryId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add blacklist to.\n"}},"requiredInputs":["ip","resource"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResourceBlacklistEntry resources.\n","properties":{"ip":{"type":"string","description":"Blocked IP address.\n"},"protectionResourceBlacklistEntryId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add blacklist to.\n"}},"type":"object"}},"edgecenter:index/protectionResourceCertificate:ProtectionResourceCertificate":{"description":"Allows to manage SSL certificate for DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst config = new pulumi.Config();\nconst cert = config.require(\"cert\");\nconst privateKey = config.require(\"privateKey\");\nconst protected1ExampleCom = new edgecenter.ProtectionResource(\"protected1_example_com\", {\n    name: \"protected1.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst protectionCustomCert = new edgecenter.ProtectionResourceCertificate(\"protection_custom_cert\", {\n    resource: protected1ExampleCom.protectionResourceId,\n    sslType: \"custom\",\n    sslCrt: cert,\n    sslKey: privateKey,\n});\nconst protected2ExampleCom = new edgecenter.ProtectionResource(\"protected2_example_com\", {\n    name: \"protected2.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\n//\n// Issuing LE certificate requires DNS record\n//\nconst examplezone = new edgecenter.DnsZone(\"examplezone\", {name: \"example.com\"});\nconst protectedResourceRecord = new edgecenter.DnsZoneRecord(\"protected_resource_record\", {\n    zone: examplezone.name,\n    domain: protected2ExampleCom.name,\n    type: \"A\",\n    ttl: 100,\n    resourceRecords: [{\n        content: protected2ExampleCom.ip,\n    }],\n});\n//\n// Set LE certificate\n//\nconst protectionLeCert = new edgecenter.ProtectionResourceCertificate(\"protection_le_cert\", {\n    resource: protected2ExampleCom.protectionResourceId,\n    sslType: \"le\",\n}, {\n    dependsOn: [protectedResourceRecord],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nconfig = pulumi.Config()\ncert = config.require(\"cert\")\nprivate_key = config.require(\"privateKey\")\nprotected1_example_com = edgecenter.ProtectionResource(\"protected1_example_com\",\n    name=\"protected1.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nprotection_custom_cert = edgecenter.ProtectionResourceCertificate(\"protection_custom_cert\",\n    resource=protected1_example_com.protection_resource_id,\n    ssl_type=\"custom\",\n    ssl_crt=cert,\n    ssl_key=private_key)\nprotected2_example_com = edgecenter.ProtectionResource(\"protected2_example_com\",\n    name=\"protected2.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\n#\n# Issuing LE certificate requires DNS record\n#\nexamplezone = edgecenter.DnsZone(\"examplezone\", name=\"example.com\")\nprotected_resource_record = edgecenter.DnsZoneRecord(\"protected_resource_record\",\n    zone=examplezone.name,\n    domain=protected2_example_com.name,\n    type=\"A\",\n    ttl=100,\n    resource_records=[{\n        \"content\": protected2_example_com.ip,\n    }])\n#\n# Set LE certificate\n#\nprotection_le_cert = edgecenter.ProtectionResourceCertificate(\"protection_le_cert\",\n    resource=protected2_example_com.protection_resource_id,\n    ssl_type=\"le\",\n    opts = pulumi.ResourceOptions(depends_on=[protected_resource_record]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var cert = config.Require(\"cert\");\n    var privateKey = config.Require(\"privateKey\");\n    var protected1ExampleCom = new Edgecenter.ProtectionResource(\"protected1_example_com\", new()\n    {\n        Name = \"protected1.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var protectionCustomCert = new Edgecenter.ProtectionResourceCertificate(\"protection_custom_cert\", new()\n    {\n        Resource = protected1ExampleCom.ProtectionResourceId,\n        SslType = \"custom\",\n        SslCrt = cert,\n        SslKey = privateKey,\n    });\n\n    var protected2ExampleCom = new Edgecenter.ProtectionResource(\"protected2_example_com\", new()\n    {\n        Name = \"protected2.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    //\n    // Issuing LE certificate requires DNS record\n    //\n    var examplezone = new Edgecenter.DnsZone(\"examplezone\", new()\n    {\n        Name = \"example.com\",\n    });\n\n    var protectedResourceRecord = new Edgecenter.DnsZoneRecord(\"protected_resource_record\", new()\n    {\n        Zone = examplezone.Name,\n        Domain = protected2ExampleCom.Name,\n        Type = \"A\",\n        Ttl = 100,\n        ResourceRecords = new[]\n        {\n            new Edgecenter.Inputs.DnsZoneRecordResourceRecordArgs\n            {\n                Content = protected2ExampleCom.Ip,\n            },\n        },\n    });\n\n    //\n    // Set LE certificate\n    //\n    var protectionLeCert = new Edgecenter.ProtectionResourceCertificate(\"protection_le_cert\", new()\n    {\n        Resource = protected2ExampleCom.ProtectionResourceId,\n        SslType = \"le\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            protectedResourceRecord,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcert := cfg.Require(\"cert\")\n\t\tprivateKey := cfg.Require(\"privateKey\")\n\t\tprotected1ExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected1_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected1.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceCertificate(ctx, \"protection_custom_cert\", \u0026edgecenter.ProtectionResourceCertificateArgs{\n\t\t\tResource: protected1ExampleCom.ProtectionResourceId,\n\t\t\tSslType:  pulumi.String(\"custom\"),\n\t\t\tSslCrt:   pulumi.String(cert),\n\t\t\tSslKey:   pulumi.String(privateKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprotected2ExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected2_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected2.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Issuing LE certificate requires DNS record\n\t\texamplezone, err := edgecenter.NewDnsZone(ctx, \"examplezone\", \u0026edgecenter.DnsZoneArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprotectedResourceRecord, err := edgecenter.NewDnsZoneRecord(ctx, \"protected_resource_record\", \u0026edgecenter.DnsZoneRecordArgs{\n\t\t\tZone:   examplezone.Name,\n\t\t\tDomain: protected2ExampleCom.Name,\n\t\t\tType:   pulumi.String(\"A\"),\n\t\t\tTtl:    pulumi.Float64(100),\n\t\t\tResourceRecords: edgecenter.DnsZoneRecordResourceRecordArray{\n\t\t\t\t\u0026edgecenter.DnsZoneRecordResourceRecordArgs{\n\t\t\t\t\tContent: protected2ExampleCom.Ip,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Set LE certificate\n\t\t_, err = edgecenter.NewProtectionResourceCertificate(ctx, \"protection_le_cert\", \u0026edgecenter.ProtectionResourceCertificateArgs{\n\t\t\tResource: protected2ExampleCom.ProtectionResourceId,\n\t\t\tSslType:  pulumi.String(\"le\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprotectedResourceRecord,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport com.pulumi.edgecenter.ProtectionResourceCertificate;\nimport com.pulumi.edgecenter.ProtectionResourceCertificateArgs;\nimport com.pulumi.edgecenter.DnsZone;\nimport com.pulumi.edgecenter.DnsZoneArgs;\nimport com.pulumi.edgecenter.DnsZoneRecord;\nimport com.pulumi.edgecenter.DnsZoneRecordArgs;\nimport com.pulumi.edgecenter.inputs.DnsZoneRecordResourceRecordArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var cert = config.get(\"cert\");\n        final var privateKey = config.get(\"privateKey\");\n        var protected1ExampleCom = new ProtectionResource(\"protected1ExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected1.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var protectionCustomCert = new ProtectionResourceCertificate(\"protectionCustomCert\", ProtectionResourceCertificateArgs.builder()\n            .resource(protected1ExampleCom.protectionResourceId())\n            .sslType(\"custom\")\n            .sslCrt(cert)\n            .sslKey(privateKey)\n            .build());\n\n        var protected2ExampleCom = new ProtectionResource(\"protected2ExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected2.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        //\n        // Issuing LE certificate requires DNS record\n        //\n        var examplezone = new DnsZone(\"examplezone\", DnsZoneArgs.builder()\n            .name(\"example.com\")\n            .build());\n\n        var protectedResourceRecord = new DnsZoneRecord(\"protectedResourceRecord\", DnsZoneRecordArgs.builder()\n            .zone(examplezone.name())\n            .domain(protected2ExampleCom.name())\n            .type(\"A\")\n            .ttl(100.0)\n            .resourceRecords(DnsZoneRecordResourceRecordArgs.builder()\n                .content(protected2ExampleCom.ip())\n                .build())\n            .build());\n\n        //\n        // Set LE certificate\n        //\n        var protectionLeCert = new ProtectionResourceCertificate(\"protectionLeCert\", ProtectionResourceCertificateArgs.builder()\n            .resource(protected2ExampleCom.protectionResourceId())\n            .sslType(\"le\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(protectedResourceRecord)\n                .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  #\n  # Set custom certificate\n  #\n  cert:\n    type: string\n  privateKey:\n    type: string\nresources:\n  protectionCustomCert:\n    type: edgecenter:ProtectionResourceCertificate\n    name: protection_custom_cert\n    properties:\n      resource: ${protected1ExampleCom.protectionResourceId}\n      sslType: custom\n      sslCrt: ${cert}\n      sslKey: ${privateKey}\n  protected1ExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected1_example_com\n    properties:\n      name: protected1.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  #\n  # Set LE certificate\n  #\n  protectionLeCert:\n    type: edgecenter:ProtectionResourceCertificate\n    name: protection_le_cert\n    properties:\n      resource: ${protected2ExampleCom.protectionResourceId}\n      sslType: le\n    options:\n      dependsOn:\n        - ${protectedResourceRecord}\n  protected2ExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected2_example_com\n    properties:\n      name: protected2.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  #\n  # Issuing LE certificate requires DNS record\n  #\n  examplezone:\n    type: edgecenter:DnsZone\n    properties:\n      name: example.com\n  protectedResourceRecord:\n    type: edgecenter:DnsZoneRecord\n    name: protected_resource_record\n    properties:\n      zone: ${examplezone.name}\n      domain: ${protected2ExampleCom.name}\n      type: A\n      ttl: 100\n      resourceRecords:\n        - content: ${protected2ExampleCom.ip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e format\n\nnote: for \"custom\" type certificate and private key are not imported\n\n```sh\n$ pulumi import edgecenter:index/protectionResourceCertificate:ProtectionResourceCertificate protection_custom_cert 12345\n```\n\n","properties":{"protectionResourceCertificateId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"The ID of DDoS protection resource to manage certificate for.\n"},"sslCrt":{"type":"string","description":"Public part of the SSL certificate. It is required add all chains. Each certificate chain should be separated by `\\n`.\n"},"sslExpire":{"type":"number","description":"UNIX timestamp of the SSL certificate expiration date.\n"},"sslKey":{"type":"string","description":"Private key of the SSL certificate.\n","secret":true},"sslStatus":{"type":"string","description":"Let's Encrypt SSL certificate issuance status.\n"},"sslType":{"type":"string","description":"Select the SSL certificate type. Available values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`le`\" pulumi-lang-dotnet=\"`Le`\" pulumi-lang-go=\"`le`\" pulumi-lang-python=\"`le`\" pulumi-lang-yaml=\"`le`\" pulumi-lang-java=\"`le`\"\u003e`le`\u003c/span\u003e.\n"}},"type":"object","required":["protectionResourceCertificateId","resource","sslExpire","sslStatus","sslType"],"inputProperties":{"protectionResourceCertificateId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"The ID of DDoS protection resource to manage certificate for.\n"},"sslCrt":{"type":"string","description":"Public part of the SSL certificate. It is required add all chains. Each certificate chain should be separated by `\\n`.\n"},"sslKey":{"type":"string","description":"Private key of the SSL certificate.\n","secret":true},"sslType":{"type":"string","description":"Select the SSL certificate type. Available values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`le`\" pulumi-lang-dotnet=\"`Le`\" pulumi-lang-go=\"`le`\" pulumi-lang-python=\"`le`\" pulumi-lang-yaml=\"`le`\" pulumi-lang-java=\"`le`\"\u003e`le`\u003c/span\u003e.\n"}},"requiredInputs":["resource","sslType"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResourceCertificate resources.\n","properties":{"protectionResourceCertificateId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"The ID of DDoS protection resource to manage certificate for.\n"},"sslCrt":{"type":"string","description":"Public part of the SSL certificate. It is required add all chains. Each certificate chain should be separated by `\\n`.\n"},"sslExpire":{"type":"number","description":"UNIX timestamp of the SSL certificate expiration date.\n"},"sslKey":{"type":"string","description":"Private key of the SSL certificate.\n","secret":true},"sslStatus":{"type":"string","description":"Let's Encrypt SSL certificate issuance status.\n"},"sslType":{"type":"string","description":"Select the SSL certificate type. Available values are \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`le`\" pulumi-lang-dotnet=\"`Le`\" pulumi-lang-go=\"`le`\" pulumi-lang-python=\"`le`\" pulumi-lang-yaml=\"`le`\" pulumi-lang-java=\"`le`\"\u003e`le`\u003c/span\u003e.\n"}},"type":"object"}},"edgecenter:index/protectionResourceHeader:ProtectionResourceHeader":{"description":"Represent additional HTTP header returned to user by DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst protectedExampleCom = new edgecenter.ProtectionResource(\"protected_example_com\", {\n    name: \"protected.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst header1 = new edgecenter.ProtectionResourceHeader(\"header1\", {\n    resource: protectedExampleCom.protectionResourceId,\n    key: \"X-My-Header-1\",\n    value: \"Value 1\",\n});\nconst header2 = new edgecenter.ProtectionResourceHeader(\"header2\", {\n    resource: protectedExampleCom.protectionResourceId,\n    key: \"X-My-Header-2\",\n    value: \"Value 2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nprotected_example_com = edgecenter.ProtectionResource(\"protected_example_com\",\n    name=\"protected.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nheader1 = edgecenter.ProtectionResourceHeader(\"header1\",\n    resource=protected_example_com.protection_resource_id,\n    key=\"X-My-Header-1\",\n    value=\"Value 1\")\nheader2 = edgecenter.ProtectionResourceHeader(\"header2\",\n    resource=protected_example_com.protection_resource_id,\n    key=\"X-My-Header-2\",\n    value=\"Value 2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var protectedExampleCom = new Edgecenter.ProtectionResource(\"protected_example_com\", new()\n    {\n        Name = \"protected.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var header1 = new Edgecenter.ProtectionResourceHeader(\"header1\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Key = \"X-My-Header-1\",\n        Value = \"Value 1\",\n    });\n\n    var header2 = new Edgecenter.ProtectionResourceHeader(\"header2\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Key = \"X-My-Header-2\",\n        Value = \"Value 2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprotectedExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceHeader(ctx, \"header1\", \u0026edgecenter.ProtectionResourceHeaderArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tKey:      pulumi.String(\"X-My-Header-1\"),\n\t\t\tValue:    pulumi.String(\"Value 1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceHeader(ctx, \"header2\", \u0026edgecenter.ProtectionResourceHeaderArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tKey:      pulumi.String(\"X-My-Header-2\"),\n\t\t\tValue:    pulumi.String(\"Value 2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport com.pulumi.edgecenter.ProtectionResourceHeader;\nimport com.pulumi.edgecenter.ProtectionResourceHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var protectedExampleCom = new ProtectionResource(\"protectedExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var header1 = new ProtectionResourceHeader(\"header1\", ProtectionResourceHeaderArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .key(\"X-My-Header-1\")\n            .value(\"Value 1\")\n            .build());\n\n        var header2 = new ProtectionResourceHeader(\"header2\", ProtectionResourceHeaderArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .key(\"X-My-Header-2\")\n            .value(\"Value 2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  protectedExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected_example_com\n    properties:\n      name: protected.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  header1:\n    type: edgecenter:ProtectionResourceHeader\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      key: X-My-Header-1\n      value: Value 1\n  header2:\n    type: edgecenter:ProtectionResourceHeader\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      key: X-My-Header-2\n      value: Value 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e:\u003cheader_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/protectionResourceHeader:ProtectionResourceHeader header1 12345:67\n```\n\n","properties":{"key":{"type":"string","description":"HTTP header name.\n"},"protectionResourceHeaderId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add header to.\n"},"value":{"type":"string","description":"HTTP header value.\n"}},"type":"object","required":["key","protectionResourceHeaderId","resource","value"],"inputProperties":{"key":{"type":"string","description":"HTTP header name.\n"},"protectionResourceHeaderId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add header to.\n"},"value":{"type":"string","description":"HTTP header value.\n"}},"requiredInputs":["key","resource","value"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResourceHeader resources.\n","properties":{"key":{"type":"string","description":"HTTP header name.\n"},"protectionResourceHeaderId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add header to.\n"},"value":{"type":"string","description":"HTTP header value.\n"}},"type":"object"}},"edgecenter:index/protectionResourceOrigin:ProtectionResourceOrigin":{"description":"Represent IP address behind DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst protectedExampleCom = new edgecenter.ProtectionResource(\"protected_example_com\", {\n    name: \"protected.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst primary = new edgecenter.ProtectionResourceOrigin(\"primary\", {\n    resource: protectedExampleCom.protectionResourceId,\n    ip: \"192.168.0.1\",\n    mode: \"primary\",\n    maxFails: 2,\n    failTimeout: 3,\n});\nconst backup = new edgecenter.ProtectionResourceOrigin(\"backup\", {\n    resource: protectedExampleCom.protectionResourceId,\n    ip: \"192.168.0.2\",\n    mode: \"backup\",\n});\nconst down = new edgecenter.ProtectionResourceOrigin(\"down\", {\n    resource: protectedExampleCom.protectionResourceId,\n    ip: \"192.168.0.3\",\n    mode: \"down\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nprotected_example_com = edgecenter.ProtectionResource(\"protected_example_com\",\n    name=\"protected.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nprimary = edgecenter.ProtectionResourceOrigin(\"primary\",\n    resource=protected_example_com.protection_resource_id,\n    ip=\"192.168.0.1\",\n    mode=\"primary\",\n    max_fails=2,\n    fail_timeout=3)\nbackup = edgecenter.ProtectionResourceOrigin(\"backup\",\n    resource=protected_example_com.protection_resource_id,\n    ip=\"192.168.0.2\",\n    mode=\"backup\")\ndown = edgecenter.ProtectionResourceOrigin(\"down\",\n    resource=protected_example_com.protection_resource_id,\n    ip=\"192.168.0.3\",\n    mode=\"down\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var protectedExampleCom = new Edgecenter.ProtectionResource(\"protected_example_com\", new()\n    {\n        Name = \"protected.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var primary = new Edgecenter.ProtectionResourceOrigin(\"primary\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Ip = \"192.168.0.1\",\n        Mode = \"primary\",\n        MaxFails = 2,\n        FailTimeout = 3,\n    });\n\n    var backup = new Edgecenter.ProtectionResourceOrigin(\"backup\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Ip = \"192.168.0.2\",\n        Mode = \"backup\",\n    });\n\n    var down = new Edgecenter.ProtectionResourceOrigin(\"down\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Ip = \"192.168.0.3\",\n        Mode = \"down\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprotectedExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceOrigin(ctx, \"primary\", \u0026edgecenter.ProtectionResourceOriginArgs{\n\t\t\tResource:    protectedExampleCom.ProtectionResourceId,\n\t\t\tIp:          pulumi.String(\"192.168.0.1\"),\n\t\t\tMode:        pulumi.String(\"primary\"),\n\t\t\tMaxFails:    pulumi.Float64(2),\n\t\t\tFailTimeout: pulumi.Float64(3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceOrigin(ctx, \"backup\", \u0026edgecenter.ProtectionResourceOriginArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tIp:       pulumi.String(\"192.168.0.2\"),\n\t\t\tMode:     pulumi.String(\"backup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceOrigin(ctx, \"down\", \u0026edgecenter.ProtectionResourceOriginArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tIp:       pulumi.String(\"192.168.0.3\"),\n\t\t\tMode:     pulumi.String(\"down\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport com.pulumi.edgecenter.ProtectionResourceOrigin;\nimport com.pulumi.edgecenter.ProtectionResourceOriginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var protectedExampleCom = new ProtectionResource(\"protectedExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var primary = new ProtectionResourceOrigin(\"primary\", ProtectionResourceOriginArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .ip(\"192.168.0.1\")\n            .mode(\"primary\")\n            .maxFails(2.0)\n            .failTimeout(3.0)\n            .build());\n\n        var backup = new ProtectionResourceOrigin(\"backup\", ProtectionResourceOriginArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .ip(\"192.168.0.2\")\n            .mode(\"backup\")\n            .build());\n\n        var down = new ProtectionResourceOrigin(\"down\", ProtectionResourceOriginArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .ip(\"192.168.0.3\")\n            .mode(\"down\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  protectedExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected_example_com\n    properties:\n      name: protected.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  primary:\n    type: edgecenter:ProtectionResourceOrigin\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      ip: 192.168.0.1\n      mode: primary\n      maxFails: 2\n      failTimeout: 3\n  backup:\n    type: edgecenter:ProtectionResourceOrigin\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      ip: 192.168.0.2\n      mode: backup\n  down:\n    type: edgecenter:ProtectionResourceOrigin\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      ip: 192.168.0.3\n      mode: down\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e:\u003corigin_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/protectionResourceOrigin:ProtectionResourceOrigin primary 12345:67\n```\n\n","properties":{"comment":{"type":"string","description":"Custom comment about the origin.\n"},"failTimeout":{"type":"number","description":"Time (in seconds) after which the server is considered unreachable.\n"},"ip":{"type":"string","description":"Origin IP for the website behind DDoS protection.\n"},"maxFails":{"type":"number","description":"Max number of failed connection attempts.\n"},"mode":{"type":"string","description":"Operation mode for this origin. Available values are \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`down`\" pulumi-lang-dotnet=\"`Down`\" pulumi-lang-go=\"`down`\" pulumi-lang-python=\"`down`\" pulumi-lang-yaml=\"`down`\" pulumi-lang-java=\"`down`\"\u003e`down`\u003c/span\u003e.\n"},"protectionResourceOriginId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource using this origin.\n"},"weight":{"type":"number","description":"Origin weight for request balancing.\n"}},"type":"object","required":["comment","failTimeout","ip","maxFails","mode","protectionResourceOriginId","resource","weight"],"inputProperties":{"comment":{"type":"string","description":"Custom comment about the origin.\n"},"failTimeout":{"type":"number","description":"Time (in seconds) after which the server is considered unreachable.\n"},"ip":{"type":"string","description":"Origin IP for the website behind DDoS protection.\n"},"maxFails":{"type":"number","description":"Max number of failed connection attempts.\n"},"mode":{"type":"string","description":"Operation mode for this origin. Available values are \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`down`\" pulumi-lang-dotnet=\"`Down`\" pulumi-lang-go=\"`down`\" pulumi-lang-python=\"`down`\" pulumi-lang-yaml=\"`down`\" pulumi-lang-java=\"`down`\"\u003e`down`\u003c/span\u003e.\n"},"protectionResourceOriginId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource using this origin.\n"},"weight":{"type":"number","description":"Origin weight for request balancing.\n"}},"requiredInputs":["ip","resource"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResourceOrigin resources.\n","properties":{"comment":{"type":"string","description":"Custom comment about the origin.\n"},"failTimeout":{"type":"number","description":"Time (in seconds) after which the server is considered unreachable.\n"},"ip":{"type":"string","description":"Origin IP for the website behind DDoS protection.\n"},"maxFails":{"type":"number","description":"Max number of failed connection attempts.\n"},"mode":{"type":"string","description":"Operation mode for this origin. Available values are \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`down`\" pulumi-lang-dotnet=\"`Down`\" pulumi-lang-go=\"`down`\" pulumi-lang-python=\"`down`\" pulumi-lang-yaml=\"`down`\" pulumi-lang-java=\"`down`\"\u003e`down`\u003c/span\u003e.\n"},"protectionResourceOriginId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource using this origin.\n"},"weight":{"type":"number","description":"Origin weight for request balancing.\n"}},"type":"object"}},"edgecenter:index/protectionResourceWhitelistEntry:ProtectionResourceWhitelistEntry":{"description":"Represent IP added to whitelist for DDoS protection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst protectedExampleCom = new edgecenter.ProtectionResource(\"protected_example_com\", {\n    name: \"protected.example.com\",\n    tls: [\n        \"1.2\",\n        \"1.3\",\n    ],\n});\nconst whitelist1 = new edgecenter.ProtectionResourceWhitelistEntry(\"whitelist1\", {\n    resource: protectedExampleCom.protectionResourceId,\n    ip: \"1.2.3.4\",\n});\nconst whitelist2 = new edgecenter.ProtectionResourceWhitelistEntry(\"whitelist2\", {\n    resource: protectedExampleCom.protectionResourceId,\n    ip: \"1.2.4.0/27\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nprotected_example_com = edgecenter.ProtectionResource(\"protected_example_com\",\n    name=\"protected.example.com\",\n    tls=[\n        \"1.2\",\n        \"1.3\",\n    ])\nwhitelist1 = edgecenter.ProtectionResourceWhitelistEntry(\"whitelist1\",\n    resource=protected_example_com.protection_resource_id,\n    ip=\"1.2.3.4\")\nwhitelist2 = edgecenter.ProtectionResourceWhitelistEntry(\"whitelist2\",\n    resource=protected_example_com.protection_resource_id,\n    ip=\"1.2.4.0/27\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var protectedExampleCom = new Edgecenter.ProtectionResource(\"protected_example_com\", new()\n    {\n        Name = \"protected.example.com\",\n        Tls = new[]\n        {\n            \"1.2\",\n            \"1.3\",\n        },\n    });\n\n    var whitelist1 = new Edgecenter.ProtectionResourceWhitelistEntry(\"whitelist1\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Ip = \"1.2.3.4\",\n    });\n\n    var whitelist2 = new Edgecenter.ProtectionResourceWhitelistEntry(\"whitelist2\", new()\n    {\n        Resource = protectedExampleCom.ProtectionResourceId,\n        Ip = \"1.2.4.0/27\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprotectedExampleCom, err := edgecenter.NewProtectionResource(ctx, \"protected_example_com\", \u0026edgecenter.ProtectionResourceArgs{\n\t\t\tName: pulumi.String(\"protected.example.com\"),\n\t\t\tTls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2\"),\n\t\t\t\tpulumi.String(\"1.3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceWhitelistEntry(ctx, \"whitelist1\", \u0026edgecenter.ProtectionResourceWhitelistEntryArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tIp:       pulumi.String(\"1.2.3.4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewProtectionResourceWhitelistEntry(ctx, \"whitelist2\", \u0026edgecenter.ProtectionResourceWhitelistEntryArgs{\n\t\t\tResource: protectedExampleCom.ProtectionResourceId,\n\t\t\tIp:       pulumi.String(\"1.2.4.0/27\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ProtectionResource;\nimport com.pulumi.edgecenter.ProtectionResourceArgs;\nimport com.pulumi.edgecenter.ProtectionResourceWhitelistEntry;\nimport com.pulumi.edgecenter.ProtectionResourceWhitelistEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var protectedExampleCom = new ProtectionResource(\"protectedExampleCom\", ProtectionResourceArgs.builder()\n            .name(\"protected.example.com\")\n            .tls(            \n                \"1.2\",\n                \"1.3\")\n            .build());\n\n        var whitelist1 = new ProtectionResourceWhitelistEntry(\"whitelist1\", ProtectionResourceWhitelistEntryArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .ip(\"1.2.3.4\")\n            .build());\n\n        var whitelist2 = new ProtectionResourceWhitelistEntry(\"whitelist2\", ProtectionResourceWhitelistEntryArgs.builder()\n            .resource(protectedExampleCom.protectionResourceId())\n            .ip(\"1.2.4.0/27\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  protectedExampleCom:\n    type: edgecenter:ProtectionResource\n    name: protected_example_com\n    properties:\n      name: protected.example.com\n      tls:\n        - '1.2'\n        - '1.3'\n  whitelist1:\n    type: edgecenter:ProtectionResourceWhitelistEntry\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      ip: 1.2.3.4\n  whitelist2:\n    type: edgecenter:ProtectionResourceWhitelistEntry\n    properties:\n      resource: ${protectedExampleCom.protectionResourceId}\n      ip: 1.2.4.0/27\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cresource_id\u003e:\u003centry_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/protectionResourceWhitelistEntry:ProtectionResourceWhitelistEntry whitelist1 12345:67\n```\n\n","properties":{"ip":{"type":"string","description":"Allowed IP address.\n"},"protectionResourceWhitelistEntryId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add header to.\n"}},"type":"object","required":["ip","protectionResourceWhitelistEntryId","resource"],"inputProperties":{"ip":{"type":"string","description":"Allowed IP address.\n"},"protectionResourceWhitelistEntryId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add header to.\n"}},"requiredInputs":["ip","resource"],"stateInputs":{"description":"Input properties used for looking up and filtering ProtectionResourceWhitelistEntry resources.\n","properties":{"ip":{"type":"string","description":"Allowed IP address.\n"},"protectionResourceWhitelistEntryId":{"type":"string","description":"The ID of this resource.\n"},"resource":{"type":"string","description":"ID of the DDoS protection resource to add header to.\n"}},"type":"object"}},"edgecenter:index/resellerImages:ResellerImages":{"description":"**WARNING:** resource \u003cspan pulumi-lang-nodejs=\"\"edgecenter.ResellerImages\"\" pulumi-lang-dotnet=\"\"edgecenter.ResellerImages\"\" pulumi-lang-go=\"\"ResellerImages\"\" pulumi-lang-python=\"\"ResellerImages\"\" pulumi-lang-yaml=\"\"edgecenter.ResellerImages\"\" pulumi-lang-java=\"\"edgecenter.ResellerImages\"\"\u003e\"edgecenter.ResellerImages\"\u003c/span\u003e is deprecated.\n\t\t\t\t\t\tUse \"edgecenter_reseller_imagesV2\" resource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst rimgs = new edgecenter.ResellerImages(\"rimgs\", {\n    resellerId: 123456,\n    options: [\n        {\n            regionId: 123,\n            imageIds: [\n                \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                \"0052a312-e6d8-4177-8e29-b017a3a6b588\",\n            ],\n        },\n        {\n            regionId: 456,\n            imageIds: [],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrimgs = edgecenter.ResellerImages(\"rimgs\",\n    reseller_id=123456,\n    options=[\n        {\n            \"region_id\": 123,\n            \"image_ids\": [\n                \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                \"0052a312-e6d8-4177-8e29-b017a3a6b588\",\n            ],\n        },\n        {\n            \"region_id\": 456,\n            \"image_ids\": [],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rimgs = new Edgecenter.ResellerImages(\"rimgs\", new()\n    {\n        ResellerId = 123456,\n        Options = new[]\n        {\n            new Edgecenter.Inputs.ResellerImagesOptionArgs\n            {\n                RegionId = 123,\n                ImageIds = new[]\n                {\n                    \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                    \"0052a312-e6d8-4177-8e29-b017a3a6b588\",\n                },\n            },\n            new Edgecenter.Inputs.ResellerImagesOptionArgs\n            {\n                RegionId = 456,\n                ImageIds = new() { },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewResellerImages(ctx, \"rimgs\", \u0026edgecenter.ResellerImagesArgs{\n\t\t\tResellerId: pulumi.Float64(123456),\n\t\t\tOptions: edgecenter.ResellerImagesOptionArray{\n\t\t\t\t\u0026edgecenter.ResellerImagesOptionArgs{\n\t\t\t\t\tRegionId: pulumi.Float64(123),\n\t\t\t\t\tImageIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"b5b4d65d-945f-4b98-ab6f-332319c724ef\"),\n\t\t\t\t\t\tpulumi.String(\"0052a312-e6d8-4177-8e29-b017a3a6b588\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.ResellerImagesOptionArgs{\n\t\t\t\t\tRegionId: pulumi.Float64(456),\n\t\t\t\t\tImageIds: pulumi.StringArray{},\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.edgecenter.ResellerImages;\nimport com.pulumi.edgecenter.ResellerImagesArgs;\nimport com.pulumi.edgecenter.inputs.ResellerImagesOptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rimgs = new ResellerImages(\"rimgs\", ResellerImagesArgs.builder()\n            .resellerId(123456.0)\n            .options(            \n                ResellerImagesOptionArgs.builder()\n                    .regionId(123.0)\n                    .imageIds(                    \n                        \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                        \"0052a312-e6d8-4177-8e29-b017a3a6b588\")\n                    .build(),\n                ResellerImagesOptionArgs.builder()\n                    .regionId(456.0)\n                    .imageIds()\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rimgs:\n    type: edgecenter:ResellerImages\n    properties:\n      resellerId: 123456\n      options:\n        - regionId: 123\n          imageIds:\n            - b5b4d65d-945f-4b98-ab6f-332319c724ef\n            - 0052a312-e6d8-4177-8e29-b017a3a6b588\n        - regionId: 456\n          imageIds: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003creseller_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/resellerImages:ResellerImages rimgs 123\n```\n\n","properties":{"options":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FResellerImagesOption:ResellerImagesOption"},"description":"This set defines image IDs that can be attached to the instances of the reseller.\n"},"resellerId":{"type":"number","description":"The ID of the reseller.\n"},"resellerImagesId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["options","resellerId","resellerImagesId"],"inputProperties":{"options":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FResellerImagesOption:ResellerImagesOption"},"description":"This set defines image IDs that can be attached to the instances of the reseller.\n"},"resellerId":{"type":"number","description":"The ID of the reseller.\n"},"resellerImagesId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["options","resellerId"],"stateInputs":{"description":"Input properties used for looking up and filtering ResellerImages resources.\n","properties":{"options":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FResellerImagesOption:ResellerImagesOption"},"description":"This set defines image IDs that can be attached to the instances of the reseller.\n"},"resellerId":{"type":"number","description":"The ID of the reseller.\n"},"resellerImagesId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/resellerImagesV2:ResellerImagesV2":{"description":"**This resource has been created for resellers and only works with the reseller API key.**\n\nResellers and Cloud Admins can change the set of images available to resellers, their customers and their projects.\n\nFirstly, they can limit the number of public images available.\nIf the reseller, client or project has\u003cspan pulumi-lang-nodejs=\" imageIds \" pulumi-lang-dotnet=\" ImageIds \" pulumi-lang-go=\" imageIds \" pulumi-lang-python=\" image_ids \" pulumi-lang-yaml=\" imageIds \" pulumi-lang-java=\" imageIds \"\u003e image_ids \u003c/span\u003e= [] or doesn't have an\u003cspan pulumi-lang-nodejs=\" imageIds \" pulumi-lang-dotnet=\" ImageIds \" pulumi-lang-go=\" imageIds \" pulumi-lang-python=\" image_ids \" pulumi-lang-yaml=\" imageIds \" pulumi-lang-java=\" imageIds \"\u003e image_ids \u003c/span\u003efield in config, all public images will be unavailable to the client.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst rimgs = new edgecenter.ResellerImagesV2(\"rimgs\", {\n    entityId: 123456,\n    entityType: \"reseller\",\n    options: [\n        {\n            regionId: 123,\n            imageIds: [\n                \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                \"0052a312-e6d8-4177-8e29-b017a3a6b588\",\n            ],\n        },\n        {\n            regionId: 456,\n            imageIds: [],\n        },\n        {\n            regionId: 321,\n            allPublicImagesAreAvailable: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrimgs = edgecenter.ResellerImagesV2(\"rimgs\",\n    entity_id=123456,\n    entity_type=\"reseller\",\n    options=[\n        {\n            \"region_id\": 123,\n            \"image_ids\": [\n                \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                \"0052a312-e6d8-4177-8e29-b017a3a6b588\",\n            ],\n        },\n        {\n            \"region_id\": 456,\n            \"image_ids\": [],\n        },\n        {\n            \"region_id\": 321,\n            \"all_public_images_are_available\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rimgs = new Edgecenter.ResellerImagesV2(\"rimgs\", new()\n    {\n        EntityId = 123456,\n        EntityType = \"reseller\",\n        Options = new[]\n        {\n            new Edgecenter.Inputs.ResellerImagesV2OptionArgs\n            {\n                RegionId = 123,\n                ImageIds = new[]\n                {\n                    \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                    \"0052a312-e6d8-4177-8e29-b017a3a6b588\",\n                },\n            },\n            new Edgecenter.Inputs.ResellerImagesV2OptionArgs\n            {\n                RegionId = 456,\n                ImageIds = new() { },\n            },\n            new Edgecenter.Inputs.ResellerImagesV2OptionArgs\n            {\n                RegionId = 321,\n                AllPublicImagesAreAvailable = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewResellerImagesV2(ctx, \"rimgs\", \u0026edgecenter.ResellerImagesV2Args{\n\t\t\tEntityId:   pulumi.Float64(123456),\n\t\t\tEntityType: pulumi.String(\"reseller\"),\n\t\t\tOptions: edgecenter.ResellerImagesV2OptionArray{\n\t\t\t\t\u0026edgecenter.ResellerImagesV2OptionArgs{\n\t\t\t\t\tRegionId: pulumi.Float64(123),\n\t\t\t\t\tImageIds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"b5b4d65d-945f-4b98-ab6f-332319c724ef\"),\n\t\t\t\t\t\tpulumi.String(\"0052a312-e6d8-4177-8e29-b017a3a6b588\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.ResellerImagesV2OptionArgs{\n\t\t\t\t\tRegionId: pulumi.Float64(456),\n\t\t\t\t\tImageIds: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.ResellerImagesV2OptionArgs{\n\t\t\t\t\tRegionId:                    pulumi.Float64(321),\n\t\t\t\t\tAllPublicImagesAreAvailable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.ResellerImagesV2;\nimport com.pulumi.edgecenter.ResellerImagesV2Args;\nimport com.pulumi.edgecenter.inputs.ResellerImagesV2OptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rimgs = new ResellerImagesV2(\"rimgs\", ResellerImagesV2Args.builder()\n            .entityId(123456.0)\n            .entityType(\"reseller\")\n            .options(            \n                ResellerImagesV2OptionArgs.builder()\n                    .regionId(123.0)\n                    .imageIds(                    \n                        \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n                        \"0052a312-e6d8-4177-8e29-b017a3a6b588\")\n                    .build(),\n                ResellerImagesV2OptionArgs.builder()\n                    .regionId(456.0)\n                    .imageIds()\n                    .build(),\n                ResellerImagesV2OptionArgs.builder()\n                    .regionId(321.0)\n                    .allPublicImagesAreAvailable(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rimgs:\n    type: edgecenter:ResellerImagesV2\n    properties:\n      entityId: 123456\n      entityType: reseller\n      options:\n        - regionId: 123\n          imageIds:\n            - b5b4d65d-945f-4b98-ab6f-332319c724ef\n            - 0052a312-e6d8-4177-8e29-b017a3a6b588\n        - regionId: 456\n          imageIds: []\n        - regionId: 321\n          allPublicImagesAreAvailable: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"entityId":{"type":"number","description":"The ID of the entity.\n"},"entityType":{"type":"string","description":"The entity type. Available values are 'reseller', 'client', 'project'.\n"},"options":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FResellerImagesV2Option:ResellerImagesV2Option"},"description":"This set defines image IDs that can be attached to the instances of the entity.\n"},"resellerImagesV2Id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["entityId","entityType","options","resellerImagesV2Id"],"inputProperties":{"entityId":{"type":"number","description":"The ID of the entity.\n"},"entityType":{"type":"string","description":"The entity type. Available values are 'reseller', 'client', 'project'.\n"},"options":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FResellerImagesV2Option:ResellerImagesV2Option"},"description":"This set defines image IDs that can be attached to the instances of the entity.\n"},"resellerImagesV2Id":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["entityId","entityType","options"],"stateInputs":{"description":"Input properties used for looking up and filtering ResellerImagesV2 resources.\n","properties":{"entityId":{"type":"number","description":"The ID of the entity.\n"},"entityType":{"type":"string","description":"The entity type. Available values are 'reseller', 'client', 'project'.\n"},"options":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FResellerImagesV2Option:ResellerImagesV2Option"},"description":"This set defines image IDs that can be attached to the instances of the entity.\n"},"resellerImagesV2Id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/reservedfixedip:Reservedfixedip":{"description":"Represent reserved ips\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst fixedIp = new edgecenter.Reservedfixedip(\"fixed_ip\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"external\",\n    isVip: true,\n    instancePortsThatShareVips: [\n        \"8296f985-eb1e-4ac8-8a99-cd1156746d30\",\n        \"41233b81-f42r-46d0-8043-759c8c542219\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nfixed_ip = edgecenter.Reservedfixedip(\"fixed_ip\",\n    project_id=1,\n    region_id=1,\n    type=\"external\",\n    is_vip=True,\n    instance_ports_that_share_vips=[\n        \"8296f985-eb1e-4ac8-8a99-cd1156746d30\",\n        \"41233b81-f42r-46d0-8043-759c8c542219\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fixedIp = new Edgecenter.Reservedfixedip(\"fixed_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"external\",\n        IsVip = true,\n        InstancePortsThatShareVips = new[]\n        {\n            \"8296f985-eb1e-4ac8-8a99-cd1156746d30\",\n            \"41233b81-f42r-46d0-8043-759c8c542219\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewReservedfixedip(ctx, \"fixed_ip\", \u0026edgecenter.ReservedfixedipArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"external\"),\n\t\t\tIsVip:     pulumi.Bool(true),\n\t\t\tInstancePortsThatShareVips: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8296f985-eb1e-4ac8-8a99-cd1156746d30\"),\n\t\t\t\tpulumi.String(\"41233b81-f42r-46d0-8043-759c8c542219\"),\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.edgecenter.Reservedfixedip;\nimport com.pulumi.edgecenter.ReservedfixedipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fixedIp = new Reservedfixedip(\"fixedIp\", ReservedfixedipArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"external\")\n            .isVip(true)\n            .instancePortsThatShareVips(            \n                \"8296f985-eb1e-4ac8-8a99-cd1156746d30\",\n                \"41233b81-f42r-46d0-8043-759c8c542219\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fixedIp:\n    type: edgecenter:Reservedfixedip\n    name: fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: external\n      isVip: true\n      instancePortsThatShareVips:\n        - 8296f985-eb1e-4ac8-8a99-cd1156746d30\n        - 41233b81-f42r-46d0-8043-759c8c542219\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003creservedfixedip_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/reservedfixedip:Reservedfixedip reservedfixedip1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FReservedfixedipAllowedAddressPair:ReservedfixedipAllowedAddressPair"},"description":"Group of IP addresses that share the current IP as VIP.\n"},"fixedIpAddress":{"type":"string","description":"The IP address that is associated with the reserved IP. Required if 'type' is 'ip_address', computed otherwise.\n"},"instancePortsThatShareVips":{"type":"array","items":{"type":"string"},"description":"instance ports that share a VIP\n"},"isVip":{"type":"boolean","description":"Flag to determine if the reserved fixed IP should be treated as a Virtual IP (VIP).\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"networkId":{"type":"string","description":"ID of the network to which the reserved fixed IP is associated. Required if 'type' is 'ip*address' or 'any*subnet', computed otherwise.\n"},"portId":{"type":"string","description":"ID of the\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\u003eunderlying the reserved fixed IP.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"reservation":{"type":"object","additionalProperties":{"type":"string"},"description":"The status of the reserved fixed IP with the type of the resource and the ID it is attached to\n"},"reservedfixedipId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The current status of the reserved fixed IP.\n"},"subnetId":{"type":"string","description":"ID of the subnet from which the fixed IP should be reserved. Required if 'type' is 'subnet', computed otherwise.\n"},"type":{"type":"string","description":"The type of reserved fixed IP. Valid values are 'external', 'subnet', 'any*subnet', and 'ip*address'. Refer optional parameters description to determine which are required for each type.\n"}},"type":"object","required":["fixedIpAddress","lastUpdated","networkId","portId","reservation","reservedfixedipId","status","subnetId","type"],"inputProperties":{"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FReservedfixedipAllowedAddressPair:ReservedfixedipAllowedAddressPair"},"description":"Group of IP addresses that share the current IP as VIP.\n"},"fixedIpAddress":{"type":"string","description":"The IP address that is associated with the reserved IP. Required if 'type' is 'ip_address', computed otherwise.\n"},"instancePortsThatShareVips":{"type":"array","items":{"type":"string"},"description":"instance ports that share a VIP\n"},"isVip":{"type":"boolean","description":"Flag to determine if the reserved fixed IP should be treated as a Virtual IP (VIP).\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"networkId":{"type":"string","description":"ID of the network to which the reserved fixed IP is associated. Required if 'type' is 'ip*address' or 'any*subnet', computed otherwise.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"reservedfixedipId":{"type":"string","description":"The ID of this resource.\n"},"subnetId":{"type":"string","description":"ID of the subnet from which the fixed IP should be reserved. Required if 'type' is 'subnet', computed otherwise.\n"},"type":{"type":"string","description":"The type of reserved fixed IP. Valid values are 'external', 'subnet', 'any*subnet', and 'ip*address'. Refer optional parameters description to determine which are required for each type.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering Reservedfixedip resources.\n","properties":{"allowedAddressPairs":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FReservedfixedipAllowedAddressPair:ReservedfixedipAllowedAddressPair"},"description":"Group of IP addresses that share the current IP as VIP.\n"},"fixedIpAddress":{"type":"string","description":"The IP address that is associated with the reserved IP. Required if 'type' is 'ip_address', computed otherwise.\n"},"instancePortsThatShareVips":{"type":"array","items":{"type":"string"},"description":"instance ports that share a VIP\n"},"isVip":{"type":"boolean","description":"Flag to determine if the reserved fixed IP should be treated as a Virtual IP (VIP).\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"networkId":{"type":"string","description":"ID of the network to which the reserved fixed IP is associated. Required if 'type' is 'ip*address' or 'any*subnet', computed otherwise.\n"},"portId":{"type":"string","description":"ID of the\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\u003eunderlying the reserved fixed IP.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"reservation":{"type":"object","additionalProperties":{"type":"string"},"description":"The status of the reserved fixed IP with the type of the resource and the ID it is attached to\n"},"reservedfixedipId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The current status of the reserved fixed IP.\n"},"subnetId":{"type":"string","description":"ID of the subnet from which the fixed IP should be reserved. Required if 'type' is 'subnet', computed otherwise.\n"},"type":{"type":"string","description":"The type of reserved fixed IP. Valid values are 'external', 'subnet', 'any*subnet', and 'ip*address'. Refer optional parameters description to determine which are required for each type.\n"}},"type":"object"}},"edgecenter:index/rmonChannel:RmonChannel":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst telegramAlerts = new edgecenter.RmonChannel(\"telegram_alerts\", {\n    receiver: \"telegram\",\n    token: \"123456:example-telegram-bot-token\",\n    channelName: \"rmon-alerts\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\ntelegram_alerts = edgecenter.RmonChannel(\"telegram_alerts\",\n    receiver=\"telegram\",\n    token=\"123456:example-telegram-bot-token\",\n    channel_name=\"rmon-alerts\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var telegramAlerts = new Edgecenter.RmonChannel(\"telegram_alerts\", new()\n    {\n        Receiver = \"telegram\",\n        Token = \"123456:example-telegram-bot-token\",\n        ChannelName = \"rmon-alerts\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonChannel(ctx, \"telegram_alerts\", \u0026edgecenter.RmonChannelArgs{\n\t\t\tReceiver:    pulumi.String(\"telegram\"),\n\t\t\tToken:       pulumi.String(\"123456:example-telegram-bot-token\"),\n\t\t\tChannelName: pulumi.String(\"rmon-alerts\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.RmonChannel;\nimport com.pulumi.edgecenter.RmonChannelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var telegramAlerts = new RmonChannel(\"telegramAlerts\", RmonChannelArgs.builder()\n            .receiver(\"telegram\")\n            .token(\"123456:example-telegram-bot-token\")\n            .channelName(\"rmon-alerts\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  telegramAlerts:\n    type: edgecenter:RmonChannel\n    name: telegram_alerts\n    properties:\n      receiver: telegram\n      token: 123456:example-telegram-bot-token\n      channelName: rmon-alerts\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"channelName":{"type":"string","description":"The channel identifier.\n"},"receiver":{"type":"string","description":"Receiver type used in API path. Only 'telegram', 'slack', 'pd', 'mm', 'email' are allowed.\n"},"rmonChannelId":{"type":"string","description":"The ID of this resource.\n"},"token":{"type":"string","description":"The token used for the channel.\n"}},"type":"object","required":["channelName","receiver","rmonChannelId","token"],"inputProperties":{"channelName":{"type":"string","description":"The channel identifier.\n"},"receiver":{"type":"string","description":"Receiver type used in API path. Only 'telegram', 'slack', 'pd', 'mm', 'email' are allowed.\n"},"rmonChannelId":{"type":"string","description":"The ID of this resource.\n"},"token":{"type":"string","description":"The token used for the channel.\n"}},"requiredInputs":["channelName","receiver","token"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonChannel resources.\n","properties":{"channelName":{"type":"string","description":"The channel identifier.\n"},"receiver":{"type":"string","description":"Receiver type used in API path. Only 'telegram', 'slack', 'pd', 'mm', 'email' are allowed.\n"},"rmonChannelId":{"type":"string","description":"The ID of this resource.\n"},"token":{"type":"string","description":"The token used for the channel.\n"}},"type":"object"}},"edgecenter:index/rmonCheckDns:RmonCheckDns":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.RmonCheckDns(\"example\", {\n    name: \"dns-example\",\n    enabled: true,\n    place: \"country\",\n    entities: [\n        1,\n        2,\n    ],\n    ip: \"example.com\",\n    resolver: \"8.8.8.8\",\n    recordType: \"a\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.RmonCheckDns(\"example\",\n    name=\"dns-example\",\n    enabled=True,\n    place=\"country\",\n    entities=[\n        1,\n        2,\n    ],\n    ip=\"example.com\",\n    resolver=\"8.8.8.8\",\n    record_type=\"a\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.RmonCheckDns(\"example\", new()\n    {\n        Name = \"dns-example\",\n        Enabled = true,\n        Place = \"country\",\n        Entities = new[]\n        {\n            1,\n            2,\n        },\n        Ip = \"example.com\",\n        Resolver = \"8.8.8.8\",\n        RecordType = \"a\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonCheckDns(ctx, \"example\", \u0026edgecenter.RmonCheckDnsArgs{\n\t\t\tName:    pulumi.String(\"dns-example\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPlace:   pulumi.String(\"country\"),\n\t\t\tEntities: pulumi.Float64Array{\n\t\t\t\tpulumi.Float64(1),\n\t\t\t\tpulumi.Float64(2),\n\t\t\t},\n\t\t\tIp:         pulumi.String(\"example.com\"),\n\t\t\tResolver:   pulumi.String(\"8.8.8.8\"),\n\t\t\tRecordType: pulumi.String(\"a\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.RmonCheckDns;\nimport com.pulumi.edgecenter.RmonCheckDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RmonCheckDns(\"example\", RmonCheckDnsArgs.builder()\n            .name(\"dns-example\")\n            .enabled(true)\n            .place(\"country\")\n            .entities(            \n                1.0,\n                2.0)\n            .ip(\"example.com\")\n            .resolver(\"8.8.8.8\")\n            .recordType(\"a\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:RmonCheckDns\n    properties:\n      name: dns-example\n      enabled: true\n      place: country\n      entities:\n        - 1\n        - 2\n      ip: example.com\n      resolver: 8.8.8.8\n      recordType: a\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group DNS checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check DNS.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check DNS.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check DNS.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check DNS.\n"},"port":{"type":"number","description":"DNS server port.\n"},"recordType":{"type":"string","description":"DNS record type.\n"},"resolver":{"type":"string","description":"DNS server where resolve DNS query.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckDnsId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"type":"object","required":["enabled","entities","ip","name","place","recordType","resolver","rmonCheckDnsId"],"inputProperties":{"checkGroup":{"type":"string","description":"Name of the check group for group DNS checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check DNS.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check DNS.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check DNS.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check DNS.\n"},"port":{"type":"number","description":"DNS server port.\n"},"recordType":{"type":"string","description":"DNS record type.\n"},"resolver":{"type":"string","description":"DNS server where resolve DNS query.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckDnsId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"requiredInputs":["enabled","entities","ip","place","recordType","resolver"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonCheckDns resources.\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group DNS checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check DNS.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check DNS.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check DNS.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check DNS.\n"},"port":{"type":"number","description":"DNS server port.\n"},"recordType":{"type":"string","description":"DNS record type.\n"},"resolver":{"type":"string","description":"DNS server where resolve DNS query.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckDnsId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"type":"object"}},"edgecenter:index/rmonCheckGroup:RmonCheckGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst coreServices = new edgecenter.RmonCheckGroup(\"core_services\", {name: \"core-services\"});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\ncore_services = edgecenter.RmonCheckGroup(\"core_services\", name=\"core-services\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var coreServices = new Edgecenter.RmonCheckGroup(\"core_services\", new()\n    {\n        Name = \"core-services\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonCheckGroup(ctx, \"core_services\", \u0026edgecenter.RmonCheckGroupArgs{\n\t\t\tName: pulumi.String(\"core-services\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.RmonCheckGroup;\nimport com.pulumi.edgecenter.RmonCheckGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var coreServices = new RmonCheckGroup(\"coreServices\", RmonCheckGroupArgs.builder()\n            .name(\"core-services\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  coreServices:\n    type: edgecenter:RmonCheckGroup\n    name: core_services\n    properties:\n      name: core-services\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"name":{"type":"string","description":"RMON check group name.\n"},"rmonCheckGroupId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["name","rmonCheckGroupId"],"inputProperties":{"name":{"type":"string","description":"RMON check group name.\n"},"rmonCheckGroupId":{"type":"string","description":"The ID of this resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering RmonCheckGroup resources.\n","properties":{"name":{"type":"string","description":"RMON check group name.\n"},"rmonCheckGroupId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/rmonCheckHttp:RmonCheckHttp":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.RmonCheckHttp(\"example\", {\n    name: \"http-example\",\n    enabled: true,\n    place: \"country\",\n    entities: [1],\n    url: \"https://example.com/health\",\n    method: \"get\",\n    acceptedStatusCodes: [200],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.RmonCheckHttp(\"example\",\n    name=\"http-example\",\n    enabled=True,\n    place=\"country\",\n    entities=[1],\n    url=\"https://example.com/health\",\n    method=\"get\",\n    accepted_status_codes=[200])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.RmonCheckHttp(\"example\", new()\n    {\n        Name = \"http-example\",\n        Enabled = true,\n        Place = \"country\",\n        Entities = new[]\n        {\n            1,\n        },\n        Url = \"https://example.com/health\",\n        Method = \"get\",\n        AcceptedStatusCodes = new[]\n        {\n            200,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonCheckHttp(ctx, \"example\", \u0026edgecenter.RmonCheckHttpArgs{\n\t\t\tName:    pulumi.String(\"http-example\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPlace:   pulumi.String(\"country\"),\n\t\t\tEntities: pulumi.Float64Array{\n\t\t\t\tpulumi.Float64(1),\n\t\t\t},\n\t\t\tUrl:    pulumi.String(\"https://example.com/health\"),\n\t\t\tMethod: pulumi.String(\"get\"),\n\t\t\tAcceptedStatusCodes: pulumi.Float64Array{\n\t\t\t\tpulumi.Float64(200),\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.edgecenter.RmonCheckHttp;\nimport com.pulumi.edgecenter.RmonCheckHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RmonCheckHttp(\"example\", RmonCheckHttpArgs.builder()\n            .name(\"http-example\")\n            .enabled(true)\n            .place(\"country\")\n            .entities(1.0)\n            .url(\"https://example.com/health\")\n            .method(\"get\")\n            .acceptedStatusCodes(200.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:RmonCheckHttp\n    properties:\n      name: http-example\n      enabled: true\n      place: country\n      entities:\n        - 1\n      url: https://example.com/health\n      method: get\n      acceptedStatusCodes:\n        - 200\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"acceptedStatusCodes":{"type":"array","items":{"type":"number"},"description":"Accepted HTTP status codes (e.g. [200, 201]).\n"},"body":{"type":"string","description":"Check body answer.\n"},"bodyReq":{"type":"string","description":"Send body to server. In JSON.\n"},"checkGroup":{"type":"string","description":"Name of the check group for group HTTP(s) checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check HTTP(s).\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check HTTP(s).\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"headerReq":{"type":"string","description":"Send headers to server. In JSON.\n"},"ignoreSslError":{"type":"boolean","description":"Ignore TLS/SSL error.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"method":{"type":"string","description":"HTTP method for HTTP(s) check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check Http.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Port number for binding Check HTTP(s).\n"},"redirects":{"type":"number","description":"Maximum number of redirects to follow. Set to 0 to disable redirects.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckHttpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"url":{"type":"string","description":"URL what must be checked.\n"}},"type":"object","required":["acceptedStatusCodes","enabled","entities","method","name","place","rmonCheckHttpId","url"],"inputProperties":{"acceptedStatusCodes":{"type":"array","items":{"type":"number"},"description":"Accepted HTTP status codes (e.g. [200, 201]).\n"},"body":{"type":"string","description":"Check body answer.\n"},"bodyReq":{"type":"string","description":"Send body to server. In JSON.\n"},"checkGroup":{"type":"string","description":"Name of the check group for group HTTP(s) checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check HTTP(s).\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check HTTP(s).\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"headerReq":{"type":"string","description":"Send headers to server. In JSON.\n"},"ignoreSslError":{"type":"boolean","description":"Ignore TLS/SSL error.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"method":{"type":"string","description":"HTTP method for HTTP(s) check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check Http.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Port number for binding Check HTTP(s).\n"},"redirects":{"type":"number","description":"Maximum number of redirects to follow. Set to 0 to disable redirects.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckHttpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"url":{"type":"string","description":"URL what must be checked.\n"}},"requiredInputs":["acceptedStatusCodes","enabled","entities","method","place","url"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonCheckHttp resources.\n","properties":{"acceptedStatusCodes":{"type":"array","items":{"type":"number"},"description":"Accepted HTTP status codes (e.g. [200, 201]).\n"},"body":{"type":"string","description":"Check body answer.\n"},"bodyReq":{"type":"string","description":"Send body to server. In JSON.\n"},"checkGroup":{"type":"string","description":"Name of the check group for group HTTP(s) checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check HTTP(s).\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check HTTP(s).\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"headerReq":{"type":"string","description":"Send headers to server. In JSON.\n"},"ignoreSslError":{"type":"boolean","description":"Ignore TLS/SSL error.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"method":{"type":"string","description":"HTTP method for HTTP(s) check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check Http.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Port number for binding Check HTTP(s).\n"},"redirects":{"type":"number","description":"Maximum number of redirects to follow. Set to 0 to disable redirects.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckHttpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"url":{"type":"string","description":"URL what must be checked.\n"}},"type":"object"}},"edgecenter:index/rmonCheckPing:RmonCheckPing":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.RmonCheckPing(\"example\", {\n    name: \"ping-example\",\n    enabled: true,\n    place: \"country\",\n    entities: [1],\n    ip: \"1.1.1.1\",\n    checkTimeout: 2,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.RmonCheckPing(\"example\",\n    name=\"ping-example\",\n    enabled=True,\n    place=\"country\",\n    entities=[1],\n    ip=\"1.1.1.1\",\n    check_timeout=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.RmonCheckPing(\"example\", new()\n    {\n        Name = \"ping-example\",\n        Enabled = true,\n        Place = \"country\",\n        Entities = new[]\n        {\n            1,\n        },\n        Ip = \"1.1.1.1\",\n        CheckTimeout = 2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonCheckPing(ctx, \"example\", \u0026edgecenter.RmonCheckPingArgs{\n\t\t\tName:    pulumi.String(\"ping-example\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPlace:   pulumi.String(\"country\"),\n\t\t\tEntities: pulumi.Float64Array{\n\t\t\t\tpulumi.Float64(1),\n\t\t\t},\n\t\t\tIp:           pulumi.String(\"1.1.1.1\"),\n\t\t\tCheckTimeout: pulumi.Float64(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.RmonCheckPing;\nimport com.pulumi.edgecenter.RmonCheckPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RmonCheckPing(\"example\", RmonCheckPingArgs.builder()\n            .name(\"ping-example\")\n            .enabled(true)\n            .place(\"country\")\n            .entities(1.0)\n            .ip(\"1.1.1.1\")\n            .checkTimeout(2.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:RmonCheckPing\n    properties:\n      name: ping-example\n      enabled: true\n      place: country\n      entities:\n        - 1\n      ip: 1.1.1.1\n      checkTimeout: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group Ping checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"countPackets":{"type":"number","description":"Number of packets to send.\n"},"description":{"type":"string","description":"Description of the Check Ping.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check Ping.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check Ping.\n"},"packetSize":{"type":"number","description":"Packet size\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check Ping.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckPingId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"type":"object","required":["checkTimeout","enabled","entities","ip","name","place","rmonCheckPingId"],"inputProperties":{"checkGroup":{"type":"string","description":"Name of the check group for group Ping checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"countPackets":{"type":"number","description":"Number of packets to send.\n"},"description":{"type":"string","description":"Description of the Check Ping.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check Ping.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check Ping.\n"},"packetSize":{"type":"number","description":"Packet size\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check Ping.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckPingId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"requiredInputs":["checkTimeout","enabled","entities","ip","place"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonCheckPing resources.\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group Ping checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"countPackets":{"type":"number","description":"Number of packets to send.\n"},"description":{"type":"string","description":"Description of the Check Ping.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check Ping.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check Ping.\n"},"packetSize":{"type":"number","description":"Packet size\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check Ping.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckPingId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"type":"object"}},"edgecenter:index/rmonCheckRabbitmq:RmonCheckRabbitmq":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.RmonCheckRabbitmq(\"example\", {\n    name: \"rabbitmq-example\",\n    enabled: true,\n    place: \"region\",\n    entities: [10],\n    ip: \"rabbitmq.example.com\",\n    port: 5672,\n    username: \"monitor\",\n    password: \"example-password\",\n    vhost: \"/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.RmonCheckRabbitmq(\"example\",\n    name=\"rabbitmq-example\",\n    enabled=True,\n    place=\"region\",\n    entities=[10],\n    ip=\"rabbitmq.example.com\",\n    port=5672,\n    username=\"monitor\",\n    password=\"example-password\",\n    vhost=\"/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.RmonCheckRabbitmq(\"example\", new()\n    {\n        Name = \"rabbitmq-example\",\n        Enabled = true,\n        Place = \"region\",\n        Entities = new[]\n        {\n            10,\n        },\n        Ip = \"rabbitmq.example.com\",\n        Port = 5672,\n        Username = \"monitor\",\n        Password = \"example-password\",\n        Vhost = \"/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonCheckRabbitmq(ctx, \"example\", \u0026edgecenter.RmonCheckRabbitmqArgs{\n\t\t\tName:    pulumi.String(\"rabbitmq-example\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPlace:   pulumi.String(\"region\"),\n\t\t\tEntities: pulumi.Float64Array{\n\t\t\t\tpulumi.Float64(10),\n\t\t\t},\n\t\t\tIp:       pulumi.String(\"rabbitmq.example.com\"),\n\t\t\tPort:     pulumi.Float64(5672),\n\t\t\tUsername: pulumi.String(\"monitor\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t\tVhost:    pulumi.String(\"/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.RmonCheckRabbitmq;\nimport com.pulumi.edgecenter.RmonCheckRabbitmqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RmonCheckRabbitmq(\"example\", RmonCheckRabbitmqArgs.builder()\n            .name(\"rabbitmq-example\")\n            .enabled(true)\n            .place(\"region\")\n            .entities(10.0)\n            .ip(\"rabbitmq.example.com\")\n            .port(5672.0)\n            .username(\"monitor\")\n            .password(\"example-password\")\n            .vhost(\"/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:RmonCheckRabbitmq\n    properties:\n      name: rabbitmq-example\n      enabled: true\n      place: region\n      entities:\n        - 10\n      ip: rabbitmq.example.com\n      port: 5672\n      username: monitor\n      password: example-password\n      vhost: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group RabbitMQ checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check RabbitMQ.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check RabbitMQ.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name of RabbitMQ server for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check RabbitMQ.\n"},"password":{"type":"string","description":"Password for authenticating to RabbitMQ server.\n","secret":true},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check RabbitMQ.\n"},"port":{"type":"number","description":"RabbitMQ server port.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckRabbitmqId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"username":{"type":"string","description":"User name for authenticating to RabbitMQ server.\n"},"vhost":{"type":"string","description":"Virtual host to RabbitMQ server.\n"}},"type":"object","required":["enabled","entities","ip","name","password","place","port","rmonCheckRabbitmqId","username","vhost"],"inputProperties":{"checkGroup":{"type":"string","description":"Name of the check group for group RabbitMQ checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check RabbitMQ.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check RabbitMQ.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name of RabbitMQ server for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check RabbitMQ.\n"},"password":{"type":"string","description":"Password for authenticating to RabbitMQ server.\n","secret":true},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check RabbitMQ.\n"},"port":{"type":"number","description":"RabbitMQ server port.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckRabbitmqId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"username":{"type":"string","description":"User name for authenticating to RabbitMQ server.\n"},"vhost":{"type":"string","description":"Virtual host to RabbitMQ server.\n"}},"requiredInputs":["enabled","entities","ip","password","place","port","username","vhost"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonCheckRabbitmq resources.\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group RabbitMQ checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check RabbitMQ.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check RabbitMQ.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name of RabbitMQ server for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check RabbitMQ.\n"},"password":{"type":"string","description":"Password for authenticating to RabbitMQ server.\n","secret":true},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check RabbitMQ.\n"},"port":{"type":"number","description":"RabbitMQ server port.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckRabbitmqId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"username":{"type":"string","description":"User name for authenticating to RabbitMQ server.\n"},"vhost":{"type":"string","description":"Virtual host to RabbitMQ server.\n"}},"type":"object"}},"edgecenter:index/rmonCheckSmtp:RmonCheckSmtp":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.RmonCheckSmtp(\"example\", {\n    name: \"smtp-example\",\n    enabled: true,\n    place: \"country\",\n    entities: [1],\n    ip: \"smtp.example.com\",\n    port: 587,\n    username: \"monitor\",\n    password: \"example-password\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.RmonCheckSmtp(\"example\",\n    name=\"smtp-example\",\n    enabled=True,\n    place=\"country\",\n    entities=[1],\n    ip=\"smtp.example.com\",\n    port=587,\n    username=\"monitor\",\n    password=\"example-password\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.RmonCheckSmtp(\"example\", new()\n    {\n        Name = \"smtp-example\",\n        Enabled = true,\n        Place = \"country\",\n        Entities = new[]\n        {\n            1,\n        },\n        Ip = \"smtp.example.com\",\n        Port = 587,\n        Username = \"monitor\",\n        Password = \"example-password\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonCheckSmtp(ctx, \"example\", \u0026edgecenter.RmonCheckSmtpArgs{\n\t\t\tName:    pulumi.String(\"smtp-example\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPlace:   pulumi.String(\"country\"),\n\t\t\tEntities: pulumi.Float64Array{\n\t\t\t\tpulumi.Float64(1),\n\t\t\t},\n\t\t\tIp:       pulumi.String(\"smtp.example.com\"),\n\t\t\tPort:     pulumi.Float64(587),\n\t\t\tUsername: pulumi.String(\"monitor\"),\n\t\t\tPassword: pulumi.String(\"example-password\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.RmonCheckSmtp;\nimport com.pulumi.edgecenter.RmonCheckSmtpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RmonCheckSmtp(\"example\", RmonCheckSmtpArgs.builder()\n            .name(\"smtp-example\")\n            .enabled(true)\n            .place(\"country\")\n            .entities(1.0)\n            .ip(\"smtp.example.com\")\n            .port(587.0)\n            .username(\"monitor\")\n            .password(\"example-password\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:RmonCheckSmtp\n    properties:\n      name: smtp-example\n      enabled: true\n      place: country\n      entities:\n        - 1\n      ip: smtp.example.com\n      port: 587\n      username: monitor\n      password: example-password\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group SMTP checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check SMTP.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check SMTP.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"ignoreSslError":{"type":"boolean","description":"Ignore TLS/SSL error.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name of SMTP server for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check SMTP.\n"},"password":{"type":"string","description":"Password for authenticating to SMTP server.\n","secret":true},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check SMTP.\n"},"port":{"type":"number","description":"SMTP server port.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckSmtpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"username":{"type":"string","description":"User name for authenticating to SMTP server.\n"}},"type":"object","required":["enabled","entities","ip","name","password","place","port","rmonCheckSmtpId","username"],"inputProperties":{"checkGroup":{"type":"string","description":"Name of the check group for group SMTP checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check SMTP.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check SMTP.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"ignoreSslError":{"type":"boolean","description":"Ignore TLS/SSL error.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name of SMTP server for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check SMTP.\n"},"password":{"type":"string","description":"Password for authenticating to SMTP server.\n","secret":true},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check SMTP.\n"},"port":{"type":"number","description":"SMTP server port.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckSmtpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"username":{"type":"string","description":"User name for authenticating to SMTP server.\n"}},"requiredInputs":["enabled","entities","ip","password","place","port","username"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonCheckSmtp resources.\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group SMTP checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check SMTP.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check SMTP.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"ignoreSslError":{"type":"boolean","description":"Ignore TLS/SSL error.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name of SMTP server for check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check SMTP.\n"},"password":{"type":"string","description":"Password for authenticating to SMTP server.\n","secret":true},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check SMTP.\n"},"port":{"type":"number","description":"SMTP server port.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckSmtpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"},"username":{"type":"string","description":"User name for authenticating to SMTP server.\n"}},"type":"object"}},"edgecenter:index/rmonCheckTcp:RmonCheckTcp":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.RmonCheckTcp(\"example\", {\n    name: \"tcp-example\",\n    enabled: true,\n    place: \"region\",\n    priority: \"warning\",\n    entities: [10],\n    ip: \"example.com\",\n    port: 443,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.RmonCheckTcp(\"example\",\n    name=\"tcp-example\",\n    enabled=True,\n    place=\"region\",\n    priority=\"warning\",\n    entities=[10],\n    ip=\"example.com\",\n    port=443)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.RmonCheckTcp(\"example\", new()\n    {\n        Name = \"tcp-example\",\n        Enabled = true,\n        Place = \"region\",\n        Priority = \"warning\",\n        Entities = new[]\n        {\n            10,\n        },\n        Ip = \"example.com\",\n        Port = 443,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonCheckTcp(ctx, \"example\", \u0026edgecenter.RmonCheckTcpArgs{\n\t\t\tName:     pulumi.String(\"tcp-example\"),\n\t\t\tEnabled:  pulumi.Bool(true),\n\t\t\tPlace:    pulumi.String(\"region\"),\n\t\t\tPriority: pulumi.String(\"warning\"),\n\t\t\tEntities: pulumi.Float64Array{\n\t\t\t\tpulumi.Float64(10),\n\t\t\t},\n\t\t\tIp:   pulumi.String(\"example.com\"),\n\t\t\tPort: pulumi.Float64(443),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.RmonCheckTcp;\nimport com.pulumi.edgecenter.RmonCheckTcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RmonCheckTcp(\"example\", RmonCheckTcpArgs.builder()\n            .name(\"tcp-example\")\n            .enabled(true)\n            .place(\"region\")\n            .priority(\"warning\")\n            .entities(10.0)\n            .ip(\"example.com\")\n            .port(443.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:RmonCheckTcp\n    properties:\n      name: tcp-example\n      enabled: true\n      place: region\n      priority: warning\n      entities:\n        - 10\n      ip: example.com\n      port: 443\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group TCP checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check TCP.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check TCP.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for TCP check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check TCP.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check TCP.\n"},"port":{"type":"number","description":"Port for TCP check.\n"},"priority":{"type":"string","description":"Where checks must be deployed.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckTcpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"type":"object","required":["enabled","entities","ip","name","place","port","priority","rmonCheckTcpId"],"inputProperties":{"checkGroup":{"type":"string","description":"Name of the check group for group TCP checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check TCP.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check TCP.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for TCP check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check TCP.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check TCP.\n"},"port":{"type":"number","description":"Port for TCP check.\n"},"priority":{"type":"string","description":"Where checks must be deployed.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckTcpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"requiredInputs":["enabled","entities","ip","place","port","priority"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonCheckTcp resources.\n","properties":{"checkGroup":{"type":"string","description":"Name of the check group for group TCP checks.\n"},"checkTimeout":{"type":"number","description":"Answer timeout in seconds.\n"},"description":{"type":"string","description":"Description of the Check TCP.\n"},"emailChannelId":{"type":"number","description":"Email channel ID (optional)\n"},"enabled":{"type":"boolean","description":"Enabled state of the Check TCP.\n"},"entities":{"type":"array","items":{"type":"number"},"description":"List of entities where check must be created.\n"},"interval":{"type":"number","description":"Interval in seconds between checks.\n"},"ip":{"type":"string","description":"IP address or domain name for TCP check.\n"},"mmChannelId":{"type":"number","description":"Mattermost channel ID for alerts.\n"},"name":{"type":"string","description":"Name of the Check TCP.\n"},"pdChannelId":{"type":"number","description":"PagerDuty channel ID for alerts.\n"},"place":{"type":"string","description":"Place scope for Check TCP.\n"},"port":{"type":"number","description":"Port for TCP check.\n"},"priority":{"type":"string","description":"Where checks must be deployed.\n"},"retries":{"type":"number","description":"Number of retries before check is marked down.\n"},"rmonCheckTcpId":{"type":"string","description":"The ID of this resource.\n"},"runbook":{"type":"string","description":"Runbook URL for alerts.\n"},"slackChannelId":{"type":"number","description":"Slack channel ID for alerts.\n"},"telegramChannelId":{"type":"number","description":"Telegram channel ID for alerts.\n"}},"type":"object"}},"edgecenter:index/rmonStatusPage:RmonStatusPage":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst example = new edgecenter.RmonStatusPage(\"example\", {\n    name: \"Example Status\",\n    slug: \"example-status\",\n    checks: [{\n        checkId: 12345,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample = edgecenter.RmonStatusPage(\"example\",\n    name=\"Example Status\",\n    slug=\"example-status\",\n    checks=[{\n        \"check_id\": 12345,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Edgecenter.RmonStatusPage(\"example\", new()\n    {\n        Name = \"Example Status\",\n        Slug = \"example-status\",\n        Checks = new[]\n        {\n            new Edgecenter.Inputs.RmonStatusPageCheckArgs\n            {\n                CheckId = 12345,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewRmonStatusPage(ctx, \"example\", \u0026edgecenter.RmonStatusPageArgs{\n\t\t\tName: pulumi.String(\"Example Status\"),\n\t\t\tSlug: pulumi.String(\"example-status\"),\n\t\t\tChecks: edgecenter.RmonStatusPageCheckArray{\n\t\t\t\t\u0026edgecenter.RmonStatusPageCheckArgs{\n\t\t\t\t\tCheckId: pulumi.Float64(12345),\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.edgecenter.RmonStatusPage;\nimport com.pulumi.edgecenter.RmonStatusPageArgs;\nimport com.pulumi.edgecenter.inputs.RmonStatusPageCheckArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RmonStatusPage(\"example\", RmonStatusPageArgs.builder()\n            .name(\"Example Status\")\n            .slug(\"example-status\")\n            .checks(RmonStatusPageCheckArgs.builder()\n                .checkId(12345.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: edgecenter:RmonStatusPage\n    properties:\n      name: Example Status\n      slug: example-status\n      checks:\n        - checkId: 12345\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checks":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRmonStatusPageCheck:RmonStatusPageCheck"},"description":"List of checks associated with the status page.\n"},"customStyle":{"type":"string","description":"Custom CSS style for the status page.\n"},"description":{"type":"string","description":"The description of the status page.\n"},"name":{"type":"string","description":"The name of the status page.\n"},"rmonStatusPageId":{"type":"string","description":"The ID of this resource.\n"},"slug":{"type":"string","description":"The slug of the status page.\n"}},"type":"object","required":["checks","name","rmonStatusPageId","slug"],"inputProperties":{"checks":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRmonStatusPageCheck:RmonStatusPageCheck"},"description":"List of checks associated with the status page.\n"},"customStyle":{"type":"string","description":"Custom CSS style for the status page.\n"},"description":{"type":"string","description":"The description of the status page.\n"},"name":{"type":"string","description":"The name of the status page.\n"},"rmonStatusPageId":{"type":"string","description":"The ID of this resource.\n"},"slug":{"type":"string","description":"The slug of the status page.\n"}},"requiredInputs":["checks","slug"],"stateInputs":{"description":"Input properties used for looking up and filtering RmonStatusPage resources.\n","properties":{"checks":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRmonStatusPageCheck:RmonStatusPageCheck"},"description":"List of checks associated with the status page.\n"},"customStyle":{"type":"string","description":"Custom CSS style for the status page.\n"},"description":{"type":"string","description":"The description of the status page.\n"},"name":{"type":"string","description":"The name of the status page.\n"},"rmonStatusPageId":{"type":"string","description":"The ID of this resource.\n"},"slug":{"type":"string","description":"The slug of the status page.\n"}},"type":"object"}},"edgecenter:index/router:Router":{"description":"Represent router. Router enables you to dynamically exchange routes between networks\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nfunction singleOrNone\u003cT\u003e(elements: pulumi.Input\u003cT\u003e[]): pulumi.Input\u003cT\u003e {\n    if (elements.length != 1) {\n        throw new Error(\"singleOrNone expected input list to have a single element\");\n    }\n    return elements[0];\n}\n\nconst router = new edgecenter.Router(\"router\", {\n    externalGatewayInfo: singleOrNone(Object.entries(externalGatewayInfo).map(([k, v]) =\u003e ({key: k, value: v})).map(entry =\u003e ({\n        type: entry.value.type,\n        networkId: entry.value.networkId,\n    }))),\n    interfaces: Object.entries(interfaces).map(([k, v]) =\u003e ({key: k, value: v})).map(entry2 =\u003e ({\n        type: entry2.value.type,\n        subnetId: entry2.value.subnetId,\n    })),\n    routes: Object.entries(routes).map(([k, v]) =\u003e ({key: k, value: v})).map(entry3 =\u003e ({\n        destination: entry3.value.destination,\n        nexthop: entry3.value.nexthop,\n    })),\n    name: \"router_example\",\n    regionId: 1,\n    projectId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\ndef single_or_none(elements):\n    if len(elements) != 1:\n        raise Exception(\"single_or_none expected input list to have a single element\")\n    return elements[0]\n\n\nrouter = edgecenter.Router(\"router\",\n    external_gateway_info=single_or_none([{\n        \"type\": entry[\"value\"][\"type\"],\n        \"networkId\": entry[\"value\"][\"networkId\"],\n    } for entry in [{\"key\": k, \"value\": v} for k, v in external_gateway_info]]),\n    interfaces=[{\n        \"type\": entry2[\"value\"][\"type\"],\n        \"subnet_id\": entry2[\"value\"][\"subnetId\"],\n    } for entry2 in [{\"key\": k, \"value\": v} for k, v in interfaces]],\n    routes=[{\n        \"destination\": entry3[\"value\"][\"destination\"],\n        \"nexthop\": entry3[\"value\"][\"nexthop\"],\n    } for entry3 in [{\"key\": k, \"value\": v} for k, v in routes]],\n    name=\"router_example\",\n    region_id=1,\n    project_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var router = new Edgecenter.Router(\"router\", new()\n    {\n        ExternalGatewayInfo = Enumerable.Single(.Select(entry =\u003e \n        {\n            return \n            {\n                { \"type\", entry.Value.Type },\n                { \"networkId\", entry.Value.NetworkId },\n            };\n        }).ToList()),\n        Interfaces = .Select(entry2 =\u003e \n        {\n            return new Edgecenter.Inputs.RouterInterfaceArgs\n            {\n                Type = entry2.Value.Type,\n                SubnetId = entry2.Value.SubnetId,\n            };\n        }).ToList(),\n        Routes = .Select(entry3 =\u003e \n        {\n            return new Edgecenter.Inputs.RouterRouteArgs\n            {\n                Destination = entry3.Value.Destination,\n                Nexthop = entry3.Value.Nexthop,\n            };\n        }).ToList(),\n        Name = \"router_example\",\n        RegionId = 1,\n        ProjectId = 1,\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003crouter_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/router:Router router1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"externalGatewayInfo":{"$ref":"#/types/edgecenter:index%2FRouterExternalGatewayInfo:RouterExternalGatewayInfo","description":"Information related to the external gateway. If not set SNAT is disabled.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRouterInterface:RouterInterface"},"description":"Set of interfaces associated with the router.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"name":{"type":"string","description":"The name of the router.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"routerId":{"type":"string","description":"The ID of this resource.\n"},"routes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRouterRoute:RouterRoute"},"description":"Set of static routes to be applied to the router.\n"}},"type":"object","required":["lastUpdated","name","routerId"],"inputProperties":{"externalGatewayInfo":{"$ref":"#/types/edgecenter:index%2FRouterExternalGatewayInfo:RouterExternalGatewayInfo","description":"Information related to the external gateway. If not set SNAT is disabled.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRouterInterface:RouterInterface"},"description":"Set of interfaces associated with the router.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"name":{"type":"string","description":"The name of the router.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"routerId":{"type":"string","description":"The ID of this resource.\n"},"routes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRouterRoute:RouterRoute"},"description":"Set of static routes to be applied to the router.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Router resources.\n","properties":{"externalGatewayInfo":{"$ref":"#/types/edgecenter:index%2FRouterExternalGatewayInfo:RouterExternalGatewayInfo","description":"Information related to the external gateway. If not set SNAT is disabled.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRouterInterface:RouterInterface"},"description":"Set of interfaces associated with the router.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"name":{"type":"string","description":"The name of the router.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"routerId":{"type":"string","description":"The ID of this resource.\n"},"routes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FRouterRoute:RouterRoute"},"description":"Set of static routes to be applied to the router.\n"}},"type":"object"}},"edgecenter:index/secret:Secret":{"description":"Represent secret\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst lbHttps = new edgecenter.Secret(\"lb_https\", {\n    regionId: 1,\n    projectId: 1,\n    name: \"test\",\n    privateKey: `-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQ4E6U0vql4EST\n8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznEjQg4H7gfYEKeCJqelrfq\ntdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOcarVOFdIzudzkgSK/oV7Za\nL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+hL2iUSqikiViEGRta+47\nnaTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81yAG5daU3L2NdJ3qx9UbV\ntKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FNTNS4PKYxAAUrnCwf0EE3\n7dOR4eWlAgMBAAECggEBALPm3ge0h4li1e4PVYh4AmSRT74KxVgpfMCqwM+uWzyM\nVpkDhPTjwC06UOEHD3M3bqAninkOtA2vhoyzOrP+T4Wu70hDmUAemDJp9BhJKVNN\n2o28Olz/dD4WRAZoDq29Kr0hFqTFtiyJj1eyGihQ1c5j00HuowI0UJPi1Fz+T8uN\nPwukUtTPYwEds6SApii3v9VKjmvbRDmsbHU3KkUoaeqpRnRagyp1vtoLXigezUcK\nrQcoh6wlKtvj0YLR2lxq9Wmj1nn6m3F5Bom54X8o18tcOmFSRudRb+Fxjb0jnqSK\nAsyVlZg4alTBQUmx9gIKv0oSJAIh2nXdclECkGjs8WkCgYEA9xvdDWephsbv+X3k\nndnDG9JTxfrR6HMHPrUrTaZ8/VD+Qw4zuReoNGkcQbV3Cb26egprWQWfYc9+l6mU\nAWgOjFgeGie1uwOwkhv6CfhE/iVvotJ3hOOsC5pLEhz4vRpO75C9wSehjfTYkP1m\nXEAhRTRbgMnvzChWyh5CEjosX5sCgYEA2GRHrG0JVxsYSCugLPKf9fSK4CQDm0bK\nywBwZtAWX0xhiHO/BW6PeK1Mqx2nbiWl1hXNpZKJNS9bnrZWym/yUqOvg2XJKjb6\nhHBvwAD1MOQ8Ysby4JHGCrMBEwlcDpI2wpMpXkKhU3X0XWjkqrhqCH/TETFKkqLt\nfJX/c9PTQ78CgYAEPek0grQJST7zVHLpNsS/pIOloWGbEOZt8CQ3KAV7P7mtov/G\nTJ6pj6hZhGjvtN8Pm0Aufgc3YZ11swaEY6nkRNr3bfkTpcORLoPDSgy9JB1feSdu\nE45vgI2LWQ34CQyT1jM7rpd6XVqeWos4SC2KB5UOh+ji40piG9TchT0fwwKBgA/M\nmpMTTvhGKSqzzLkbaeR6W11sI7tFmu7hdFN9Y/THTeO5l7vcy6ri9FMWEjBvnUEZ\nTG+HWG9CquzWoVWcgNPZ0anFV7+2Teo3j2E0cLKGJ4aKwhb1bcFAOpbaOxdxQ4BH\nYGDaeo7ucM4VJ4TzfAJs2stJjwlPzgknpoQddjJfAoGBAIFfnU8x/SrNhAqZrG9d\n3kpJ5LmbVswOYtj01KHM+KpEwOQVF+s2NOeHqyC7QUIWrue00+1MT88F9cNHDeWk\n0dEOJNWCfzcV85l8A+0p6/4qAW7h7RNiFqeA8GyVKCT8f7fu/7WpYw8D0aq8w5X/\nKZl+AjB+MzYFs71+SC4ohTlI\n-----END PRIVATE KEY-----`,\n    certificate: `-----BEGIN CERTIFICATE-----\nMIIDpDCCAoygAwIBAgIJAIUvym0uaBHbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV\nBAYTAlJVMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdS\nT09UIENBMB4XDTIxMDczMDE1MTU0NVoXDTMxMDcyODE1MTU0NVowTDELMAkGA1UE\nBhMCQ0ExDTALBgNVBAgMBE5vbmUxCzAJBgNVBAcMAk5CMQ0wCwYDVQQKDAROb25l\nMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDQ4E6U0vql4EST8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznE\njQg4H7gfYEKeCJqelrfqtdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOca\nrVOFdIzudzkgSK/oV7ZaL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+\nhL2iUSqikiViEGRta+47naTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81\nyAG5daU3L2NdJ3qx9UbVtKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FN\nTNS4PKYxAAUrnCwf0EE37dOR4eWlAgMBAAGjgZcwgZQwVwYDVR0jBFAwTqFBpD8w\nPTELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1PU0NPVzELMAkGA1UECgwCQ0ExEDAO\nBgNVBAMMB1JPT1QgQ0GCCQCectJTETy4lTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE\n8DAhBgNVHREEGjAYgglsb2NhbGhvc3SCCyoubG9jYWxob3N0MA0GCSqGSIb3DQEB\nCwUAA4IBAQBqzJcwygLsVCTPlReUpcKVn84aFqzfZA0m7hYvH+7PDH/FM8SbX3zg\nteBL/PgQAZw1amO8xjeMc2Pe2kvi9VrpfTeGqNia/9axhGu3q/NEP0tyDFXAE2bR\njBdGhd5gCmg+X4WdHigCgn51cz5r2k3fSOIWP+TQWHqc8Yt+vZXnkwnQkRA1Ki7N\nWOiJjj/ae5RWwma/kJNmShTZn754gbQn06bAjNbPjclsHRLkawmLqikd1rYUhIdk\nOr1Nrl+CWMx3CXg0TVVdJ6rH3dO31uyvb+3qEY7WnL+HhZyr08ay8gJsEKPuPFA2\nxvveXqt9ceU5qh+8T7mHwGALEUw96QcP\n-----END CERTIFICATE-----`,\n    certificateChain: `-----BEGIN CERTIFICATE-----\nMIIC9jCCAd4CCQCectJTETy4lTANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQswCQYDVQQKDAJDQTEQMA4GA1UEAwwHUk9PVCBD\nQTAeFw0yMTA3MzAxNTExMzVaFw0yNDA1MTkxNTExMzVaMD0xCzAJBgNVBAYTAlJV\nMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdST09UIENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6tZ0NV6QIR/mvsqtAII\nzTTuBMrZR5OTwKvcGnhe4GVDwzJ/OgEWkghLAzOojcJvkfzJOtWwOXqwgphksc+7\n+vwIPTPt3iWjbQUzXK8pFLkjxrO8px/QxPuUrp+U6DTVvvgQesjMZ9jQRUFKOiCc\nu0st1N5Q/CJR4VOJxtYoLy1ZUlsABhwJ+6trkoOFTLRPlMUX1EIG57jYAotHvQFo\nc8UNx3KzvJsJJ56SniXCIkeu61IOt8aOXHU+3TLYhZnPiP311cMbXA0J3vGPRZwz\n25BZjF3IF/ShXlfzz76FjWUTAThc0+HA8lzx53xD4/n8HN+sGubGx9TvLyZimG/U\nGwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAnK8Wzw33fR6R6pqV05XI9Yu8J+BwC\nCn2bKxxYwwQWZyX1as+UIlGuvyBRJba9W2UGMj95FQfWVdDyFC98spUur+O/5yL+\nNHH+dxGnkxIRc6RMIy+GXJwPrLiB/t70hSvwgVa249zNJVcwYN/5SGX5wLaJKnim\neY99xm75nr03O/RJK/DR8HvWysH7zxvrMWs0ppfwxkxrwOcg0Cb9xODVkg/wyClw\nLiHWlmH/eyC8nkiLYJKmV7566VWCV+gy+hC/DRstVVjIMG6LsqaPq6ycm7N8EV8s\nBb5uXIVHW6w5a20c40+W9G4EDYiQjdgEaf0FoMAWGDnOEaPsvjQk2/z5\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDPDCCAiQCCQDxA75ydLHVoTANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQ8wDQYDVQQHDAZNT1NDT1cxFTATBgNVBAoMDElO\nVEVSTUVESUFURTEYMBYGA1UEAwwPSU5URVJNRURJQVRFIENBMB4XDTIxMDczMDE1\nMTIyMloXDTI0MDUxOTE1MTIyMlowYDELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1P\nU0NPVzEPMA0GA1UEBwwGTU9TQ09XMRUwEwYDVQQKDAxJTlRFUk1FRElBVEUxGDAW\nBgNVBAMMD0lOVEVSTUVESUFURSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\nAQoCggEBAKOrWdDVekCEf5r7KrQCCM007gTK2UeTk8Cr3Bp4XuBlQ8MyfzoBFpII\nSwMzqI3Cb5H8yTrVsDl6sIKYZLHPu/r8CD0z7d4lo20FM1yvKRS5I8azvKcf0MT7\nlK6flOg01b74EHrIzGfY0EVBSjognLtLLdTeUPwiUeFTicbWKC8tWVJbAAYcCfur\na5KDhUy0T5TFF9RCBue42AKLR70BaHPFDcdys7ybCSeekp4lwiJHrutSDrfGjlx1\nPt0y2IWZz4j99dXDG1wNCd7xj0WcM9uQWYxdyBf0oV5X88++hY1lEwE4XNPhwPJc\n8ed8Q+P5/BzfrBrmxsfU7y8mYphv1BsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA\ngOHvrh66+bQoG3Lo8bfp7D1Xvm/Md3gJq2nMotl2BH1TvNzMV93fCXygRX8J8rTL\n7xjUC2SbOrFDWFq2hNJQagdecAeuG+U55BY6Wi8SsHw+fhgxQyl9wtXWwotQPmsD\nuRhR1rL3vEphgPLbxNBzA7Lvj+P89Ar988Qy+o5AiUzHMUuqZbGOqs8UcKCQP7e/\nIX+zqqFwqyI8f90SVySGgs574jo8jQFy3l5fnp6yK0MPWg2cBCjpa5H1A+5DADF+\nnryV6Ie/m/wfxmitZZN+YCJu+8Bmmdl/FCwbmiH+HCLhrO8gonH3K21cQujMyFF5\nc7OFj86hvhqbr4kzz1J8lg==\n-----END CERTIFICATE-----`,\n    expiration: \"2025-12-28T19:14:44.213\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nlb_https = edgecenter.Secret(\"lb_https\",\n    region_id=1,\n    project_id=1,\n    name=\"test\",\n    private_key=\"\"\"-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQ4E6U0vql4EST\n8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznEjQg4H7gfYEKeCJqelrfq\ntdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOcarVOFdIzudzkgSK/oV7Za\nL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+hL2iUSqikiViEGRta+47\nnaTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81yAG5daU3L2NdJ3qx9UbV\ntKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FNTNS4PKYxAAUrnCwf0EE3\n7dOR4eWlAgMBAAECggEBALPm3ge0h4li1e4PVYh4AmSRT74KxVgpfMCqwM+uWzyM\nVpkDhPTjwC06UOEHD3M3bqAninkOtA2vhoyzOrP+T4Wu70hDmUAemDJp9BhJKVNN\n2o28Olz/dD4WRAZoDq29Kr0hFqTFtiyJj1eyGihQ1c5j00HuowI0UJPi1Fz+T8uN\nPwukUtTPYwEds6SApii3v9VKjmvbRDmsbHU3KkUoaeqpRnRagyp1vtoLXigezUcK\nrQcoh6wlKtvj0YLR2lxq9Wmj1nn6m3F5Bom54X8o18tcOmFSRudRb+Fxjb0jnqSK\nAsyVlZg4alTBQUmx9gIKv0oSJAIh2nXdclECkGjs8WkCgYEA9xvdDWephsbv+X3k\nndnDG9JTxfrR6HMHPrUrTaZ8/VD+Qw4zuReoNGkcQbV3Cb26egprWQWfYc9+l6mU\nAWgOjFgeGie1uwOwkhv6CfhE/iVvotJ3hOOsC5pLEhz4vRpO75C9wSehjfTYkP1m\nXEAhRTRbgMnvzChWyh5CEjosX5sCgYEA2GRHrG0JVxsYSCugLPKf9fSK4CQDm0bK\nywBwZtAWX0xhiHO/BW6PeK1Mqx2nbiWl1hXNpZKJNS9bnrZWym/yUqOvg2XJKjb6\nhHBvwAD1MOQ8Ysby4JHGCrMBEwlcDpI2wpMpXkKhU3X0XWjkqrhqCH/TETFKkqLt\nfJX/c9PTQ78CgYAEPek0grQJST7zVHLpNsS/pIOloWGbEOZt8CQ3KAV7P7mtov/G\nTJ6pj6hZhGjvtN8Pm0Aufgc3YZ11swaEY6nkRNr3bfkTpcORLoPDSgy9JB1feSdu\nE45vgI2LWQ34CQyT1jM7rpd6XVqeWos4SC2KB5UOh+ji40piG9TchT0fwwKBgA/M\nmpMTTvhGKSqzzLkbaeR6W11sI7tFmu7hdFN9Y/THTeO5l7vcy6ri9FMWEjBvnUEZ\nTG+HWG9CquzWoVWcgNPZ0anFV7+2Teo3j2E0cLKGJ4aKwhb1bcFAOpbaOxdxQ4BH\nYGDaeo7ucM4VJ4TzfAJs2stJjwlPzgknpoQddjJfAoGBAIFfnU8x/SrNhAqZrG9d\n3kpJ5LmbVswOYtj01KHM+KpEwOQVF+s2NOeHqyC7QUIWrue00+1MT88F9cNHDeWk\n0dEOJNWCfzcV85l8A+0p6/4qAW7h7RNiFqeA8GyVKCT8f7fu/7WpYw8D0aq8w5X/\nKZl+AjB+MzYFs71+SC4ohTlI\n-----END PRIVATE KEY-----\"\"\",\n    certificate=\"\"\"-----BEGIN CERTIFICATE-----\nMIIDpDCCAoygAwIBAgIJAIUvym0uaBHbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV\nBAYTAlJVMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdS\nT09UIENBMB4XDTIxMDczMDE1MTU0NVoXDTMxMDcyODE1MTU0NVowTDELMAkGA1UE\nBhMCQ0ExDTALBgNVBAgMBE5vbmUxCzAJBgNVBAcMAk5CMQ0wCwYDVQQKDAROb25l\nMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDQ4E6U0vql4EST8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznE\njQg4H7gfYEKeCJqelrfqtdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOca\nrVOFdIzudzkgSK/oV7ZaL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+\nhL2iUSqikiViEGRta+47naTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81\nyAG5daU3L2NdJ3qx9UbVtKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FN\nTNS4PKYxAAUrnCwf0EE37dOR4eWlAgMBAAGjgZcwgZQwVwYDVR0jBFAwTqFBpD8w\nPTELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1PU0NPVzELMAkGA1UECgwCQ0ExEDAO\nBgNVBAMMB1JPT1QgQ0GCCQCectJTETy4lTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE\n8DAhBgNVHREEGjAYgglsb2NhbGhvc3SCCyoubG9jYWxob3N0MA0GCSqGSIb3DQEB\nCwUAA4IBAQBqzJcwygLsVCTPlReUpcKVn84aFqzfZA0m7hYvH+7PDH/FM8SbX3zg\nteBL/PgQAZw1amO8xjeMc2Pe2kvi9VrpfTeGqNia/9axhGu3q/NEP0tyDFXAE2bR\njBdGhd5gCmg+X4WdHigCgn51cz5r2k3fSOIWP+TQWHqc8Yt+vZXnkwnQkRA1Ki7N\nWOiJjj/ae5RWwma/kJNmShTZn754gbQn06bAjNbPjclsHRLkawmLqikd1rYUhIdk\nOr1Nrl+CWMx3CXg0TVVdJ6rH3dO31uyvb+3qEY7WnL+HhZyr08ay8gJsEKPuPFA2\nxvveXqt9ceU5qh+8T7mHwGALEUw96QcP\n-----END CERTIFICATE-----\"\"\",\n    certificate_chain=\"\"\"-----BEGIN CERTIFICATE-----\nMIIC9jCCAd4CCQCectJTETy4lTANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQswCQYDVQQKDAJDQTEQMA4GA1UEAwwHUk9PVCBD\nQTAeFw0yMTA3MzAxNTExMzVaFw0yNDA1MTkxNTExMzVaMD0xCzAJBgNVBAYTAlJV\nMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdST09UIENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6tZ0NV6QIR/mvsqtAII\nzTTuBMrZR5OTwKvcGnhe4GVDwzJ/OgEWkghLAzOojcJvkfzJOtWwOXqwgphksc+7\n+vwIPTPt3iWjbQUzXK8pFLkjxrO8px/QxPuUrp+U6DTVvvgQesjMZ9jQRUFKOiCc\nu0st1N5Q/CJR4VOJxtYoLy1ZUlsABhwJ+6trkoOFTLRPlMUX1EIG57jYAotHvQFo\nc8UNx3KzvJsJJ56SniXCIkeu61IOt8aOXHU+3TLYhZnPiP311cMbXA0J3vGPRZwz\n25BZjF3IF/ShXlfzz76FjWUTAThc0+HA8lzx53xD4/n8HN+sGubGx9TvLyZimG/U\nGwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAnK8Wzw33fR6R6pqV05XI9Yu8J+BwC\nCn2bKxxYwwQWZyX1as+UIlGuvyBRJba9W2UGMj95FQfWVdDyFC98spUur+O/5yL+\nNHH+dxGnkxIRc6RMIy+GXJwPrLiB/t70hSvwgVa249zNJVcwYN/5SGX5wLaJKnim\neY99xm75nr03O/RJK/DR8HvWysH7zxvrMWs0ppfwxkxrwOcg0Cb9xODVkg/wyClw\nLiHWlmH/eyC8nkiLYJKmV7566VWCV+gy+hC/DRstVVjIMG6LsqaPq6ycm7N8EV8s\nBb5uXIVHW6w5a20c40+W9G4EDYiQjdgEaf0FoMAWGDnOEaPsvjQk2/z5\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDPDCCAiQCCQDxA75ydLHVoTANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQ8wDQYDVQQHDAZNT1NDT1cxFTATBgNVBAoMDElO\nVEVSTUVESUFURTEYMBYGA1UEAwwPSU5URVJNRURJQVRFIENBMB4XDTIxMDczMDE1\nMTIyMloXDTI0MDUxOTE1MTIyMlowYDELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1P\nU0NPVzEPMA0GA1UEBwwGTU9TQ09XMRUwEwYDVQQKDAxJTlRFUk1FRElBVEUxGDAW\nBgNVBAMMD0lOVEVSTUVESUFURSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\nAQoCggEBAKOrWdDVekCEf5r7KrQCCM007gTK2UeTk8Cr3Bp4XuBlQ8MyfzoBFpII\nSwMzqI3Cb5H8yTrVsDl6sIKYZLHPu/r8CD0z7d4lo20FM1yvKRS5I8azvKcf0MT7\nlK6flOg01b74EHrIzGfY0EVBSjognLtLLdTeUPwiUeFTicbWKC8tWVJbAAYcCfur\na5KDhUy0T5TFF9RCBue42AKLR70BaHPFDcdys7ybCSeekp4lwiJHrutSDrfGjlx1\nPt0y2IWZz4j99dXDG1wNCd7xj0WcM9uQWYxdyBf0oV5X88++hY1lEwE4XNPhwPJc\n8ed8Q+P5/BzfrBrmxsfU7y8mYphv1BsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA\ngOHvrh66+bQoG3Lo8bfp7D1Xvm/Md3gJq2nMotl2BH1TvNzMV93fCXygRX8J8rTL\n7xjUC2SbOrFDWFq2hNJQagdecAeuG+U55BY6Wi8SsHw+fhgxQyl9wtXWwotQPmsD\nuRhR1rL3vEphgPLbxNBzA7Lvj+P89Ar988Qy+o5AiUzHMUuqZbGOqs8UcKCQP7e/\nIX+zqqFwqyI8f90SVySGgs574jo8jQFy3l5fnp6yK0MPWg2cBCjpa5H1A+5DADF+\nnryV6Ie/m/wfxmitZZN+YCJu+8Bmmdl/FCwbmiH+HCLhrO8gonH3K21cQujMyFF5\nc7OFj86hvhqbr4kzz1J8lg==\n-----END CERTIFICATE-----\"\"\",\n    expiration=\"2025-12-28T19:14:44.213\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var lbHttps = new Edgecenter.Secret(\"lb_https\", new()\n    {\n        RegionId = 1,\n        ProjectId = 1,\n        Name = \"test\",\n        PrivateKey = @\"-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQ4E6U0vql4EST\n8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznEjQg4H7gfYEKeCJqelrfq\ntdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOcarVOFdIzudzkgSK/oV7Za\nL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+hL2iUSqikiViEGRta+47\nnaTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81yAG5daU3L2NdJ3qx9UbV\ntKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FNTNS4PKYxAAUrnCwf0EE3\n7dOR4eWlAgMBAAECggEBALPm3ge0h4li1e4PVYh4AmSRT74KxVgpfMCqwM+uWzyM\nVpkDhPTjwC06UOEHD3M3bqAninkOtA2vhoyzOrP+T4Wu70hDmUAemDJp9BhJKVNN\n2o28Olz/dD4WRAZoDq29Kr0hFqTFtiyJj1eyGihQ1c5j00HuowI0UJPi1Fz+T8uN\nPwukUtTPYwEds6SApii3v9VKjmvbRDmsbHU3KkUoaeqpRnRagyp1vtoLXigezUcK\nrQcoh6wlKtvj0YLR2lxq9Wmj1nn6m3F5Bom54X8o18tcOmFSRudRb+Fxjb0jnqSK\nAsyVlZg4alTBQUmx9gIKv0oSJAIh2nXdclECkGjs8WkCgYEA9xvdDWephsbv+X3k\nndnDG9JTxfrR6HMHPrUrTaZ8/VD+Qw4zuReoNGkcQbV3Cb26egprWQWfYc9+l6mU\nAWgOjFgeGie1uwOwkhv6CfhE/iVvotJ3hOOsC5pLEhz4vRpO75C9wSehjfTYkP1m\nXEAhRTRbgMnvzChWyh5CEjosX5sCgYEA2GRHrG0JVxsYSCugLPKf9fSK4CQDm0bK\nywBwZtAWX0xhiHO/BW6PeK1Mqx2nbiWl1hXNpZKJNS9bnrZWym/yUqOvg2XJKjb6\nhHBvwAD1MOQ8Ysby4JHGCrMBEwlcDpI2wpMpXkKhU3X0XWjkqrhqCH/TETFKkqLt\nfJX/c9PTQ78CgYAEPek0grQJST7zVHLpNsS/pIOloWGbEOZt8CQ3KAV7P7mtov/G\nTJ6pj6hZhGjvtN8Pm0Aufgc3YZ11swaEY6nkRNr3bfkTpcORLoPDSgy9JB1feSdu\nE45vgI2LWQ34CQyT1jM7rpd6XVqeWos4SC2KB5UOh+ji40piG9TchT0fwwKBgA/M\nmpMTTvhGKSqzzLkbaeR6W11sI7tFmu7hdFN9Y/THTeO5l7vcy6ri9FMWEjBvnUEZ\nTG+HWG9CquzWoVWcgNPZ0anFV7+2Teo3j2E0cLKGJ4aKwhb1bcFAOpbaOxdxQ4BH\nYGDaeo7ucM4VJ4TzfAJs2stJjwlPzgknpoQddjJfAoGBAIFfnU8x/SrNhAqZrG9d\n3kpJ5LmbVswOYtj01KHM+KpEwOQVF+s2NOeHqyC7QUIWrue00+1MT88F9cNHDeWk\n0dEOJNWCfzcV85l8A+0p6/4qAW7h7RNiFqeA8GyVKCT8f7fu/7WpYw8D0aq8w5X/\nKZl+AjB+MzYFs71+SC4ohTlI\n-----END PRIVATE KEY-----\",\n        Certificate = @\"-----BEGIN CERTIFICATE-----\nMIIDpDCCAoygAwIBAgIJAIUvym0uaBHbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV\nBAYTAlJVMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdS\nT09UIENBMB4XDTIxMDczMDE1MTU0NVoXDTMxMDcyODE1MTU0NVowTDELMAkGA1UE\nBhMCQ0ExDTALBgNVBAgMBE5vbmUxCzAJBgNVBAcMAk5CMQ0wCwYDVQQKDAROb25l\nMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDQ4E6U0vql4EST8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznE\njQg4H7gfYEKeCJqelrfqtdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOca\nrVOFdIzudzkgSK/oV7ZaL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+\nhL2iUSqikiViEGRta+47naTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81\nyAG5daU3L2NdJ3qx9UbVtKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FN\nTNS4PKYxAAUrnCwf0EE37dOR4eWlAgMBAAGjgZcwgZQwVwYDVR0jBFAwTqFBpD8w\nPTELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1PU0NPVzELMAkGA1UECgwCQ0ExEDAO\nBgNVBAMMB1JPT1QgQ0GCCQCectJTETy4lTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE\n8DAhBgNVHREEGjAYgglsb2NhbGhvc3SCCyoubG9jYWxob3N0MA0GCSqGSIb3DQEB\nCwUAA4IBAQBqzJcwygLsVCTPlReUpcKVn84aFqzfZA0m7hYvH+7PDH/FM8SbX3zg\nteBL/PgQAZw1amO8xjeMc2Pe2kvi9VrpfTeGqNia/9axhGu3q/NEP0tyDFXAE2bR\njBdGhd5gCmg+X4WdHigCgn51cz5r2k3fSOIWP+TQWHqc8Yt+vZXnkwnQkRA1Ki7N\nWOiJjj/ae5RWwma/kJNmShTZn754gbQn06bAjNbPjclsHRLkawmLqikd1rYUhIdk\nOr1Nrl+CWMx3CXg0TVVdJ6rH3dO31uyvb+3qEY7WnL+HhZyr08ay8gJsEKPuPFA2\nxvveXqt9ceU5qh+8T7mHwGALEUw96QcP\n-----END CERTIFICATE-----\",\n        CertificateChain = @\"-----BEGIN CERTIFICATE-----\nMIIC9jCCAd4CCQCectJTETy4lTANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQswCQYDVQQKDAJDQTEQMA4GA1UEAwwHUk9PVCBD\nQTAeFw0yMTA3MzAxNTExMzVaFw0yNDA1MTkxNTExMzVaMD0xCzAJBgNVBAYTAlJV\nMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdST09UIENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6tZ0NV6QIR/mvsqtAII\nzTTuBMrZR5OTwKvcGnhe4GVDwzJ/OgEWkghLAzOojcJvkfzJOtWwOXqwgphksc+7\n+vwIPTPt3iWjbQUzXK8pFLkjxrO8px/QxPuUrp+U6DTVvvgQesjMZ9jQRUFKOiCc\nu0st1N5Q/CJR4VOJxtYoLy1ZUlsABhwJ+6trkoOFTLRPlMUX1EIG57jYAotHvQFo\nc8UNx3KzvJsJJ56SniXCIkeu61IOt8aOXHU+3TLYhZnPiP311cMbXA0J3vGPRZwz\n25BZjF3IF/ShXlfzz76FjWUTAThc0+HA8lzx53xD4/n8HN+sGubGx9TvLyZimG/U\nGwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAnK8Wzw33fR6R6pqV05XI9Yu8J+BwC\nCn2bKxxYwwQWZyX1as+UIlGuvyBRJba9W2UGMj95FQfWVdDyFC98spUur+O/5yL+\nNHH+dxGnkxIRc6RMIy+GXJwPrLiB/t70hSvwgVa249zNJVcwYN/5SGX5wLaJKnim\neY99xm75nr03O/RJK/DR8HvWysH7zxvrMWs0ppfwxkxrwOcg0Cb9xODVkg/wyClw\nLiHWlmH/eyC8nkiLYJKmV7566VWCV+gy+hC/DRstVVjIMG6LsqaPq6ycm7N8EV8s\nBb5uXIVHW6w5a20c40+W9G4EDYiQjdgEaf0FoMAWGDnOEaPsvjQk2/z5\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDPDCCAiQCCQDxA75ydLHVoTANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQ8wDQYDVQQHDAZNT1NDT1cxFTATBgNVBAoMDElO\nVEVSTUVESUFURTEYMBYGA1UEAwwPSU5URVJNRURJQVRFIENBMB4XDTIxMDczMDE1\nMTIyMloXDTI0MDUxOTE1MTIyMlowYDELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1P\nU0NPVzEPMA0GA1UEBwwGTU9TQ09XMRUwEwYDVQQKDAxJTlRFUk1FRElBVEUxGDAW\nBgNVBAMMD0lOVEVSTUVESUFURSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\nAQoCggEBAKOrWdDVekCEf5r7KrQCCM007gTK2UeTk8Cr3Bp4XuBlQ8MyfzoBFpII\nSwMzqI3Cb5H8yTrVsDl6sIKYZLHPu/r8CD0z7d4lo20FM1yvKRS5I8azvKcf0MT7\nlK6flOg01b74EHrIzGfY0EVBSjognLtLLdTeUPwiUeFTicbWKC8tWVJbAAYcCfur\na5KDhUy0T5TFF9RCBue42AKLR70BaHPFDcdys7ybCSeekp4lwiJHrutSDrfGjlx1\nPt0y2IWZz4j99dXDG1wNCd7xj0WcM9uQWYxdyBf0oV5X88++hY1lEwE4XNPhwPJc\n8ed8Q+P5/BzfrBrmxsfU7y8mYphv1BsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA\ngOHvrh66+bQoG3Lo8bfp7D1Xvm/Md3gJq2nMotl2BH1TvNzMV93fCXygRX8J8rTL\n7xjUC2SbOrFDWFq2hNJQagdecAeuG+U55BY6Wi8SsHw+fhgxQyl9wtXWwotQPmsD\nuRhR1rL3vEphgPLbxNBzA7Lvj+P89Ar988Qy+o5AiUzHMUuqZbGOqs8UcKCQP7e/\nIX+zqqFwqyI8f90SVySGgs574jo8jQFy3l5fnp6yK0MPWg2cBCjpa5H1A+5DADF+\nnryV6Ie/m/wfxmitZZN+YCJu+8Bmmdl/FCwbmiH+HCLhrO8gonH3K21cQujMyFF5\nc7OFj86hvhqbr4kzz1J8lg==\n-----END CERTIFICATE-----\",\n        Expiration = \"2025-12-28T19:14:44.213\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewSecret(ctx, \"lb_https\", \u0026edgecenter.SecretArgs{\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"test\"),\n\t\t\tPrivateKey: pulumi.String(`-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQ4E6U0vql4EST\n8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznEjQg4H7gfYEKeCJqelrfq\ntdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOcarVOFdIzudzkgSK/oV7Za\nL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+hL2iUSqikiViEGRta+47\nnaTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81yAG5daU3L2NdJ3qx9UbV\ntKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FNTNS4PKYxAAUrnCwf0EE3\n7dOR4eWlAgMBAAECggEBALPm3ge0h4li1e4PVYh4AmSRT74KxVgpfMCqwM+uWzyM\nVpkDhPTjwC06UOEHD3M3bqAninkOtA2vhoyzOrP+T4Wu70hDmUAemDJp9BhJKVNN\n2o28Olz/dD4WRAZoDq29Kr0hFqTFtiyJj1eyGihQ1c5j00HuowI0UJPi1Fz+T8uN\nPwukUtTPYwEds6SApii3v9VKjmvbRDmsbHU3KkUoaeqpRnRagyp1vtoLXigezUcK\nrQcoh6wlKtvj0YLR2lxq9Wmj1nn6m3F5Bom54X8o18tcOmFSRudRb+Fxjb0jnqSK\nAsyVlZg4alTBQUmx9gIKv0oSJAIh2nXdclECkGjs8WkCgYEA9xvdDWephsbv+X3k\nndnDG9JTxfrR6HMHPrUrTaZ8/VD+Qw4zuReoNGkcQbV3Cb26egprWQWfYc9+l6mU\nAWgOjFgeGie1uwOwkhv6CfhE/iVvotJ3hOOsC5pLEhz4vRpO75C9wSehjfTYkP1m\nXEAhRTRbgMnvzChWyh5CEjosX5sCgYEA2GRHrG0JVxsYSCugLPKf9fSK4CQDm0bK\nywBwZtAWX0xhiHO/BW6PeK1Mqx2nbiWl1hXNpZKJNS9bnrZWym/yUqOvg2XJKjb6\nhHBvwAD1MOQ8Ysby4JHGCrMBEwlcDpI2wpMpXkKhU3X0XWjkqrhqCH/TETFKkqLt\nfJX/c9PTQ78CgYAEPek0grQJST7zVHLpNsS/pIOloWGbEOZt8CQ3KAV7P7mtov/G\nTJ6pj6hZhGjvtN8Pm0Aufgc3YZ11swaEY6nkRNr3bfkTpcORLoPDSgy9JB1feSdu\nE45vgI2LWQ34CQyT1jM7rpd6XVqeWos4SC2KB5UOh+ji40piG9TchT0fwwKBgA/M\nmpMTTvhGKSqzzLkbaeR6W11sI7tFmu7hdFN9Y/THTeO5l7vcy6ri9FMWEjBvnUEZ\nTG+HWG9CquzWoVWcgNPZ0anFV7+2Teo3j2E0cLKGJ4aKwhb1bcFAOpbaOxdxQ4BH\nYGDaeo7ucM4VJ4TzfAJs2stJjwlPzgknpoQddjJfAoGBAIFfnU8x/SrNhAqZrG9d\n3kpJ5LmbVswOYtj01KHM+KpEwOQVF+s2NOeHqyC7QUIWrue00+1MT88F9cNHDeWk\n0dEOJNWCfzcV85l8A+0p6/4qAW7h7RNiFqeA8GyVKCT8f7fu/7WpYw8D0aq8w5X/\nKZl+AjB+MzYFs71+SC4ohTlI\n-----END PRIVATE KEY-----`),\n\t\t\tCertificate: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIDpDCCAoygAwIBAgIJAIUvym0uaBHbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV\nBAYTAlJVMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdS\nT09UIENBMB4XDTIxMDczMDE1MTU0NVoXDTMxMDcyODE1MTU0NVowTDELMAkGA1UE\nBhMCQ0ExDTALBgNVBAgMBE5vbmUxCzAJBgNVBAcMAk5CMQ0wCwYDVQQKDAROb25l\nMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDQ4E6U0vql4EST8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznE\njQg4H7gfYEKeCJqelrfqtdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOca\nrVOFdIzudzkgSK/oV7ZaL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+\nhL2iUSqikiViEGRta+47naTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81\nyAG5daU3L2NdJ3qx9UbVtKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FN\nTNS4PKYxAAUrnCwf0EE37dOR4eWlAgMBAAGjgZcwgZQwVwYDVR0jBFAwTqFBpD8w\nPTELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1PU0NPVzELMAkGA1UECgwCQ0ExEDAO\nBgNVBAMMB1JPT1QgQ0GCCQCectJTETy4lTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE\n8DAhBgNVHREEGjAYgglsb2NhbGhvc3SCCyoubG9jYWxob3N0MA0GCSqGSIb3DQEB\nCwUAA4IBAQBqzJcwygLsVCTPlReUpcKVn84aFqzfZA0m7hYvH+7PDH/FM8SbX3zg\nteBL/PgQAZw1amO8xjeMc2Pe2kvi9VrpfTeGqNia/9axhGu3q/NEP0tyDFXAE2bR\njBdGhd5gCmg+X4WdHigCgn51cz5r2k3fSOIWP+TQWHqc8Yt+vZXnkwnQkRA1Ki7N\nWOiJjj/ae5RWwma/kJNmShTZn754gbQn06bAjNbPjclsHRLkawmLqikd1rYUhIdk\nOr1Nrl+CWMx3CXg0TVVdJ6rH3dO31uyvb+3qEY7WnL+HhZyr08ay8gJsEKPuPFA2\nxvveXqt9ceU5qh+8T7mHwGALEUw96QcP\n-----END CERTIFICATE-----`),\n\t\t\tCertificateChain: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIC9jCCAd4CCQCectJTETy4lTANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQswCQYDVQQKDAJDQTEQMA4GA1UEAwwHUk9PVCBD\nQTAeFw0yMTA3MzAxNTExMzVaFw0yNDA1MTkxNTExMzVaMD0xCzAJBgNVBAYTAlJV\nMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdST09UIENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6tZ0NV6QIR/mvsqtAII\nzTTuBMrZR5OTwKvcGnhe4GVDwzJ/OgEWkghLAzOojcJvkfzJOtWwOXqwgphksc+7\n+vwIPTPt3iWjbQUzXK8pFLkjxrO8px/QxPuUrp+U6DTVvvgQesjMZ9jQRUFKOiCc\nu0st1N5Q/CJR4VOJxtYoLy1ZUlsABhwJ+6trkoOFTLRPlMUX1EIG57jYAotHvQFo\nc8UNx3KzvJsJJ56SniXCIkeu61IOt8aOXHU+3TLYhZnPiP311cMbXA0J3vGPRZwz\n25BZjF3IF/ShXlfzz76FjWUTAThc0+HA8lzx53xD4/n8HN+sGubGx9TvLyZimG/U\nGwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAnK8Wzw33fR6R6pqV05XI9Yu8J+BwC\nCn2bKxxYwwQWZyX1as+UIlGuvyBRJba9W2UGMj95FQfWVdDyFC98spUur+O/5yL+\nNHH+dxGnkxIRc6RMIy+GXJwPrLiB/t70hSvwgVa249zNJVcwYN/5SGX5wLaJKnim\neY99xm75nr03O/RJK/DR8HvWysH7zxvrMWs0ppfwxkxrwOcg0Cb9xODVkg/wyClw\nLiHWlmH/eyC8nkiLYJKmV7566VWCV+gy+hC/DRstVVjIMG6LsqaPq6ycm7N8EV8s\nBb5uXIVHW6w5a20c40+W9G4EDYiQjdgEaf0FoMAWGDnOEaPsvjQk2/z5\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDPDCCAiQCCQDxA75ydLHVoTANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQ8wDQYDVQQHDAZNT1NDT1cxFTATBgNVBAoMDElO\nVEVSTUVESUFURTEYMBYGA1UEAwwPSU5URVJNRURJQVRFIENBMB4XDTIxMDczMDE1\nMTIyMloXDTI0MDUxOTE1MTIyMlowYDELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1P\nU0NPVzEPMA0GA1UEBwwGTU9TQ09XMRUwEwYDVQQKDAxJTlRFUk1FRElBVEUxGDAW\nBgNVBAMMD0lOVEVSTUVESUFURSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\nAQoCggEBAKOrWdDVekCEf5r7KrQCCM007gTK2UeTk8Cr3Bp4XuBlQ8MyfzoBFpII\nSwMzqI3Cb5H8yTrVsDl6sIKYZLHPu/r8CD0z7d4lo20FM1yvKRS5I8azvKcf0MT7\nlK6flOg01b74EHrIzGfY0EVBSjognLtLLdTeUPwiUeFTicbWKC8tWVJbAAYcCfur\na5KDhUy0T5TFF9RCBue42AKLR70BaHPFDcdys7ybCSeekp4lwiJHrutSDrfGjlx1\nPt0y2IWZz4j99dXDG1wNCd7xj0WcM9uQWYxdyBf0oV5X88++hY1lEwE4XNPhwPJc\n8ed8Q+P5/BzfrBrmxsfU7y8mYphv1BsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA\ngOHvrh66+bQoG3Lo8bfp7D1Xvm/Md3gJq2nMotl2BH1TvNzMV93fCXygRX8J8rTL\n7xjUC2SbOrFDWFq2hNJQagdecAeuG+U55BY6Wi8SsHw+fhgxQyl9wtXWwotQPmsD\nuRhR1rL3vEphgPLbxNBzA7Lvj+P89Ar988Qy+o5AiUzHMUuqZbGOqs8UcKCQP7e/\nIX+zqqFwqyI8f90SVySGgs574jo8jQFy3l5fnp6yK0MPWg2cBCjpa5H1A+5DADF+\nnryV6Ie/m/wfxmitZZN+YCJu+8Bmmdl/FCwbmiH+HCLhrO8gonH3K21cQujMyFF5\nc7OFj86hvhqbr4kzz1J8lg==\n-----END CERTIFICATE-----`),\n\t\t\tExpiration: pulumi.String(\"2025-12-28T19:14:44.213\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Secret;\nimport com.pulumi.edgecenter.SecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var lbHttps = new Secret(\"lbHttps\", SecretArgs.builder()\n            .regionId(1.0)\n            .projectId(1.0)\n            .name(\"test\")\n            .privateKey(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQ4E6U0vql4EST\n8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznEjQg4H7gfYEKeCJqelrfq\ntdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOcarVOFdIzudzkgSK/oV7Za\nL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+hL2iUSqikiViEGRta+47\nnaTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81yAG5daU3L2NdJ3qx9UbV\ntKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FNTNS4PKYxAAUrnCwf0EE3\n7dOR4eWlAgMBAAECggEBALPm3ge0h4li1e4PVYh4AmSRT74KxVgpfMCqwM+uWzyM\nVpkDhPTjwC06UOEHD3M3bqAninkOtA2vhoyzOrP+T4Wu70hDmUAemDJp9BhJKVNN\n2o28Olz/dD4WRAZoDq29Kr0hFqTFtiyJj1eyGihQ1c5j00HuowI0UJPi1Fz+T8uN\nPwukUtTPYwEds6SApii3v9VKjmvbRDmsbHU3KkUoaeqpRnRagyp1vtoLXigezUcK\nrQcoh6wlKtvj0YLR2lxq9Wmj1nn6m3F5Bom54X8o18tcOmFSRudRb+Fxjb0jnqSK\nAsyVlZg4alTBQUmx9gIKv0oSJAIh2nXdclECkGjs8WkCgYEA9xvdDWephsbv+X3k\nndnDG9JTxfrR6HMHPrUrTaZ8/VD+Qw4zuReoNGkcQbV3Cb26egprWQWfYc9+l6mU\nAWgOjFgeGie1uwOwkhv6CfhE/iVvotJ3hOOsC5pLEhz4vRpO75C9wSehjfTYkP1m\nXEAhRTRbgMnvzChWyh5CEjosX5sCgYEA2GRHrG0JVxsYSCugLPKf9fSK4CQDm0bK\nywBwZtAWX0xhiHO/BW6PeK1Mqx2nbiWl1hXNpZKJNS9bnrZWym/yUqOvg2XJKjb6\nhHBvwAD1MOQ8Ysby4JHGCrMBEwlcDpI2wpMpXkKhU3X0XWjkqrhqCH/TETFKkqLt\nfJX/c9PTQ78CgYAEPek0grQJST7zVHLpNsS/pIOloWGbEOZt8CQ3KAV7P7mtov/G\nTJ6pj6hZhGjvtN8Pm0Aufgc3YZ11swaEY6nkRNr3bfkTpcORLoPDSgy9JB1feSdu\nE45vgI2LWQ34CQyT1jM7rpd6XVqeWos4SC2KB5UOh+ji40piG9TchT0fwwKBgA/M\nmpMTTvhGKSqzzLkbaeR6W11sI7tFmu7hdFN9Y/THTeO5l7vcy6ri9FMWEjBvnUEZ\nTG+HWG9CquzWoVWcgNPZ0anFV7+2Teo3j2E0cLKGJ4aKwhb1bcFAOpbaOxdxQ4BH\nYGDaeo7ucM4VJ4TzfAJs2stJjwlPzgknpoQddjJfAoGBAIFfnU8x/SrNhAqZrG9d\n3kpJ5LmbVswOYtj01KHM+KpEwOQVF+s2NOeHqyC7QUIWrue00+1MT88F9cNHDeWk\n0dEOJNWCfzcV85l8A+0p6/4qAW7h7RNiFqeA8GyVKCT8f7fu/7WpYw8D0aq8w5X/\nKZl+AjB+MzYFs71+SC4ohTlI\n-----END PRIVATE KEY-----            \"\"\")\n            .certificate(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIDpDCCAoygAwIBAgIJAIUvym0uaBHbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV\nBAYTAlJVMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdS\nT09UIENBMB4XDTIxMDczMDE1MTU0NVoXDTMxMDcyODE1MTU0NVowTDELMAkGA1UE\nBhMCQ0ExDTALBgNVBAgMBE5vbmUxCzAJBgNVBAcMAk5CMQ0wCwYDVQQKDAROb25l\nMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDQ4E6U0vql4EST8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznE\njQg4H7gfYEKeCJqelrfqtdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOca\nrVOFdIzudzkgSK/oV7ZaL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+\nhL2iUSqikiViEGRta+47naTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81\nyAG5daU3L2NdJ3qx9UbVtKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FN\nTNS4PKYxAAUrnCwf0EE37dOR4eWlAgMBAAGjgZcwgZQwVwYDVR0jBFAwTqFBpD8w\nPTELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1PU0NPVzELMAkGA1UECgwCQ0ExEDAO\nBgNVBAMMB1JPT1QgQ0GCCQCectJTETy4lTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE\n8DAhBgNVHREEGjAYgglsb2NhbGhvc3SCCyoubG9jYWxob3N0MA0GCSqGSIb3DQEB\nCwUAA4IBAQBqzJcwygLsVCTPlReUpcKVn84aFqzfZA0m7hYvH+7PDH/FM8SbX3zg\nteBL/PgQAZw1amO8xjeMc2Pe2kvi9VrpfTeGqNia/9axhGu3q/NEP0tyDFXAE2bR\njBdGhd5gCmg+X4WdHigCgn51cz5r2k3fSOIWP+TQWHqc8Yt+vZXnkwnQkRA1Ki7N\nWOiJjj/ae5RWwma/kJNmShTZn754gbQn06bAjNbPjclsHRLkawmLqikd1rYUhIdk\nOr1Nrl+CWMx3CXg0TVVdJ6rH3dO31uyvb+3qEY7WnL+HhZyr08ay8gJsEKPuPFA2\nxvveXqt9ceU5qh+8T7mHwGALEUw96QcP\n-----END CERTIFICATE-----            \"\"\")\n            .certificateChain(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIC9jCCAd4CCQCectJTETy4lTANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQswCQYDVQQKDAJDQTEQMA4GA1UEAwwHUk9PVCBD\nQTAeFw0yMTA3MzAxNTExMzVaFw0yNDA1MTkxNTExMzVaMD0xCzAJBgNVBAYTAlJV\nMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdST09UIENB\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6tZ0NV6QIR/mvsqtAII\nzTTuBMrZR5OTwKvcGnhe4GVDwzJ/OgEWkghLAzOojcJvkfzJOtWwOXqwgphksc+7\n+vwIPTPt3iWjbQUzXK8pFLkjxrO8px/QxPuUrp+U6DTVvvgQesjMZ9jQRUFKOiCc\nu0st1N5Q/CJR4VOJxtYoLy1ZUlsABhwJ+6trkoOFTLRPlMUX1EIG57jYAotHvQFo\nc8UNx3KzvJsJJ56SniXCIkeu61IOt8aOXHU+3TLYhZnPiP311cMbXA0J3vGPRZwz\n25BZjF3IF/ShXlfzz76FjWUTAThc0+HA8lzx53xD4/n8HN+sGubGx9TvLyZimG/U\nGwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAnK8Wzw33fR6R6pqV05XI9Yu8J+BwC\nCn2bKxxYwwQWZyX1as+UIlGuvyBRJba9W2UGMj95FQfWVdDyFC98spUur+O/5yL+\nNHH+dxGnkxIRc6RMIy+GXJwPrLiB/t70hSvwgVa249zNJVcwYN/5SGX5wLaJKnim\neY99xm75nr03O/RJK/DR8HvWysH7zxvrMWs0ppfwxkxrwOcg0Cb9xODVkg/wyClw\nLiHWlmH/eyC8nkiLYJKmV7566VWCV+gy+hC/DRstVVjIMG6LsqaPq6ycm7N8EV8s\nBb5uXIVHW6w5a20c40+W9G4EDYiQjdgEaf0FoMAWGDnOEaPsvjQk2/z5\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDPDCCAiQCCQDxA75ydLHVoTANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJS\nVTEPMA0GA1UECAwGTU9TQ09XMQ8wDQYDVQQHDAZNT1NDT1cxFTATBgNVBAoMDElO\nVEVSTUVESUFURTEYMBYGA1UEAwwPSU5URVJNRURJQVRFIENBMB4XDTIxMDczMDE1\nMTIyMloXDTI0MDUxOTE1MTIyMlowYDELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1P\nU0NPVzEPMA0GA1UEBwwGTU9TQ09XMRUwEwYDVQQKDAxJTlRFUk1FRElBVEUxGDAW\nBgNVBAMMD0lOVEVSTUVESUFURSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\nAQoCggEBAKOrWdDVekCEf5r7KrQCCM007gTK2UeTk8Cr3Bp4XuBlQ8MyfzoBFpII\nSwMzqI3Cb5H8yTrVsDl6sIKYZLHPu/r8CD0z7d4lo20FM1yvKRS5I8azvKcf0MT7\nlK6flOg01b74EHrIzGfY0EVBSjognLtLLdTeUPwiUeFTicbWKC8tWVJbAAYcCfur\na5KDhUy0T5TFF9RCBue42AKLR70BaHPFDcdys7ybCSeekp4lwiJHrutSDrfGjlx1\nPt0y2IWZz4j99dXDG1wNCd7xj0WcM9uQWYxdyBf0oV5X88++hY1lEwE4XNPhwPJc\n8ed8Q+P5/BzfrBrmxsfU7y8mYphv1BsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA\ngOHvrh66+bQoG3Lo8bfp7D1Xvm/Md3gJq2nMotl2BH1TvNzMV93fCXygRX8J8rTL\n7xjUC2SbOrFDWFq2hNJQagdecAeuG+U55BY6Wi8SsHw+fhgxQyl9wtXWwotQPmsD\nuRhR1rL3vEphgPLbxNBzA7Lvj+P89Ar988Qy+o5AiUzHMUuqZbGOqs8UcKCQP7e/\nIX+zqqFwqyI8f90SVySGgs574jo8jQFy3l5fnp6yK0MPWg2cBCjpa5H1A+5DADF+\nnryV6Ie/m/wfxmitZZN+YCJu+8Bmmdl/FCwbmiH+HCLhrO8gonH3K21cQujMyFF5\nc7OFj86hvhqbr4kzz1J8lg==\n-----END CERTIFICATE-----            \"\"\")\n            .expiration(\"2025-12-28T19:14:44.213\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lbHttps:\n    type: edgecenter:Secret\n    name: lb_https\n    properties:\n      regionId: 1\n      projectId: 1\n      name: test\n      privateKey: |-\n        -----BEGIN PRIVATE KEY-----\n        MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQ4E6U0vql4EST\n        8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznEjQg4H7gfYEKeCJqelrfq\n        tdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOcarVOFdIzudzkgSK/oV7Za\n        L8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+hL2iUSqikiViEGRta+47\n        naTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81yAG5daU3L2NdJ3qx9UbV\n        tKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FNTNS4PKYxAAUrnCwf0EE3\n        7dOR4eWlAgMBAAECggEBALPm3ge0h4li1e4PVYh4AmSRT74KxVgpfMCqwM+uWzyM\n        VpkDhPTjwC06UOEHD3M3bqAninkOtA2vhoyzOrP+T4Wu70hDmUAemDJp9BhJKVNN\n        2o28Olz/dD4WRAZoDq29Kr0hFqTFtiyJj1eyGihQ1c5j00HuowI0UJPi1Fz+T8uN\n        PwukUtTPYwEds6SApii3v9VKjmvbRDmsbHU3KkUoaeqpRnRagyp1vtoLXigezUcK\n        rQcoh6wlKtvj0YLR2lxq9Wmj1nn6m3F5Bom54X8o18tcOmFSRudRb+Fxjb0jnqSK\n        AsyVlZg4alTBQUmx9gIKv0oSJAIh2nXdclECkGjs8WkCgYEA9xvdDWephsbv+X3k\n        ndnDG9JTxfrR6HMHPrUrTaZ8/VD+Qw4zuReoNGkcQbV3Cb26egprWQWfYc9+l6mU\n        AWgOjFgeGie1uwOwkhv6CfhE/iVvotJ3hOOsC5pLEhz4vRpO75C9wSehjfTYkP1m\n        XEAhRTRbgMnvzChWyh5CEjosX5sCgYEA2GRHrG0JVxsYSCugLPKf9fSK4CQDm0bK\n        ywBwZtAWX0xhiHO/BW6PeK1Mqx2nbiWl1hXNpZKJNS9bnrZWym/yUqOvg2XJKjb6\n        hHBvwAD1MOQ8Ysby4JHGCrMBEwlcDpI2wpMpXkKhU3X0XWjkqrhqCH/TETFKkqLt\n        fJX/c9PTQ78CgYAEPek0grQJST7zVHLpNsS/pIOloWGbEOZt8CQ3KAV7P7mtov/G\n        TJ6pj6hZhGjvtN8Pm0Aufgc3YZ11swaEY6nkRNr3bfkTpcORLoPDSgy9JB1feSdu\n        E45vgI2LWQ34CQyT1jM7rpd6XVqeWos4SC2KB5UOh+ji40piG9TchT0fwwKBgA/M\n        mpMTTvhGKSqzzLkbaeR6W11sI7tFmu7hdFN9Y/THTeO5l7vcy6ri9FMWEjBvnUEZ\n        TG+HWG9CquzWoVWcgNPZ0anFV7+2Teo3j2E0cLKGJ4aKwhb1bcFAOpbaOxdxQ4BH\n        YGDaeo7ucM4VJ4TzfAJs2stJjwlPzgknpoQddjJfAoGBAIFfnU8x/SrNhAqZrG9d\n        3kpJ5LmbVswOYtj01KHM+KpEwOQVF+s2NOeHqyC7QUIWrue00+1MT88F9cNHDeWk\n        0dEOJNWCfzcV85l8A+0p6/4qAW7h7RNiFqeA8GyVKCT8f7fu/7WpYw8D0aq8w5X/\n        KZl+AjB+MzYFs71+SC4ohTlI\n        -----END PRIVATE KEY-----\n      certificate: |-\n        -----BEGIN CERTIFICATE-----\n        MIIDpDCCAoygAwIBAgIJAIUvym0uaBHbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV\n        BAYTAlJVMQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdS\n        T09UIENBMB4XDTIxMDczMDE1MTU0NVoXDTMxMDcyODE1MTU0NVowTDELMAkGA1UE\n        BhMCQ0ExDTALBgNVBAgMBE5vbmUxCzAJBgNVBAcMAk5CMQ0wCwYDVQQKDAROb25l\n        MRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n        AoIBAQDQ4E6U0vql4EST8o41TlHRz6MKmMhddVUjM2juTKjxv4WuB4T3z/wokznE\n        jQg4H7gfYEKeCJqelrfqtdOtbPsznSceMOXB5uA2Sc9WVKwk7owoRJxPd4LQeOca\n        rVOFdIzudzkgSK/oV7ZaL8Y2hylsB4SX2cfbULtmW/WDePp3YZAL6zYV1fXJSnK+\n        hL2iUSqikiViEGRta+47naTKZnnmSgojdshzsw0wlF/PgRJ/Anf9j9J8ratdJP81\n        yAG5daU3L2NdJ3qx9UbVtKnSq2z2u4yx6xdb4t4WFQBKNjC6+YZN/gI5lp96p3FN\n        TNS4PKYxAAUrnCwf0EE37dOR4eWlAgMBAAGjgZcwgZQwVwYDVR0jBFAwTqFBpD8w\n        PTELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1PU0NPVzELMAkGA1UECgwCQ0ExEDAO\n        BgNVBAMMB1JPT1QgQ0GCCQCectJTETy4lTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE\n        8DAhBgNVHREEGjAYgglsb2NhbGhvc3SCCyoubG9jYWxob3N0MA0GCSqGSIb3DQEB\n        CwUAA4IBAQBqzJcwygLsVCTPlReUpcKVn84aFqzfZA0m7hYvH+7PDH/FM8SbX3zg\n        teBL/PgQAZw1amO8xjeMc2Pe2kvi9VrpfTeGqNia/9axhGu3q/NEP0tyDFXAE2bR\n        jBdGhd5gCmg+X4WdHigCgn51cz5r2k3fSOIWP+TQWHqc8Yt+vZXnkwnQkRA1Ki7N\n        WOiJjj/ae5RWwma/kJNmShTZn754gbQn06bAjNbPjclsHRLkawmLqikd1rYUhIdk\n        Or1Nrl+CWMx3CXg0TVVdJ6rH3dO31uyvb+3qEY7WnL+HhZyr08ay8gJsEKPuPFA2\n        xvveXqt9ceU5qh+8T7mHwGALEUw96QcP\n        -----END CERTIFICATE-----\n      certificateChain: |-\n        -----BEGIN CERTIFICATE-----\n        MIIC9jCCAd4CCQCectJTETy4lTANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJS\n        VTEPMA0GA1UECAwGTU9TQ09XMQswCQYDVQQKDAJDQTEQMA4GA1UEAwwHUk9PVCBD\n        QTAeFw0yMTA3MzAxNTExMzVaFw0yNDA1MTkxNTExMzVaMD0xCzAJBgNVBAYTAlJV\n        MQ8wDQYDVQQIDAZNT1NDT1cxCzAJBgNVBAoMAkNBMRAwDgYDVQQDDAdST09UIENB\n        MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo6tZ0NV6QIR/mvsqtAII\n        zTTuBMrZR5OTwKvcGnhe4GVDwzJ/OgEWkghLAzOojcJvkfzJOtWwOXqwgphksc+7\n        +vwIPTPt3iWjbQUzXK8pFLkjxrO8px/QxPuUrp+U6DTVvvgQesjMZ9jQRUFKOiCc\n        u0st1N5Q/CJR4VOJxtYoLy1ZUlsABhwJ+6trkoOFTLRPlMUX1EIG57jYAotHvQFo\n        c8UNx3KzvJsJJ56SniXCIkeu61IOt8aOXHU+3TLYhZnPiP311cMbXA0J3vGPRZwz\n        25BZjF3IF/ShXlfzz76FjWUTAThc0+HA8lzx53xD4/n8HN+sGubGx9TvLyZimG/U\n        GwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAnK8Wzw33fR6R6pqV05XI9Yu8J+BwC\n        Cn2bKxxYwwQWZyX1as+UIlGuvyBRJba9W2UGMj95FQfWVdDyFC98spUur+O/5yL+\n        NHH+dxGnkxIRc6RMIy+GXJwPrLiB/t70hSvwgVa249zNJVcwYN/5SGX5wLaJKnim\n        eY99xm75nr03O/RJK/DR8HvWysH7zxvrMWs0ppfwxkxrwOcg0Cb9xODVkg/wyClw\n        LiHWlmH/eyC8nkiLYJKmV7566VWCV+gy+hC/DRstVVjIMG6LsqaPq6ycm7N8EV8s\n        Bb5uXIVHW6w5a20c40+W9G4EDYiQjdgEaf0FoMAWGDnOEaPsvjQk2/z5\n        -----END CERTIFICATE-----\n        -----BEGIN CERTIFICATE-----\n        MIIDPDCCAiQCCQDxA75ydLHVoTANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJS\n        VTEPMA0GA1UECAwGTU9TQ09XMQ8wDQYDVQQHDAZNT1NDT1cxFTATBgNVBAoMDElO\n        VEVSTUVESUFURTEYMBYGA1UEAwwPSU5URVJNRURJQVRFIENBMB4XDTIxMDczMDE1\n        MTIyMloXDTI0MDUxOTE1MTIyMlowYDELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1P\n        U0NPVzEPMA0GA1UEBwwGTU9TQ09XMRUwEwYDVQQKDAxJTlRFUk1FRElBVEUxGDAW\n        BgNVBAMMD0lOVEVSTUVESUFURSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\n        AQoCggEBAKOrWdDVekCEf5r7KrQCCM007gTK2UeTk8Cr3Bp4XuBlQ8MyfzoBFpII\n        SwMzqI3Cb5H8yTrVsDl6sIKYZLHPu/r8CD0z7d4lo20FM1yvKRS5I8azvKcf0MT7\n        lK6flOg01b74EHrIzGfY0EVBSjognLtLLdTeUPwiUeFTicbWKC8tWVJbAAYcCfur\n        a5KDhUy0T5TFF9RCBue42AKLR70BaHPFDcdys7ybCSeekp4lwiJHrutSDrfGjlx1\n        Pt0y2IWZz4j99dXDG1wNCd7xj0WcM9uQWYxdyBf0oV5X88++hY1lEwE4XNPhwPJc\n        8ed8Q+P5/BzfrBrmxsfU7y8mYphv1BsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA\n        gOHvrh66+bQoG3Lo8bfp7D1Xvm/Md3gJq2nMotl2BH1TvNzMV93fCXygRX8J8rTL\n        7xjUC2SbOrFDWFq2hNJQagdecAeuG+U55BY6Wi8SsHw+fhgxQyl9wtXWwotQPmsD\n        uRhR1rL3vEphgPLbxNBzA7Lvj+P89Ar988Qy+o5AiUzHMUuqZbGOqs8UcKCQP7e/\n        IX+zqqFwqyI8f90SVySGgs574jo8jQFy3l5fnp6yK0MPWg2cBCjpa5H1A+5DADF+\n        nryV6Ie/m/wfxmitZZN+YCJu+8Bmmdl/FCwbmiH+HCLhrO8gonH3K21cQujMyFF5\n        c7OFj86hvhqbr4kzz1J8lg==\n        -----END CERTIFICATE-----\n      expiration: 2025-12-28T19:14:44.213\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003csecret_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/secret:Secret secret_id 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"algorithm":{"type":"string","description":"The encryption algorithm used for the secret.\n"},"bitLength":{"type":"number","description":"The bit length of the encryption algorithm.\n"},"certificate":{"type":"string","description":"SSL certificate in PEM format\n"},"certificateChain":{"type":"string","description":"SSL certificate chain of intermediates and root certificates in PEM format\n"},"contentTypes":{"type":"object","additionalProperties":{"type":"string"},"description":"The content types associated with the secret's payload.\n"},"created":{"type":"string","description":"Datetime when the secret was created. The format is 2025-12-28T19:14:44.180394\n"},"expiration":{"type":"string","description":"Datetime when the secret will expire. The format is 2025-12-28T19:14:44\n"},"mode":{"type":"string","description":"The mode of the encryption algorithm.\n"},"name":{"type":"string","description":"The name of the secret.\n"},"privateKey":{"type":"string","description":"SSL private key in PEM format\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"secretId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The current status of the secret.\n"}},"type":"object","required":["algorithm","bitLength","certificate","certificateChain","contentTypes","created","expiration","mode","name","privateKey","secretId","status"],"inputProperties":{"certificate":{"type":"string","description":"SSL certificate in PEM format\n"},"certificateChain":{"type":"string","description":"SSL certificate chain of intermediates and root certificates in PEM format\n"},"expiration":{"type":"string","description":"Datetime when the secret will expire. The format is 2025-12-28T19:14:44\n"},"name":{"type":"string","description":"The name of the secret.\n"},"privateKey":{"type":"string","description":"SSL private key in PEM format\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"secretId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["certificate","certificateChain","privateKey"],"stateInputs":{"description":"Input properties used for looking up and filtering Secret resources.\n","properties":{"algorithm":{"type":"string","description":"The encryption algorithm used for the secret.\n"},"bitLength":{"type":"number","description":"The bit length of the encryption algorithm.\n"},"certificate":{"type":"string","description":"SSL certificate in PEM format\n"},"certificateChain":{"type":"string","description":"SSL certificate chain of intermediates and root certificates in PEM format\n"},"contentTypes":{"type":"object","additionalProperties":{"type":"string"},"description":"The content types associated with the secret's payload.\n"},"created":{"type":"string","description":"Datetime when the secret was created. The format is 2025-12-28T19:14:44.180394\n"},"expiration":{"type":"string","description":"Datetime when the secret will expire. The format is 2025-12-28T19:14:44\n"},"mode":{"type":"string","description":"The mode of the encryption algorithm.\n"},"name":{"type":"string","description":"The name of the secret.\n"},"privateKey":{"type":"string","description":"SSL private key in PEM format\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"secretId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The current status of the secret.\n"}},"type":"object"}},"edgecenter:index/securitygroup:Securitygroup":{"description":"Represent SecurityGroups(Firewall)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst sg = new edgecenter.Securitygroup(\"sg\", {\n    name: \"test sg\",\n    regionId: 1,\n    projectId: 1,\n    securityGroupRules: [\n        {\n            direction: \"egress\",\n            ethertype: \"IPv4\",\n            protocol: \"tcp\",\n            portRangeMin: 19990,\n            portRangeMax: 19990,\n        },\n        {\n            direction: \"ingress\",\n            ethertype: \"IPv4\",\n            protocol: \"tcp\",\n            portRangeMin: 19990,\n            portRangeMax: 19990,\n        },\n        {\n            direction: \"egress\",\n            ethertype: \"IPv4\",\n            protocol: \"vrrp\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nsg = edgecenter.Securitygroup(\"sg\",\n    name=\"test sg\",\n    region_id=1,\n    project_id=1,\n    security_group_rules=[\n        {\n            \"direction\": \"egress\",\n            \"ethertype\": \"IPv4\",\n            \"protocol\": \"tcp\",\n            \"port_range_min\": 19990,\n            \"port_range_max\": 19990,\n        },\n        {\n            \"direction\": \"ingress\",\n            \"ethertype\": \"IPv4\",\n            \"protocol\": \"tcp\",\n            \"port_range_min\": 19990,\n            \"port_range_max\": 19990,\n        },\n        {\n            \"direction\": \"egress\",\n            \"ethertype\": \"IPv4\",\n            \"protocol\": \"vrrp\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sg = new Edgecenter.Securitygroup(\"sg\", new()\n    {\n        Name = \"test sg\",\n        RegionId = 1,\n        ProjectId = 1,\n        SecurityGroupRules = new[]\n        {\n            new Edgecenter.Inputs.SecuritygroupSecurityGroupRuleArgs\n            {\n                Direction = \"egress\",\n                Ethertype = \"IPv4\",\n                Protocol = \"tcp\",\n                PortRangeMin = 19990,\n                PortRangeMax = 19990,\n            },\n            new Edgecenter.Inputs.SecuritygroupSecurityGroupRuleArgs\n            {\n                Direction = \"ingress\",\n                Ethertype = \"IPv4\",\n                Protocol = \"tcp\",\n                PortRangeMin = 19990,\n                PortRangeMax = 19990,\n            },\n            new Edgecenter.Inputs.SecuritygroupSecurityGroupRuleArgs\n            {\n                Direction = \"egress\",\n                Ethertype = \"IPv4\",\n                Protocol = \"vrrp\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewSecuritygroup(ctx, \"sg\", \u0026edgecenter.SecuritygroupArgs{\n\t\t\tName:      pulumi.String(\"test sg\"),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tSecurityGroupRules: edgecenter.SecuritygroupSecurityGroupRuleArray{\n\t\t\t\t\u0026edgecenter.SecuritygroupSecurityGroupRuleArgs{\n\t\t\t\t\tDirection:    pulumi.String(\"egress\"),\n\t\t\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRangeMin: pulumi.Float64(19990),\n\t\t\t\t\tPortRangeMax: pulumi.Float64(19990),\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.SecuritygroupSecurityGroupRuleArgs{\n\t\t\t\t\tDirection:    pulumi.String(\"ingress\"),\n\t\t\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRangeMin: pulumi.Float64(19990),\n\t\t\t\t\tPortRangeMax: pulumi.Float64(19990),\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.SecuritygroupSecurityGroupRuleArgs{\n\t\t\t\t\tDirection: pulumi.String(\"egress\"),\n\t\t\t\t\tEthertype: pulumi.String(\"IPv4\"),\n\t\t\t\t\tProtocol:  pulumi.String(\"vrrp\"),\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.edgecenter.Securitygroup;\nimport com.pulumi.edgecenter.SecuritygroupArgs;\nimport com.pulumi.edgecenter.inputs.SecuritygroupSecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sg = new Securitygroup(\"sg\", SecuritygroupArgs.builder()\n            .name(\"test sg\")\n            .regionId(1.0)\n            .projectId(1.0)\n            .securityGroupRules(            \n                SecuritygroupSecurityGroupRuleArgs.builder()\n                    .direction(\"egress\")\n                    .ethertype(\"IPv4\")\n                    .protocol(\"tcp\")\n                    .portRangeMin(19990.0)\n                    .portRangeMax(19990.0)\n                    .build(),\n                SecuritygroupSecurityGroupRuleArgs.builder()\n                    .direction(\"ingress\")\n                    .ethertype(\"IPv4\")\n                    .protocol(\"tcp\")\n                    .portRangeMin(19990.0)\n                    .portRangeMax(19990.0)\n                    .build(),\n                SecuritygroupSecurityGroupRuleArgs.builder()\n                    .direction(\"egress\")\n                    .ethertype(\"IPv4\")\n                    .protocol(\"vrrp\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sg:\n    type: edgecenter:Securitygroup\n    properties:\n      name: test sg\n      regionId: 1\n      projectId: 1\n      securityGroupRules:\n        - direction: egress\n          ethertype: IPv4\n          protocol: tcp\n          portRangeMin: 19990\n          portRangeMax: 19990\n        - direction: ingress\n          ethertype: IPv4\n          protocol: tcp\n          portRangeMin: 19990\n          portRangeMax: 19990\n        - direction: egress\n          ethertype: IPv4\n          protocol: vrrp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003csecuritygroup_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/securitygroup:Securitygroup securitygroup1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"description":{"type":"string","description":"A detailed description of the security group.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSecuritygroupMetadataReadOnly:SecuritygroupMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the security group.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroupRules":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSecuritygroupSecurityGroupRule:SecuritygroupSecurityGroupRule"},"description":"Firewall rules control what inbound(ingress) and outbound(egress) traffic is allowed to enter or leave a Instance. At least one 'egress' rule should be set\n"},"securitygroupId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["lastUpdated","metadataReadOnlies","name","projectId","projectName","regionId","regionName","securityGroupRules","securitygroupId"],"inputProperties":{"description":{"type":"string","description":"A detailed description of the security group.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the security group.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroupRules":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSecuritygroupSecurityGroupRule:SecuritygroupSecurityGroupRule"},"description":"Firewall rules control what inbound(ingress) and outbound(egress) traffic is allowed to enter or leave a Instance. At least one 'egress' rule should be set\n"},"securitygroupId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["securityGroupRules"],"stateInputs":{"description":"Input properties used for looking up and filtering Securitygroup resources.\n","properties":{"description":{"type":"string","description":"A detailed description of the security group.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSecuritygroupMetadataReadOnly:SecuritygroupMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the security group.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"securityGroupRules":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSecuritygroupSecurityGroupRule:SecuritygroupSecurityGroupRule"},"description":"Firewall rules control what inbound(ingress) and outbound(egress) traffic is allowed to enter or leave a Instance. At least one 'egress' rule should be set\n"},"securitygroupId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/servergroup:Servergroup":{"description":"Represent server group resource\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst _default = new edgecenter.Servergroup(\"default\", {\n    name: \"default\",\n    policy: \"affinity\",\n    regionId: 1,\n    projectId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\ndefault = edgecenter.Servergroup(\"default\",\n    name=\"default\",\n    policy=\"affinity\",\n    region_id=1,\n    project_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = new Edgecenter.Servergroup(\"default\", new()\n    {\n        Name = \"default\",\n        Policy = \"affinity\",\n        RegionId = 1,\n        ProjectId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewServergroup(ctx, \"default\", \u0026edgecenter.ServergroupArgs{\n\t\t\tName:      pulumi.String(\"default\"),\n\t\t\tPolicy:    pulumi.String(\"affinity\"),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tProjectId: 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.edgecenter.Servergroup;\nimport com.pulumi.edgecenter.ServergroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new Servergroup(\"default\", ServergroupArgs.builder()\n            .name(\"default\")\n            .policy(\"affinity\")\n            .regionId(1.0)\n            .projectId(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: edgecenter:Servergroup\n    properties:\n      name: default\n      policy: affinity\n      regionId: 1\n      projectId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cservergroup_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/servergroup:Servergroup servergroup1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"instances":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FServergroupInstance:ServergroupInstance"},"description":"Instances in this server group\n"},"name":{"type":"string","description":"Displayed server group name\n"},"policy":{"type":"string","description":"Server group policy. Available value is 'affinity', 'anti-affinity'\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"servergroupId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["instances","name","policy","servergroupId"],"inputProperties":{"name":{"type":"string","description":"Displayed server group name\n"},"policy":{"type":"string","description":"Server group policy. Available value is 'affinity', 'anti-affinity'\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"servergroupId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["policy"],"stateInputs":{"description":"Input properties used for looking up and filtering Servergroup resources.\n","properties":{"instances":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FServergroupInstance:ServergroupInstance"},"description":"Instances in this server group\n"},"name":{"type":"string","description":"Displayed server group name\n"},"policy":{"type":"string","description":"Server group policy. Available value is 'affinity', 'anti-affinity'\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"servergroupId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/snapshot:Snapshot":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst snapshot = new edgecenter.Snapshot(\"snapshot\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"snapshot example\",\n    volumeId: \"28e9edcb-1593-41fe-971b-da729c6ec301\",\n    description: \"snapshot example description\",\n    metadata: {\n        env: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nsnapshot = edgecenter.Snapshot(\"snapshot\",\n    project_id=1,\n    region_id=1,\n    name=\"snapshot example\",\n    volume_id=\"28e9edcb-1593-41fe-971b-da729c6ec301\",\n    description=\"snapshot example description\",\n    metadata={\n        \"env\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var snapshot = new Edgecenter.Snapshot(\"snapshot\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"snapshot example\",\n        VolumeId = \"28e9edcb-1593-41fe-971b-da729c6ec301\",\n        Description = \"snapshot example description\",\n        Metadata = \n        {\n            { \"env\", \"test\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewSnapshot(ctx, \"snapshot\", \u0026edgecenter.SnapshotArgs{\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t\tName:        pulumi.String(\"snapshot example\"),\n\t\t\tVolumeId:    pulumi.String(\"28e9edcb-1593-41fe-971b-da729c6ec301\"),\n\t\t\tDescription: pulumi.String(\"snapshot example description\"),\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Snapshot;\nimport com.pulumi.edgecenter.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var snapshot = new Snapshot(\"snapshot\", SnapshotArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"snapshot example\")\n            .volumeId(\"28e9edcb-1593-41fe-971b-da729c6ec301\")\n            .description(\"snapshot example description\")\n            .metadata(Map.of(\"env\", \"test\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  snapshot:\n    type: edgecenter:Snapshot\n    properties:\n      projectId: 1\n      regionId: 1\n      name: snapshot example\n      volumeId: 28e9edcb-1593-41fe-971b-da729c6ec301\n      description: snapshot example description\n      metadata:\n        env: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003csnapshot_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/snapshot:Snapshot snapshot1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"description":{"type":"string","description":"A detailed description of the snapshot.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSnapshotMetadataReadOnly:SnapshotMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the snapshot.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"size":{"type":"number","description":"The size of the snapshot in GB.\n"},"snapshotId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The current status of the snapshot.\n"},"volumeId":{"type":"string","description":"The ID of the volume from which the snapshot was created.\n"}},"type":"object","required":["lastUpdated","metadataReadOnlies","name","projectId","projectName","regionId","regionName","size","snapshotId","status","volumeId"],"inputProperties":{"description":{"type":"string","description":"A detailed description of the snapshot.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","description":"The name of the snapshot.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"snapshotId":{"type":"string","description":"The ID of this resource.\n"},"volumeId":{"type":"string","description":"The ID of the volume from which the snapshot was created.\n"}},"requiredInputs":["volumeId"],"stateInputs":{"description":"Input properties used for looking up and filtering Snapshot resources.\n","properties":{"description":{"type":"string","description":"A detailed description of the snapshot.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSnapshotMetadataReadOnly:SnapshotMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the snapshot.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"size":{"type":"number","description":"The size of the snapshot in GB.\n"},"snapshotId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The current status of the snapshot.\n"},"volumeId":{"type":"string","description":"The ID of the volume from which the snapshot was created.\n"}},"type":"object"}},"edgecenter:index/storageS3:StorageS3":{"description":"Represent s3 storage resource. https://storage.edgecenter.ru/storage/list\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst exampleS3 = new edgecenter.StorageS3(\"example_s3\", {\n    name: \"example\",\n    location: \"s-ed1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample_s3 = edgecenter.StorageS3(\"example_s3\",\n    name=\"example\",\n    location=\"s-ed1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleS3 = new Edgecenter.StorageS3(\"example_s3\", new()\n    {\n        Name = \"example\",\n        Location = \"s-ed1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewStorageS3(ctx, \"example_s3\", \u0026edgecenter.StorageS3Args{\n\t\t\tName:     pulumi.String(\"example\"),\n\t\t\tLocation: pulumi.String(\"s-ed1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.StorageS3;\nimport com.pulumi.edgecenter.StorageS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleS3 = new StorageS3(\"exampleS3\", StorageS3Args.builder()\n            .name(\"example\")\n            .location(\"s-ed1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleS3:\n    type: edgecenter:StorageS3\n    name: example_s3\n    properties:\n      name: example\n      location: s-ed1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"clientId":{"type":"number","description":"An client id of new storage resource.\n"},"generatedAccessKey":{"type":"string","description":"A s3 access key for new storage resource.\n"},"generatedEndpoint":{"type":"string","description":"A s3 entry point for new storage resource.\n"},"generatedHttpEndpoint":{"type":"string","description":"A http s3 entry point for new storage resource.\n"},"generatedS3Endpoint":{"type":"string","description":"A s3 endpoint for new storage resource.\n"},"generatedSecretKey":{"type":"string","description":"A s3 secret key for new storage resource.\n"},"location":{"type":"string","description":"A location of new storage resource. list of location allowed for you provided by https://apidocs.edgecenter.ru/storage#tag/Locations or  https://storage.edgecenter.ru/storage/list\n"},"name":{"type":"string","description":"A name of new storage resource.\n"},"storageId":{"type":"number","description":"An id of new storage resource.\n"},"storageS3Id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["clientId","generatedAccessKey","generatedEndpoint","generatedHttpEndpoint","generatedS3Endpoint","generatedSecretKey","location","name","storageId","storageS3Id"],"inputProperties":{"clientId":{"type":"number","description":"An client id of new storage resource.\n"},"generatedAccessKey":{"type":"string","description":"A s3 access key for new storage resource.\n"},"generatedEndpoint":{"type":"string","description":"A s3 entry point for new storage resource.\n"},"generatedHttpEndpoint":{"type":"string","description":"A http s3 entry point for new storage resource.\n"},"generatedS3Endpoint":{"type":"string","description":"A s3 endpoint for new storage resource.\n"},"generatedSecretKey":{"type":"string","description":"A s3 secret key for new storage resource.\n"},"location":{"type":"string","description":"A location of new storage resource. list of location allowed for you provided by https://apidocs.edgecenter.ru/storage#tag/Locations or  https://storage.edgecenter.ru/storage/list\n"},"name":{"type":"string","description":"A name of new storage resource.\n"},"storageId":{"type":"number","description":"An id of new storage resource.\n"},"storageS3Id":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["location"],"stateInputs":{"description":"Input properties used for looking up and filtering StorageS3 resources.\n","properties":{"clientId":{"type":"number","description":"An client id of new storage resource.\n"},"generatedAccessKey":{"type":"string","description":"A s3 access key for new storage resource.\n"},"generatedEndpoint":{"type":"string","description":"A s3 entry point for new storage resource.\n"},"generatedHttpEndpoint":{"type":"string","description":"A http s3 entry point for new storage resource.\n"},"generatedS3Endpoint":{"type":"string","description":"A s3 endpoint for new storage resource.\n"},"generatedSecretKey":{"type":"string","description":"A s3 secret key for new storage resource.\n"},"location":{"type":"string","description":"A location of new storage resource. list of location allowed for you provided by https://apidocs.edgecenter.ru/storage#tag/Locations or  https://storage.edgecenter.ru/storage/list\n"},"name":{"type":"string","description":"A name of new storage resource.\n"},"storageId":{"type":"number","description":"An id of new storage resource.\n"},"storageS3Id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/storageS3Bucket:StorageS3Bucket":{"description":"Represent s3 storage bucket resource. https://storage.edgecenter.ru/storage/list\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst exampleS3Bucket = new edgecenter.StorageS3Bucket(\"example_s3_bucket\", {\n    name: \"example1bucket2name\",\n    storageId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample_s3_bucket = edgecenter.StorageS3Bucket(\"example_s3_bucket\",\n    name=\"example1bucket2name\",\n    storage_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleS3Bucket = new Edgecenter.StorageS3Bucket(\"example_s3_bucket\", new()\n    {\n        Name = \"example1bucket2name\",\n        StorageId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewStorageS3Bucket(ctx, \"example_s3_bucket\", \u0026edgecenter.StorageS3BucketArgs{\n\t\t\tName:      pulumi.String(\"example1bucket2name\"),\n\t\t\tStorageId: 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.edgecenter.StorageS3Bucket;\nimport com.pulumi.edgecenter.StorageS3BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleS3Bucket = new StorageS3Bucket(\"exampleS3Bucket\", StorageS3BucketArgs.builder()\n            .name(\"example1bucket2name\")\n            .storageId(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleS3Bucket:\n    type: edgecenter:StorageS3Bucket\n    name: example_s3_bucket\n    properties:\n      name: example1bucket2name\n      storageId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cstorage_id\u003e:\u003cbucket_name\u003e format\n\n```sh\n$ pulumi import edgecenter:index/storageS3Bucket:StorageS3Bucket example_s3_bucket 123:bucket_name\n```\n\n","properties":{"name":{"type":"string","description":"A name of new storage bucket resource.\n"},"storageId":{"type":"number","description":"An id of existing storage resource.\n"},"storageS3BucketId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["name","storageId","storageS3BucketId"],"inputProperties":{"name":{"type":"string","description":"A name of new storage bucket resource.\n"},"storageId":{"type":"number","description":"An id of existing storage resource.\n"},"storageS3BucketId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["storageId"],"stateInputs":{"description":"Input properties used for looking up and filtering StorageS3Bucket resources.\n","properties":{"name":{"type":"string","description":"A name of new storage bucket resource.\n"},"storageId":{"type":"number","description":"An id of existing storage resource.\n"},"storageS3BucketId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/subnet:Subnet":{"description":"Represent subnets. Subnetwork is a range of IP addresses in a cloud network. Addresses from this range will be assigned to machines in the cloud.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst network = new edgecenter.Network(\"network\", {\n    name: \"network_example\",\n    type: \"vxlan\",\n    regionId: 1,\n    projectId: 1,\n});\nconst subnet = new edgecenter.Subnet(\"subnet\", {\n    name: \"subnet_example\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.networkId,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    enableDhcp: true,\n    hostRoutes: [\n        {\n            destination: \"10.0.3.0/24\",\n            nexthop: \"10.0.0.13\",\n        },\n        {\n            destination: \"10.0.4.0/24\",\n            nexthop: \"10.0.0.14\",\n        },\n    ],\n    allocationPools: [{\n        start: \"192.168.10.20\",\n        end: \"192.168.10.50\",\n    }],\n    gatewayIp: \"192.168.10.1\",\n    regionId: 1,\n    projectId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nnetwork = edgecenter.Network(\"network\",\n    name=\"network_example\",\n    type=\"vxlan\",\n    region_id=1,\n    project_id=1)\nsubnet = edgecenter.Subnet(\"subnet\",\n    name=\"subnet_example\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.network_id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    enable_dhcp=True,\n    host_routes=[\n        {\n            \"destination\": \"10.0.3.0/24\",\n            \"nexthop\": \"10.0.0.13\",\n        },\n        {\n            \"destination\": \"10.0.4.0/24\",\n            \"nexthop\": \"10.0.0.14\",\n        },\n    ],\n    allocation_pools=[{\n        \"start\": \"192.168.10.20\",\n        \"end\": \"192.168.10.50\",\n    }],\n    gateway_ip=\"192.168.10.1\",\n    region_id=1,\n    project_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var network = new Edgecenter.Network(\"network\", new()\n    {\n        Name = \"network_example\",\n        Type = \"vxlan\",\n        RegionId = 1,\n        ProjectId = 1,\n    });\n\n    var subnet = new Edgecenter.Subnet(\"subnet\", new()\n    {\n        Name = \"subnet_example\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.NetworkId,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n        EnableDhcp = true,\n        HostRoutes = new[]\n        {\n            new Edgecenter.Inputs.SubnetHostRouteArgs\n            {\n                Destination = \"10.0.3.0/24\",\n                Nexthop = \"10.0.0.13\",\n            },\n            new Edgecenter.Inputs.SubnetHostRouteArgs\n            {\n                Destination = \"10.0.4.0/24\",\n                Nexthop = \"10.0.0.14\",\n            },\n        },\n        AllocationPools = new[]\n        {\n            new Edgecenter.Inputs.SubnetAllocationPoolArgs\n            {\n                Start = \"192.168.10.20\",\n                End = \"192.168.10.50\",\n            },\n        },\n        GatewayIp = \"192.168.10.1\",\n        RegionId = 1,\n        ProjectId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := edgecenter.NewNetwork(ctx, \"network\", \u0026edgecenter.NetworkArgs{\n\t\t\tName:      pulumi.String(\"network_example\"),\n\t\t\tType:      pulumi.String(\"vxlan\"),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewSubnet(ctx, \"subnet\", \u0026edgecenter.SubnetArgs{\n\t\t\tName:      pulumi.String(\"subnet_example\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.NetworkId,\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tEnableDhcp: pulumi.Bool(true),\n\t\t\tHostRoutes: edgecenter.SubnetHostRouteArray{\n\t\t\t\t\u0026edgecenter.SubnetHostRouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"10.0.3.0/24\"),\n\t\t\t\t\tNexthop:     pulumi.String(\"10.0.0.13\"),\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.SubnetHostRouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"10.0.4.0/24\"),\n\t\t\t\t\tNexthop:     pulumi.String(\"10.0.0.14\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAllocationPools: edgecenter.SubnetAllocationPoolArray{\n\t\t\t\t\u0026edgecenter.SubnetAllocationPoolArgs{\n\t\t\t\t\tStart: pulumi.String(\"192.168.10.20\"),\n\t\t\t\t\tEnd:   pulumi.String(\"192.168.10.50\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tGatewayIp: pulumi.String(\"192.168.10.1\"),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tProjectId: 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.edgecenter.Network;\nimport com.pulumi.edgecenter.NetworkArgs;\nimport com.pulumi.edgecenter.Subnet;\nimport com.pulumi.edgecenter.SubnetArgs;\nimport com.pulumi.edgecenter.inputs.SubnetHostRouteArgs;\nimport com.pulumi.edgecenter.inputs.SubnetAllocationPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var network = new Network(\"network\", NetworkArgs.builder()\n            .name(\"network_example\")\n            .type(\"vxlan\")\n            .regionId(1.0)\n            .projectId(1.0)\n            .build());\n\n        var subnet = new Subnet(\"subnet\", SubnetArgs.builder()\n            .name(\"subnet_example\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.networkId())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .enableDhcp(true)\n            .hostRoutes(            \n                SubnetHostRouteArgs.builder()\n                    .destination(\"10.0.3.0/24\")\n                    .nexthop(\"10.0.0.13\")\n                    .build(),\n                SubnetHostRouteArgs.builder()\n                    .destination(\"10.0.4.0/24\")\n                    .nexthop(\"10.0.0.14\")\n                    .build())\n            .allocationPools(SubnetAllocationPoolArgs.builder()\n                .start(\"192.168.10.20\")\n                .end(\"192.168.10.50\")\n                .build())\n            .gatewayIp(\"192.168.10.1\")\n            .regionId(1.0)\n            .projectId(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network:\n    type: edgecenter:Network\n    properties:\n      name: network_example\n      type: vxlan\n      regionId: 1\n      projectId: 1\n  subnet:\n    type: edgecenter:Subnet\n    properties:\n      name: subnet_example\n      cidr: 192.168.10.0/24\n      networkId: ${network.networkId}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n      enableDhcp: true\n      hostRoutes:\n        - destination: 10.0.3.0/24\n          nexthop: 10.0.0.13\n        - destination: 10.0.4.0/24\n          nexthop: 10.0.0.14\n      allocationPools:\n        - start: 192.168.10.20\n          end: 192.168.10.50\n      gatewayIp: 192.168.10.1\n      regionId: 1\n      projectId: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003csubnet_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/subnet:Subnet subnet1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"allocationPools":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetAllocationPool:SubnetAllocationPool"},"description":"A list of allocation pools for DHCP. If omitted but DHCP or gateway settings are changed on update, pools are automatically reassigned.\n"},"cidr":{"type":"string","description":"Represents the IP address range of the subnet.\n"},"connectToNetworkRouter":{"type":"boolean","description":"True if the network's router should get a gateway in this subnet. Must be explicitly 'false' when\u003cspan pulumi-lang-nodejs=\" gatewayIp \" pulumi-lang-dotnet=\" GatewayIp \" pulumi-lang-go=\" gatewayIp \" pulumi-lang-python=\" gateway_ip \" pulumi-lang-yaml=\" gatewayIp \" pulumi-lang-java=\" gatewayIp \"\u003e gateway_ip \u003c/span\u003eis null. Default true.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"List of DNS name servers for the subnet.\n"},"enableDhcp":{"type":"boolean","description":"Enable DHCP for this subnet. If true, DHCP will be used to assign IP addresses to instances within this subnet.\n"},"gatewayIp":{"type":"string","description":"The IP address of the gateway for this subnet. The subnet will be recreated if the gateway IP is changed.\n"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetHostRoute:SubnetHostRoute"},"description":"Set of additional routes to be added to instances that are part of this subnet.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetMetadataReadOnly:SubnetMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the subnet.\n"},"networkId":{"type":"string","description":"The ID of the network to which this subnet belongs.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"subnetId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["cidr","lastUpdated","metadataReadOnlies","name","networkId","projectId","projectName","regionId","regionName","subnetId"],"inputProperties":{"allocationPools":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetAllocationPool:SubnetAllocationPool"},"description":"A list of allocation pools for DHCP. If omitted but DHCP or gateway settings are changed on update, pools are automatically reassigned.\n"},"cidr":{"type":"string","description":"Represents the IP address range of the subnet.\n"},"connectToNetworkRouter":{"type":"boolean","description":"True if the network's router should get a gateway in this subnet. Must be explicitly 'false' when\u003cspan pulumi-lang-nodejs=\" gatewayIp \" pulumi-lang-dotnet=\" GatewayIp \" pulumi-lang-go=\" gatewayIp \" pulumi-lang-python=\" gateway_ip \" pulumi-lang-yaml=\" gatewayIp \" pulumi-lang-java=\" gatewayIp \"\u003e gateway_ip \u003c/span\u003eis null. Default true.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"List of DNS name servers for the subnet.\n"},"enableDhcp":{"type":"boolean","description":"Enable DHCP for this subnet. If true, DHCP will be used to assign IP addresses to instances within this subnet.\n"},"gatewayIp":{"type":"string","description":"The IP address of the gateway for this subnet. The subnet will be recreated if the gateway IP is changed.\n"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetHostRoute:SubnetHostRoute"},"description":"Set of additional routes to be added to instances that are part of this subnet.\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the subnet.\n"},"networkId":{"type":"string","description":"The ID of the network to which this subnet belongs.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"subnetId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["cidr","networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering Subnet resources.\n","properties":{"allocationPools":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetAllocationPool:SubnetAllocationPool"},"description":"A list of allocation pools for DHCP. If omitted but DHCP or gateway settings are changed on update, pools are automatically reassigned.\n"},"cidr":{"type":"string","description":"Represents the IP address range of the subnet.\n"},"connectToNetworkRouter":{"type":"boolean","description":"True if the network's router should get a gateway in this subnet. Must be explicitly 'false' when\u003cspan pulumi-lang-nodejs=\" gatewayIp \" pulumi-lang-dotnet=\" GatewayIp \" pulumi-lang-go=\" gatewayIp \" pulumi-lang-python=\" gateway_ip \" pulumi-lang-yaml=\" gatewayIp \" pulumi-lang-java=\" gatewayIp \"\u003e gateway_ip \u003c/span\u003eis null. Default true.\n"},"dnsNameservers":{"type":"array","items":{"type":"string"},"description":"List of DNS name servers for the subnet.\n"},"enableDhcp":{"type":"boolean","description":"Enable DHCP for this subnet. If true, DHCP will be used to assign IP addresses to instances within this subnet.\n"},"gatewayIp":{"type":"string","description":"The IP address of the gateway for this subnet. The subnet will be recreated if the gateway IP is changed.\n"},"hostRoutes":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetHostRoute:SubnetHostRoute"},"description":"Set of additional routes to be added to instances that are part of this subnet.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FSubnetMetadataReadOnly:SubnetMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the subnet.\n"},"networkId":{"type":"string","description":"The ID of the network to which this subnet belongs.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"subnetId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/useractionsSubscriptionAmqp:UseractionsSubscriptionAmqp":{"description":"Resource provides access to user action logs and client subscription via AMQP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst subs = new edgecenter.UseractionsSubscriptionAmqp(\"subs\", {\n    connectionString: \"amqps://guest:guest@192.168.123.20:5671/user_action_events\",\n    receiveChildClientEvents: true,\n    routingKey: \"foo\",\n});\nconst subsForClient = new edgecenter.UseractionsSubscriptionAmqp(\"subs_for_client\", {\n    clientId: 123,\n    connectionString: \"amqps://guest:guest@192.168.123.20:5671/user_action_events\",\n    exchange: \"abce\",\n    receiveChildClientEvents: false,\n    routingKey: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nsubs = edgecenter.UseractionsSubscriptionAmqp(\"subs\",\n    connection_string=\"amqps://guest:guest@192.168.123.20:5671/user_action_events\",\n    receive_child_client_events=True,\n    routing_key=\"foo\")\nsubs_for_client = edgecenter.UseractionsSubscriptionAmqp(\"subs_for_client\",\n    client_id=123,\n    connection_string=\"amqps://guest:guest@192.168.123.20:5671/user_action_events\",\n    exchange=\"abce\",\n    receive_child_client_events=False,\n    routing_key=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subs = new Edgecenter.UseractionsSubscriptionAmqp(\"subs\", new()\n    {\n        ConnectionString = \"amqps://guest:guest@192.168.123.20:5671/user_action_events\",\n        ReceiveChildClientEvents = true,\n        RoutingKey = \"foo\",\n    });\n\n    var subsForClient = new Edgecenter.UseractionsSubscriptionAmqp(\"subs_for_client\", new()\n    {\n        ClientId = 123,\n        ConnectionString = \"amqps://guest:guest@192.168.123.20:5671/user_action_events\",\n        Exchange = \"abce\",\n        ReceiveChildClientEvents = false,\n        RoutingKey = \"foo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewUseractionsSubscriptionAmqp(ctx, \"subs\", \u0026edgecenter.UseractionsSubscriptionAmqpArgs{\n\t\t\tConnectionString:         pulumi.String(\"amqps://guest:guest@192.168.123.20:5671/user_action_events\"),\n\t\t\tReceiveChildClientEvents: pulumi.Bool(true),\n\t\t\tRoutingKey:               pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewUseractionsSubscriptionAmqp(ctx, \"subs_for_client\", \u0026edgecenter.UseractionsSubscriptionAmqpArgs{\n\t\t\tClientId:                 pulumi.Float64(123),\n\t\t\tConnectionString:         pulumi.String(\"amqps://guest:guest@192.168.123.20:5671/user_action_events\"),\n\t\t\tExchange:                 pulumi.String(\"abce\"),\n\t\t\tReceiveChildClientEvents: pulumi.Bool(false),\n\t\t\tRoutingKey:               pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.UseractionsSubscriptionAmqp;\nimport com.pulumi.edgecenter.UseractionsSubscriptionAmqpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var subs = new UseractionsSubscriptionAmqp(\"subs\", UseractionsSubscriptionAmqpArgs.builder()\n            .connectionString(\"amqps://guest:guest@192.168.123.20:5671/user_action_events\")\n            .receiveChildClientEvents(true)\n            .routingKey(\"foo\")\n            .build());\n\n        var subsForClient = new UseractionsSubscriptionAmqp(\"subsForClient\", UseractionsSubscriptionAmqpArgs.builder()\n            .clientId(123.0)\n            .connectionString(\"amqps://guest:guest@192.168.123.20:5671/user_action_events\")\n            .exchange(\"abce\")\n            .receiveChildClientEvents(false)\n            .routingKey(\"foo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subs:\n    type: edgecenter:UseractionsSubscriptionAmqp\n    properties:\n      connectionString: amqps://guest:guest@192.168.123.20:5671/user_action_events\n      receiveChildClientEvents: true\n      routingKey: foo\n  subsForClient:\n    type: edgecenter:UseractionsSubscriptionAmqp\n    name: subs_for_client\n    properties:\n      clientId: 123\n      connectionString: amqps://guest:guest@192.168.123.20:5671/user_action_events\n      exchange: abce\n      receiveChildClientEvents: false\n      routingKey: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport own subscription (pass 0 when no client_id is needed)\n\n```sh\n$ pulumi import edgecenter:index/useractionsSubscriptionAmqp:UseractionsSubscriptionAmqp subs 0\n```\n\nimport subscription for a specific client using \u003cclient_id\u003e\n\n```sh\n$ pulumi import edgecenter:index/useractionsSubscriptionAmqp:UseractionsSubscriptionAmqp subs_for_client 124\n```\n\n","properties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"connectionString":{"type":"string","description":"A connection string of the following structure \"scheme://username:password@host:port/virtual_host\".\n"},"exchange":{"type":"string","description":"Exchange name.\n"},"receiveChildClientEvents":{"type":"boolean","description":"Set to true if you would like to receive user action logs of all clients with reseller*id matching the current client*id. Defaults to false.\n"},"routingKey":{"type":"string","description":"Routing key.\n"},"useractionsSubscriptionAmqpId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["connectionString","useractionsSubscriptionAmqpId"],"inputProperties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"connectionString":{"type":"string","description":"A connection string of the following structure \"scheme://username:password@host:port/virtual_host\".\n"},"exchange":{"type":"string","description":"Exchange name.\n"},"receiveChildClientEvents":{"type":"boolean","description":"Set to true if you would like to receive user action logs of all clients with reseller*id matching the current client*id. Defaults to false.\n"},"routingKey":{"type":"string","description":"Routing key.\n"},"useractionsSubscriptionAmqpId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["connectionString"],"stateInputs":{"description":"Input properties used for looking up and filtering UseractionsSubscriptionAmqp resources.\n","properties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"connectionString":{"type":"string","description":"A connection string of the following structure \"scheme://username:password@host:port/virtual_host\".\n"},"exchange":{"type":"string","description":"Exchange name.\n"},"receiveChildClientEvents":{"type":"boolean","description":"Set to true if you would like to receive user action logs of all clients with reseller*id matching the current client*id. Defaults to false.\n"},"routingKey":{"type":"string","description":"Routing key.\n"},"useractionsSubscriptionAmqpId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/useractionsSubscriptionLog:UseractionsSubscriptionLog":{"description":"Resource provides access to user action logs and client subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst subs = new edgecenter.UseractionsSubscriptionLog(\"subs\", {\n    authHeaderName: \"Authorization\",\n    authHeaderValue: \"Bearer eyJ0eXAi1.............Oi7Ix14\",\n    url: \"https://your-url.com/receive-user-action-messages\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nsubs = edgecenter.UseractionsSubscriptionLog(\"subs\",\n    auth_header_name=\"Authorization\",\n    auth_header_value=\"Bearer eyJ0eXAi1.............Oi7Ix14\",\n    url=\"https://your-url.com/receive-user-action-messages\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var subs = new Edgecenter.UseractionsSubscriptionLog(\"subs\", new()\n    {\n        AuthHeaderName = \"Authorization\",\n        AuthHeaderValue = \"Bearer eyJ0eXAi1.............Oi7Ix14\",\n        Url = \"https://your-url.com/receive-user-action-messages\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewUseractionsSubscriptionLog(ctx, \"subs\", \u0026edgecenter.UseractionsSubscriptionLogArgs{\n\t\t\tAuthHeaderName:  pulumi.String(\"Authorization\"),\n\t\t\tAuthHeaderValue: pulumi.String(\"Bearer eyJ0eXAi1.............Oi7Ix14\"),\n\t\t\tUrl:             pulumi.String(\"https://your-url.com/receive-user-action-messages\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.UseractionsSubscriptionLog;\nimport com.pulumi.edgecenter.UseractionsSubscriptionLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var subs = new UseractionsSubscriptionLog(\"subs\", UseractionsSubscriptionLogArgs.builder()\n            .authHeaderName(\"Authorization\")\n            .authHeaderValue(\"Bearer eyJ0eXAi1.............Oi7Ix14\")\n            .url(\"https://your-url.com/receive-user-action-messages\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  subs:\n    type: edgecenter:UseractionsSubscriptionLog\n    properties:\n      authHeaderName: Authorization\n      authHeaderValue: Bearer eyJ0eXAi1.............Oi7Ix14\n      url: https://your-url.com/receive-user-action-messages\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe import ID is not used for lookup - the subscription is identified by the current client token.\n\nAny non-empty value is accepted; the real subscription ID will be set by the provider.\n\n```sh\n$ pulumi import edgecenter:index/useractionsSubscriptionLog:UseractionsSubscriptionLog subs 0\n```\n\n","properties":{"authHeaderName":{"type":"string","description":"The name of the authorization header.\n"},"authHeaderValue":{"type":"string","description":"The value of the authorization header\n"},"url":{"type":"string","description":"The URL to send user action logs for the specified client.\n"},"useractionsSubscriptionLogId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["authHeaderName","authHeaderValue","url","useractionsSubscriptionLogId"],"inputProperties":{"authHeaderName":{"type":"string","description":"The name of the authorization header.\n"},"authHeaderValue":{"type":"string","description":"The value of the authorization header\n"},"url":{"type":"string","description":"The URL to send user action logs for the specified client.\n"},"useractionsSubscriptionLogId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["authHeaderName","authHeaderValue","url"],"stateInputs":{"description":"Input properties used for looking up and filtering UseractionsSubscriptionLog resources.\n","properties":{"authHeaderName":{"type":"string","description":"The name of the authorization header.\n"},"authHeaderValue":{"type":"string","description":"The value of the authorization header\n"},"url":{"type":"string","description":"The URL to send user action logs for the specified client.\n"},"useractionsSubscriptionLogId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"edgecenter:index/volume:Volume":{"description":"A volume is a detachable block storage device akin to a USB hard drive or SSD, but located remotely in the cloud.\nVolumes can be attached to a virtual machine and manipulated like a physical hard drive.\n\nThe disc type \u003cspan pulumi-lang-nodejs=\"\"infraSsd\"\" pulumi-lang-dotnet=\"\"InfraSsd\"\" pulumi-lang-go=\"\"infraSsd\"\" pulumi-lang-python=\"\"infra_ssd\"\" pulumi-lang-yaml=\"\"infraSsd\"\" pulumi-lang-java=\"\"infraSsd\"\"\u003e\"infra_ssd\"\u003c/span\u003e is an internal type of EdgeCenter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst volume = new edgecenter.Volume(\"volume\", {\n    name: \"volume_example\",\n    typeName: \"standard\",\n    size: 1,\n    regionId: 1,\n    projectId: 1,\n    metadataMap: {\n        tag1: \"tag1_value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nvolume = edgecenter.Volume(\"volume\",\n    name=\"volume_example\",\n    type_name=\"standard\",\n    size=1,\n    region_id=1,\n    project_id=1,\n    metadata_map={\n        \"tag1\": \"tag1_value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var volume = new Edgecenter.Volume(\"volume\", new()\n    {\n        Name = \"volume_example\",\n        TypeName = \"standard\",\n        Size = 1,\n        RegionId = 1,\n        ProjectId = 1,\n        MetadataMap = \n        {\n            { \"tag1\", \"tag1_value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.NewVolume(ctx, \"volume\", \u0026edgecenter.VolumeArgs{\n\t\t\tName:      pulumi.String(\"volume_example\"),\n\t\t\tTypeName:  pulumi.String(\"standard\"),\n\t\t\tSize:      pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tMetadataMap: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"tag1_value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Volume;\nimport com.pulumi.edgecenter.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var volume = new Volume(\"volume\", VolumeArgs.builder()\n            .name(\"volume_example\")\n            .typeName(\"standard\")\n            .size(1.0)\n            .regionId(1.0)\n            .projectId(1.0)\n            .metadataMap(Map.of(\"tag1\", \"tag1_value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  volume:\n    type: edgecenter:Volume\n    properties:\n      name: volume_example\n      typeName: standard\n      size: 1\n      regionId: 1\n      projectId: 1\n      metadataMap:\n        tag1: tag1_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimport using \u003cproject_id\u003e:\u003cregion_id\u003e:\u003cvolume_id\u003e format\n\n```sh\n$ pulumi import edgecenter:index/volume:Volume volume1 1:6:447d2959-8ae0-4ca0-8d47-9f050a3637d7\n```\n\n","properties":{"imageId":{"type":"string","description":"(ForceNew) The ID of the image to create the volume from. This field is mandatory if creating a volume from an image.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FVolumeMetadataReadOnly:VolumeMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the volume.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"size":{"type":"number","description":"The size of the volume, specified in gigabytes (GB). Optional when creating from an image (will use the image's size). Mandatory if not creating from a snapshot or image. Must be greater than the current size when updating.\n"},"snapshotId":{"type":"string","description":"(ForceNew) The ID of the snapshot to create the volume from. This field is mandatory if creating a volume from a snapshot.\n"},"typeName":{"type":"string","description":"The type of volume to create. Valid values are 'ssd*hiiops', 'standard', 'cold', 'infra*ssd' and 'ultra'. Defaults to 'standard' if not specified.\n"},"volumeId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["lastUpdated","metadataReadOnlies","name","size","typeName","volumeId"],"inputProperties":{"imageId":{"type":"string","description":"(ForceNew) The ID of the image to create the volume from. This field is mandatory if creating a volume from an image.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"name":{"type":"string","description":"The name of the volume.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"size":{"type":"number","description":"The size of the volume, specified in gigabytes (GB). Optional when creating from an image (will use the image's size). Mandatory if not creating from a snapshot or image. Must be greater than the current size when updating.\n"},"snapshotId":{"type":"string","description":"(ForceNew) The ID of the snapshot to create the volume from. This field is mandatory if creating a volume from a snapshot.\n"},"typeName":{"type":"string","description":"The type of volume to create. Valid values are 'ssd*hiiops', 'standard', 'cold', 'infra*ssd' and 'ultra'. Defaults to 'standard' if not specified.\n"},"volumeId":{"type":"string","description":"The ID of this resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Volume resources.\n","properties":{"imageId":{"type":"string","description":"(ForceNew) The ID of the image to create the volume from. This field is mandatory if creating a volume from an image.\n"},"lastUpdated":{"type":"string","description":"The timestamp of the last update (use with update context).\n"},"metadataMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n"},"metadataReadOnlies":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FVolumeMetadataReadOnly:VolumeMetadataReadOnly"},"description":"A list of read-only metadata items, e.g. tags.\n"},"name":{"type":"string","description":"The name of the volume.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"size":{"type":"number","description":"The size of the volume, specified in gigabytes (GB). Optional when creating from an image (will use the image's size). Mandatory if not creating from a snapshot or image. Must be greater than the current size when updating.\n"},"snapshotId":{"type":"string","description":"(ForceNew) The ID of the snapshot to create the volume from. This field is mandatory if creating a volume from a snapshot.\n"},"typeName":{"type":"string","description":"The type of volume to create. Valid values are 'ssd*hiiops', 'standard', 'cold', 'infra*ssd' and 'ultra'. Defaults to 'standard' if not specified.\n"},"volumeId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}}},"functions":{"edgecenter:index/getAvailabilityZone:getAvailabilityZone":{"description":"Represent Availability Zones\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst regionAz = rg.then(rg =\u003e edgecenter.getAvailabilityZone({\n    regionId: rg.id,\n}));\nexport const availabilityZones = regionAz.then(regionAz =\u003e regionAz.availabilityZones);\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nregion_az = edgecenter.get_availability_zone(region_id=rg.id)\npulumi.export(\"availabilityZones\", region_az.availability_zones)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var regionAz = Edgecenter.GetAvailabilityZone.Invoke(new()\n    {\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"availabilityZones\"] = regionAz.Apply(getAvailabilityZoneResult =\u003e getAvailabilityZoneResult.AvailabilityZones),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tregionAz, err := edgecenter.GetAvailabilityZone(ctx, \u0026edgecenter.GetAvailabilityZoneArgs{\n\t\t\tRegionId: pulumi.Float64Ref(rg.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"availabilityZones\", regionAz.AvailabilityZones)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetAvailabilityZoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var regionAz = EdgecenterFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()\n            .regionId(rg.id())\n            .build());\n\n        ctx.export(\"availabilityZones\", regionAz.availabilityZones());\n    }\n}\n```\n```yaml\nvariables:\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  regionAz:\n    fn::invoke:\n      function: edgecenter:getAvailabilityZone\n      arguments:\n        regionId: ${rg.id}\noutputs:\n  availabilityZones: ${regionAz.availabilityZones}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAvailabilityZone.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"regionId":{"type":"number","description":"The ID of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAvailabilityZone.\n","properties":{"availabilityZones":{"description":"A list of availability zones in the region.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The ID of this resource.\n","type":"string"},"regionId":{"description":"The ID of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"}},"required":["availabilityZones","id"],"type":"object"}},"edgecenter:index/getCdnShieldingLocation:getCdnShieldingLocation":{"description":"Represent shielding locations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst shieldDc = edgecenter.getCdnShieldingLocation({\n    datacenter: \"dt\",\n});\nconst shielding = new edgecenter.CdnShielding(\"shielding\", {\n    resourceId: 1,\n    shieldingPop: shieldDc.then(shieldDc =\u003e shieldDc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nshield_dc = edgecenter.get_cdn_shielding_location(datacenter=\"dt\")\nshielding = edgecenter.CdnShielding(\"shielding\",\n    resource_id=1,\n    shielding_pop=shield_dc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var shieldDc = Edgecenter.GetCdnShieldingLocation.Invoke(new()\n    {\n        Datacenter = \"dt\",\n    });\n\n    var shielding = new Edgecenter.CdnShielding(\"shielding\", new()\n    {\n        ResourceId = 1,\n        ShieldingPop = shieldDc.Apply(getCdnShieldingLocationResult =\u003e getCdnShieldingLocationResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tshieldDc, err := edgecenter.GetCdnShieldingLocation(ctx, \u0026edgecenter.GetCdnShieldingLocationArgs{\n\t\t\tDatacenter: \"dt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = edgecenter.NewCdnShielding(ctx, \"shielding\", \u0026edgecenter.CdnShieldingArgs{\n\t\t\tResourceId:   pulumi.Float64(1),\n\t\t\tShieldingPop: pulumi.String(shieldDc.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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetCdnShieldingLocationArgs;\nimport com.pulumi.edgecenter.CdnShielding;\nimport com.pulumi.edgecenter.CdnShieldingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var shieldDc = EdgecenterFunctions.getCdnShieldingLocation(GetCdnShieldingLocationArgs.builder()\n            .datacenter(\"dt\")\n            .build());\n\n        var shielding = new CdnShielding(\"shielding\", CdnShieldingArgs.builder()\n            .resourceId(1.0)\n            .shieldingPop(shieldDc.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  shielding:\n    type: edgecenter:CdnShielding\n    properties:\n      resourceId: 1\n      shieldingPop: ${shieldDc.id}\nvariables:\n  shieldDc:\n    fn::invoke:\n      function: edgecenter:getCdnShieldingLocation\n      arguments:\n        datacenter: dt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCdnShieldingLocation.\n","properties":{"datacenter":{"type":"string","description":"Datacenter of shielding location.\n"},"id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["datacenter"]},"outputs":{"description":"A collection of values returned by getCdnShieldingLocation.\n","properties":{"datacenter":{"description":"Datacenter of shielding location.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"}},"required":["datacenter","id"],"type":"object"}},"edgecenter:index/getFlavor:getFlavor":{"description":"Represent flavors\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nexport = async () =\u003e {\n    const rg = await edgecenter.getRegion({\n        name: \"ED-10 Preprod\",\n    });\n    const pr = await edgecenter.getProject({\n        name: \"test\",\n    });\n    const allFlavors = await edgecenter.getFlavor({\n        regionId: rg.id,\n        projectId: pr.id,\n    });\n    const fullDataFlavors = await edgecenter.getFlavor({\n        regionId: rg.id,\n        projectId: pr.id,\n        includeDisabled: true,\n        excludeWindows: false,\n        includePrices: true,\n    });\n    const bmFlavors = await edgecenter.getFlavor({\n        regionId: rg.id,\n        projectId: pr.id,\n        type: \"baremetal\",\n    });\n    return {\n        allFlavor: allFlavors,\n        fullDataFlavors: fullDataFlavors,\n        bmFlavors: bmFlavors,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\npr = edgecenter.get_project(name=\"test\")\nall_flavors = edgecenter.get_flavor(region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"allFlavor\", all_flavors)\nfull_data_flavors = edgecenter.get_flavor(region_id=rg.id,\n    project_id=pr.id,\n    include_disabled=True,\n    exclude_windows=False,\n    include_prices=True)\npulumi.export(\"fullDataFlavors\", full_data_flavors)\nbm_flavors = edgecenter.get_flavor(region_id=rg.id,\n    project_id=pr.id,\n    type=\"baremetal\")\npulumi.export(\"bmFlavors\", bm_flavors)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var allFlavors = Edgecenter.GetFlavor.Invoke(new()\n    {\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    var fullDataFlavors = Edgecenter.GetFlavor.Invoke(new()\n    {\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n        IncludeDisabled = true,\n        ExcludeWindows = false,\n        IncludePrices = true,\n    });\n\n    var bmFlavors = Edgecenter.GetFlavor.Invoke(new()\n    {\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n        Type = \"baremetal\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"allFlavor\"] = allFlavors,\n        [\"fullDataFlavors\"] = fullDataFlavors,\n        [\"bmFlavors\"] = bmFlavors,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tallFlavors, err := edgecenter.GetFlavor(ctx, \u0026edgecenter.GetFlavorArgs{\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"allFlavor\", allFlavors)\n\t\tfullDataFlavors, err := edgecenter.GetFlavor(ctx, \u0026edgecenter.GetFlavorArgs{\n\t\t\tRegionId:        pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId:       pulumi.Float64Ref(pr.Id),\n\t\t\tIncludeDisabled: pulumi.BoolRef(true),\n\t\t\tExcludeWindows:  pulumi.BoolRef(false),\n\t\t\tIncludePrices:   pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"fullDataFlavors\", fullDataFlavors)\n\t\tbmFlavors, err := edgecenter.GetFlavor(ctx, \u0026edgecenter.GetFlavorArgs{\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t\tType:      pulumi.StringRef(\"baremetal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"bmFlavors\", bmFlavors)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetFlavorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var allFlavors = EdgecenterFunctions.getFlavor(GetFlavorArgs.builder()\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"allFlavor\", allFlavors);\n        final var fullDataFlavors = EdgecenterFunctions.getFlavor(GetFlavorArgs.builder()\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .includeDisabled(true)\n            .excludeWindows(false)\n            .includePrices(true)\n            .build());\n\n        ctx.export(\"fullDataFlavors\", fullDataFlavors);\n        final var bmFlavors = EdgecenterFunctions.getFlavor(GetFlavorArgs.builder()\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .type(\"baremetal\")\n            .build());\n\n        ctx.export(\"bmFlavors\", bmFlavors);\n    }\n}\n```\n```yaml\nvariables:\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  allFlavors:\n    fn::invoke:\n      function: edgecenter:getFlavor\n      arguments:\n        regionId: ${rg.id}\n        projectId: ${pr.id}\n  fullDataFlavors:\n    fn::invoke:\n      function: edgecenter:getFlavor\n      arguments:\n        regionId: ${rg.id}\n        projectId: ${pr.id}\n        includeDisabled: true\n        excludeWindows: false\n        includePrices: true\n  bmFlavors:\n    fn::invoke:\n      function: edgecenter:getFlavor\n      arguments:\n        regionId: ${rg.id}\n        projectId: ${pr.id}\n        type: baremetal\noutputs:\n  allFlavor: ${allFlavors}\n  fullDataFlavors: ${fullDataFlavors}\n  bmFlavors: ${bmFlavors}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFlavor.\n","properties":{"excludeWindows":{"type":"boolean","description":"Set to true to exclude flavors dedicated for Windows images.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"includeDisabled":{"type":"boolean","description":"Set to true to include disabled flavors.\n"},"includePrices":{"type":"boolean","description":"Set to true if the response should include flavor prices. Default is true.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"type":{"type":"string","description":"Type of flavors to return: instance, baremetal, or load_balancer. If not specified, all flavors are returned.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFlavor.\n","properties":{"excludeWindows":{"description":"Set to true to exclude flavors dedicated for Windows images.\n","type":"boolean"},"flavors":{"description":"A list of available flavors.\n","items":{"$ref":"#/types/edgecenter:index%2FgetFlavorFlavor:getFlavorFlavor"},"type":"array"},"id":{"description":"The ID of this resource.\n","type":"string"},"includeDisabled":{"description":"Set to true to include disabled flavors.\n","type":"boolean"},"includePrices":{"description":"Set to true if the response should include flavor prices. Default is true.\n","type":"boolean"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"type":{"description":"Type of flavors to return: instance, baremetal, or load_balancer. If not specified, all flavors are returned.\n","type":"string"}},"required":["flavors","id"],"type":"object"}},"edgecenter:index/getFloatingip:getFloatingip":{"description":"A floating IP is a static IP address that can be associated with one of your instances or loadbalancers, \nallowing it to have a static public IP address. The floating IP can be re-associated to any other instance in the same datacenter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst ip = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getFloatingip({\n    floatingIpAddress: \"10.100.179.172\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = ip;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nip = edgecenter.get_floatingip(floating_ip_address=\"10.100.179.172\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var ip = Edgecenter.GetFloatingip.Invoke(new()\n    {\n        FloatingIpAddress = \"10.100.179.172\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = ip,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip, err := edgecenter.LookupFloatingip(ctx, \u0026edgecenter.LookupFloatingipArgs{\n\t\t\tFloatingIpAddress: pulumi.StringRef(\"10.100.179.172\"),\n\t\t\tRegionId:          pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId:         pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", ip)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetFloatingipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var ip = EdgecenterFunctions.getFloatingip(GetFloatingipArgs.builder()\n            .floatingIpAddress(\"10.100.179.172\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", ip);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  ip:\n    fn::invoke:\n      function: edgecenter:getFloatingip\n      arguments:\n        floatingIpAddress: 10.100.179.172\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${ip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFloatingip.\n","properties":{"floatingIpAddress":{"type":"string","description":"The floating IP address assigned to the resource. It must be a valid IP address.\n"},"id":{"type":"string","description":"floating IP uuid\n"},"portId":{"type":"string","description":"The ID (uuid) of the network port that the floating IP is associated with.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFloatingip.\n","properties":{"fixedIpAddress":{"description":"The fixed (reserved) IP address that is associated with the floating IP.\n","type":"string"},"floatingIpAddress":{"description":"The floating IP address assigned to the resource. It must be a valid IP address.\n","type":"string"},"id":{"description":"floating IP uuid\n","type":"string"},"instanceIdAttachedTo":{"description":"The ID (uuid) of the instance, that the floating IP is associated with.\n","type":"string"},"loadBalancersIdAttachedTo":{"description":"The ID (uuid) of the loadbalancer, that the floating IP associated with\n","type":"string"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetFloatingipMetadataReadOnly:getFloatingipMetadataReadOnly"},"type":"array"},"portId":{"description":"The ID (uuid) of the network port that the floating IP is associated with.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"routerId":{"description":"The ID (uuid) of the router that the floating IP is associated with.\n","type":"string"},"status":{"description":"The current status of the floating IP resource. Can be 'DOWN' or 'ACTIVE'.\n","type":"string"}},"required":["fixedIpAddress","instanceIdAttachedTo","loadBalancersIdAttachedTo","metadataReadOnlies","routerId","status"],"type":"object"}},"edgecenter:index/getImage:getImage":{"description":"A cloud image is a pre-configured virtual machine template that you can use to create new instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst ubuntu = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getImage({\n    name: \"ubuntu-20.04\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = ubuntu;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nubuntu = edgecenter.get_image(name=\"ubuntu-20.04\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", ubuntu)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var ubuntu = Edgecenter.GetImage.Invoke(new()\n    {\n        Name = \"ubuntu-20.04\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = ubuntu,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tubuntu, err := edgecenter.GetImage(ctx, \u0026edgecenter.GetImageArgs{\n\t\t\tName:      pulumi.StringRef(\"ubuntu-20.04\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", ubuntu)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var ubuntu = EdgecenterFunctions.getImage(GetImageArgs.builder()\n            .name(\"ubuntu-20.04\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", ubuntu);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  ubuntu:\n    fn::invoke:\n      function: edgecenter:getImage\n      arguments:\n        name: ubuntu-20.04\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${ubuntu}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImage.\n","properties":{"id":{"type":"string","description":"The ID of the image. Either 'id' or 'name' must be specified.\n"},"isBaremetal":{"type":"boolean","description":"Set to true if need to get the baremetal image.\n"},"metadataK":{"type":"string","description":"Filtration query opts (only key).\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}.\n"},"name":{"type":"string","description":"The name of the image. Use 'os-version', for example 'ubuntu-20.04'. Use only with uniq name. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImage.\n","properties":{"description":{"description":"A detailed description of the image.\n","type":"string"},"id":{"description":"The ID of the image. Either 'id' or 'name' must be specified.\n","type":"string"},"isBaremetal":{"description":"Set to true if need to get the baremetal image.\n","type":"boolean"},"metadataK":{"description":"Filtration query opts (only key).\n","type":"string"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}.\n","type":"object"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetImageMetadataReadOnly:getImageMetadataReadOnly"},"type":"array"},"minDisk":{"description":"Minimum disk space (in GB) required to launch an instance using this image.\n","type":"number"},"minRam":{"description":"Minimum VM RAM (in MB) required to launch an instance using this image.\n","type":"number"},"name":{"description":"The name of the image. Use 'os-version', for example 'ubuntu-20.04'. Use only with uniq name. Either 'id' or 'name' must be specified.\n","type":"string"},"osDistro":{"description":"The distribution of the OS present in the image, e.g. Debian, CentOS, Ubuntu etc.\n","type":"string"},"osVersion":{"description":"The version of the OS present in the image. e.g. 19.04 (for Ubuntu) or 9.4 for Debian.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"}},"required":["description","id","metadataReadOnlies","minDisk","minRam","name","osDistro","osVersion"],"type":"object"}},"edgecenter:index/getInstance:getInstance":{"description":"**WARNING:** Data source \u003cspan pulumi-lang-nodejs=\"\"edgecenter.Instance\"\" pulumi-lang-dotnet=\"\"edgecenter.Instance\"\" pulumi-lang-go=\"\"Instance\"\" pulumi-lang-python=\"\"Instance\"\" pulumi-lang-yaml=\"\"edgecenter.Instance\"\" pulumi-lang-java=\"\"edgecenter.Instance\"\"\u003e\"edgecenter.Instance\"\u003c/span\u003e is deprecated and unavailable.\n Use \"edgecenter_instanceV2\" data-source instead.\n\n A cloud instance is a virtual machine in a cloud environment. Could be used with baremetal also.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst vm = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getInstance({\n    name: \"test-vm\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = vm;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nvm = edgecenter.get_instance(name=\"test-vm\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", vm)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var vm = Edgecenter.GetInstance.Invoke(new()\n    {\n        Name = \"test-vm\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = vm,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvm, err := edgecenter.LookupInstance(ctx, \u0026edgecenter.LookupInstanceArgs{\n\t\t\tName:      \"test-vm\",\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", vm)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var vm = EdgecenterFunctions.getInstance(GetInstanceArgs.builder()\n            .name(\"test-vm\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", vm);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  vm:\n    fn::invoke:\n      function: edgecenter:getInstance\n      arguments:\n        name: test-vm\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${vm}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInstance.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the instance.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getInstance.\n","properties":{"addresses":{"description":"A list of network addresses associated with the instance, for example \u003cspan pulumi-lang-nodejs=\"\"pubNet\"\" pulumi-lang-dotnet=\"\"PubNet\"\" pulumi-lang-go=\"\"pubNet\"\" pulumi-lang-python=\"\"pub_net\"\" pulumi-lang-yaml=\"\"pubNet\"\" pulumi-lang-java=\"\"pubNet\"\"\u003e\"pub_net\"\u003c/span\u003e: [...].\n","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceAddress:getInstanceAddress"},"type":"array"},"flavor":{"additionalProperties":{"type":"string"},"description":"A map defining the flavor of the instance, for example, {\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: \"g1-standard-2-4\", \"ram\": 4096, ...}.\n","type":"object"},"flavorId":{"description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"interfaces":{"description":"A list defining the network interfaces to be attached to the instance.\n","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceInterface:getInstanceInterface"},"type":"array"},"metadatas":{"items":{"$ref":"#/types/edgecenter:index%2FgetInstanceMetadata:getInstanceMetadata"},"type":"array"},"name":{"description":"The name of the instance.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"securityGroups":{"description":"A list of firewall configurations applied to the instance, defined by their id and name.\n","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceSecurityGroup:getInstanceSecurityGroup"},"type":"array"},"status":{"description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n","type":"string"},"vmState":{"description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n","type":"string"},"volumes":{"description":"A set defining the volumes to be attached to the instance.\n","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceVolume:getInstanceVolume"},"type":"array"}},"required":["addresses","flavor","flavorId","id","interfaces","metadatas","name","securityGroups","status","vmState","volumes"],"type":"object"}},"edgecenter:index/getInstancePortSecurity:getInstancePortSecurity":{"description":"Represent\u003cspan pulumi-lang-nodejs=\" instancePortSecurity \" pulumi-lang-dotnet=\" InstancePortSecurity \" pulumi-lang-go=\" instancePortSecurity \" pulumi-lang-python=\" instance_port_security \" pulumi-lang-yaml=\" instancePortSecurity \" pulumi-lang-java=\" instancePortSecurity \"\u003e instance_port_security \u003c/span\u003edata_source.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst portSecurity = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getInstancePortSecurity({\n    regionId: rg.id,\n    projectId: pr.id,\n    portId: \"073947f8-8589-4104-bdff-2cedbe56239f\",\n    instanceId: \"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\",\n}));\nexport const view = portSecurity;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nport_security = edgecenter.get_instance_port_security(region_id=rg.id,\n    project_id=pr.id,\n    port_id=\"073947f8-8589-4104-bdff-2cedbe56239f\",\n    instance_id=\"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\")\npulumi.export(\"view\", port_security)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var portSecurity = Edgecenter.GetInstancePortSecurity.Invoke(new()\n    {\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n        PortId = \"073947f8-8589-4104-bdff-2cedbe56239f\",\n        InstanceId = \"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = portSecurity,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tportSecurity, err := edgecenter.LookupInstancePortSecurity(ctx, \u0026edgecenter.LookupInstancePortSecurityArgs{\n\t\t\tRegionId:   pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId:  pulumi.Float64Ref(pr.Id),\n\t\t\tPortId:     \"073947f8-8589-4104-bdff-2cedbe56239f\",\n\t\t\tInstanceId: \"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", portSecurity)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetInstancePortSecurityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var portSecurity = EdgecenterFunctions.getInstancePortSecurity(GetInstancePortSecurityArgs.builder()\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .portId(\"073947f8-8589-4104-bdff-2cedbe56239f\")\n            .instanceId(\"4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\")\n            .build());\n\n        ctx.export(\"view\", portSecurity);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  portSecurity:\n    fn::invoke:\n      function: edgecenter:getInstancePortSecurity\n      arguments:\n        regionId: ${rg.id}\n        projectId: ${pr.id}\n        portId: 073947f8-8589-4104-bdff-2cedbe56239f\n        instanceId: 4f81e8f8-d7b8-45a4-93fd-609ad2n670f0\noutputs:\n  view: ${portSecurity}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInstancePortSecurity.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"instanceId":{"type":"string","description":"ID of the instance to which the port is connected.\n"},"portId":{"type":"string","description":"ID of the port.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["instanceId","portId"]},"outputs":{"description":"A collection of values returned by getInstancePortSecurity.\n","properties":{"allSecurityGroupIds":{"description":"Set of all security groups IDs on this port.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The ID of this resource.\n","type":"string"},"instanceId":{"description":"ID of the instance to which the port is connected.\n","type":"string"},"portId":{"description":"ID of the port.\n","type":"string"},"portSecurityDisabled":{"description":"Is the\u003cspan pulumi-lang-nodejs=\" portSecurity \" pulumi-lang-dotnet=\" PortSecurity \" pulumi-lang-go=\" portSecurity \" pulumi-lang-python=\" port_security \" pulumi-lang-yaml=\" portSecurity \" pulumi-lang-java=\" portSecurity \"\u003e port_security \u003c/span\u003efeature disabled.\n","type":"boolean"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"}},"required":["allSecurityGroupIds","id","instanceId","portId","portSecurityDisabled"],"type":"object"}},"edgecenter:index/getInstanceV2:getInstanceV2":{"description":"A cloud instance is a virtual machine in a cloud environment. Could be used with baremetal too.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst vm = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getInstanceV2({\n    name: \"test-vm\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = vm;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nvm = edgecenter.get_instance_v2(name=\"test-vm\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", vm)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var vm = Edgecenter.GetInstanceV2.Invoke(new()\n    {\n        Name = \"test-vm\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = vm,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvm, err := edgecenter.LookupInstanceV2(ctx, \u0026edgecenter.LookupInstanceV2Args{\n\t\t\tName:      pulumi.StringRef(\"test-vm\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", vm)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetInstanceV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var vm = EdgecenterFunctions.getInstanceV2(GetInstanceV2Args.builder()\n            .name(\"test-vm\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", vm);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  vm:\n    fn::invoke:\n      function: edgecenter:getInstanceV2\n      arguments:\n        name: test-vm\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${vm}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInstanceV2.\n","properties":{"id":{"type":"string","description":"The ID of the instance. Either 'id' or 'name' must be specified.\n"},"name":{"type":"string","description":"The name of the instance. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInstanceV2.\n","properties":{"availabilityZone":{"description":"The availability zone where the instance is located.\n","type":"string"},"bootVolumes":{"description":"A set defining the volumes to be attached to the instance.\n","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceV2BootVolume:getInstanceV2BootVolume"},"type":"array"},"dataVolumes":{"description":"A set defining the volumes to be attached to the instance.\n","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceV2DataVolume:getInstanceV2DataVolume"},"type":"array"},"flavor":{"additionalProperties":{"type":"string"},"description":"A map defining the flavor of the instance, for example, {\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: \"g1-standard-2-4\", \"ram\": 4096, ...}.\n","type":"object"},"flavorId":{"description":"The ID of the flavor to be used for the instance, determining its compute and memory, for example 'g1-standard-2-4'.\n","type":"string"},"id":{"description":"The ID of the instance. Either 'id' or 'name' must be specified.\n","type":"string"},"interfaces":{"description":"A list defining the network interfaces to be attached to the instance.\n","items":{"$ref":"#/types/edgecenter:index%2FgetInstanceV2Interface:getInstanceV2Interface"},"type":"array"},"metadata":{"additionalProperties":{"type":"string"},"description":"A map containing metadata, for example tags.\n","type":"object"},"name":{"description":"The name of the instance. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"status":{"description":"The current status of the instance. This is computed automatically and can be used to track the instance's state.\n","type":"string"},"vmState":{"description":"The current virtual machine state of the instance,\nallowing you to start or stop the VM. Possible values are stopped and active.\n","type":"string"}},"required":["availabilityZone","bootVolumes","dataVolumes","flavor","flavorId","id","interfaces","metadata","name","status","vmState"],"type":"object"}},"edgecenter:index/getK8s:getK8s":{"description":"Represent k8s cluster with one default pool.\n\n **WARNING:** Data source \u003cspan pulumi-lang-nodejs=\"\"edgecenter.getK8s\"\" pulumi-lang-dotnet=\"\"edgecenter.getK8s\"\" pulumi-lang-go=\"\"getK8s\"\" pulumi-lang-python=\"\"get_k8s\"\" pulumi-lang-yaml=\"\"edgecenter.getK8s\"\" pulumi-lang-java=\"\"edgecenter.getK8s\"\"\u003e\"edgecenter.getK8s\"\u003c/span\u003e is deprecated and unavailable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst cluster = edgecenter.getK8s({\n    projectId: 1,\n    regionId: 1,\n    clusterId: \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\ncluster = edgecenter.get_k8s(project_id=1,\n    region_id=1,\n    cluster_id=\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cluster = Edgecenter.GetK8s.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        ClusterId = \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.GetK8s(ctx, \u0026edgecenter.GetK8sArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tClusterId: \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetK8sArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var cluster = EdgecenterFunctions.getK8s(GetK8sArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .clusterId(\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  cluster:\n    fn::invoke:\n      function: edgecenter:getK8s\n      arguments:\n        projectId: 1\n        regionId: 1\n        clusterId: dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getK8s.\n","properties":{"clusterId":{"type":"string","description":"The uuid of the Kubernetes cluster.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["clusterId"]},"outputs":{"description":"A collection of values returned by getK8s.\n","properties":{"apiAddress":{"description":"API endpoint address for the Kubernetes cluster.\n","type":"string"},"autoHealingEnabled":{"description":"Indicates whether auto-healing is enabled for the Kubernetes cluster.\n","type":"boolean"},"certificateAuthorityData":{"description":"The certificate*authority*data field from the Kubernetes cluster config.\n","type":"string"},"clusterId":{"description":"The uuid of the Kubernetes cluster.\n","type":"string"},"clusterTemplateId":{"description":"Template identifier from which the Kubernetes cluster was instantiated.\n","type":"string"},"containerVersion":{"description":"The container runtime version used in the Kubernetes cluster.\n","type":"string"},"createdAt":{"description":"The timestamp when the Kubernetes cluster was created.\n","type":"string"},"discoveryUrl":{"description":"URL used for node discovery within the Kubernetes cluster.\n","type":"string"},"faults":{"additionalProperties":{"type":"string"},"type":"object"},"fixedNetwork":{"description":"Fixed network (uuid) associated with the Kubernetes cluster.\n","type":"string"},"fixedSubnet":{"description":"Subnet (uuid) associated with the fixed network.\n","type":"string"},"healthStatus":{"description":"Overall health status of the Kubernetes cluster.\n","type":"string"},"healthStatusReason":{"additionalProperties":{"type":"string"},"type":"object"},"id":{"description":"The ID of this resource.\n","type":"string"},"keypair":{"type":"string"},"masterAddresses":{"description":"List of IP addresses for master nodes in the Kubernetes cluster.\n","items":{"type":"string"},"type":"array"},"masterFlavorId":{"description":"Identifier for the master node flavor in the Kubernetes cluster.\n","type":"string"},"masterLbFloatingIpEnabled":{"description":"Flag indicating if the master LoadBalancer should have a floating IP.\n","type":"boolean"},"name":{"description":"The name of the Kubernetes cluster.\n","type":"string"},"nodeAddresses":{"description":"List of IP addresses for worker nodes in the Kubernetes cluster.\n","items":{"type":"string"},"type":"array"},"nodeCount":{"description":"Total number of nodes in the Kubernetes cluster.\n","type":"number"},"pools":{"description":"Configuration details of the node pool in the Kubernetes cluster.\n","items":{"$ref":"#/types/edgecenter:index%2FgetK8sPool:getK8sPool"},"type":"array"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"status":{"description":"The current status of the Kubernetes cluster.\n","type":"string"},"statusReason":{"description":"The reason for the current status of the Kubernetes cluster, if ERROR.\n","type":"string"},"updatedAt":{"description":"The timestamp when the Kubernetes cluster was updated.\n","type":"string"},"userId":{"description":"User identifier associated with the Kubernetes cluster.\n","type":"string"},"version":{"description":"The version of the Kubernetes cluster.\n","type":"string"}},"required":["apiAddress","autoHealingEnabled","certificateAuthorityData","clusterId","clusterTemplateId","containerVersion","createdAt","discoveryUrl","faults","fixedNetwork","fixedSubnet","healthStatus","healthStatusReason","id","keypair","masterAddresses","masterFlavorId","masterLbFloatingIpEnabled","name","nodeAddresses","nodeCount","pools","status","statusReason","updatedAt","userId","version"],"type":"object"}},"edgecenter:index/getK8sClientConfig:getK8sClientConfig":{"description":"Represent k8s cluster with one default pool. \n\n **WARNING:** Data source \u003cspan pulumi-lang-nodejs=\"\"edgecenter.getK8sClientConfig\"\" pulumi-lang-dotnet=\"\"edgecenter.getK8sClientConfig\"\" pulumi-lang-go=\"\"getK8sClientConfig\"\" pulumi-lang-python=\"\"get_k8s_client_config\"\" pulumi-lang-yaml=\"\"edgecenter.getK8sClientConfig\"\" pulumi-lang-java=\"\"edgecenter.getK8sClientConfig\"\"\u003e\"edgecenter.getK8sClientConfig\"\u003c/span\u003e is deprecated and unavailable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst cfg = edgecenter.getK8sClientConfig({\n    projectId: 1,\n    regionId: 1,\n    clusterId: \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\ncfg = edgecenter.get_k8s_client_config(project_id=1,\n    region_id=1,\n    cluster_id=\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cfg = Edgecenter.GetK8sClientConfig.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        ClusterId = \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.GetK8sClientConfig(ctx, \u0026edgecenter.GetK8sClientConfigArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tClusterId: \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetK8sClientConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var cfg = EdgecenterFunctions.getK8sClientConfig(GetK8sClientConfigArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .clusterId(\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  cfg:\n    fn::invoke:\n      function: edgecenter:getK8sClientConfig\n      arguments:\n        projectId: 1\n        regionId: 1\n        clusterId: dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getK8sClientConfig.\n","properties":{"clusterId":{"type":"string","description":"The uuid of the Kubernetes cluster.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["clusterId"]},"outputs":{"description":"A collection of values returned by getK8sClientConfig.\n","properties":{"clientCertificateData":{"description":"The client*certificate*data field from k8s config.\n","type":"string"},"clientKeyData":{"description":"The client*key*data field from k8s config.\n","type":"string"},"clusterId":{"description":"The uuid of the Kubernetes cluster.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"}},"required":["clientCertificateData","clientKeyData","clusterId","id"],"type":"object"}},"edgecenter:index/getK8sPool:getK8sPool":{"description":"Represent k8s cluster's pool.\n\n **WARNING:** Data source \u003cspan pulumi-lang-nodejs=\"\"edgecenter.getK8sPool\"\" pulumi-lang-dotnet=\"\"edgecenter.getK8sPool\"\" pulumi-lang-go=\"\"getK8sPool\"\" pulumi-lang-python=\"\"get_k8s_pool\"\" pulumi-lang-yaml=\"\"edgecenter.getK8sPool\"\" pulumi-lang-java=\"\"edgecenter.getK8sPool\"\"\u003e\"edgecenter.getK8sPool\"\u003c/span\u003e is deprecated and unavailable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pool = edgecenter.getK8sPool({\n    projectId: 1,\n    regionId: 1,\n    clusterId: \"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\",\n    poolId: \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npool = edgecenter.get_k8s_pool(project_id=1,\n    region_id=1,\n    cluster_id=\"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\",\n    pool_id=\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pool = Edgecenter.GetK8sPool.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        ClusterId = \"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\",\n        PoolId = \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.LookupK8sPool(ctx, \u0026edgecenter.LookupK8sPoolArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tClusterId: \"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\",\n\t\t\tPoolId:    \"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\",\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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetK8sPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pool = EdgecenterFunctions.getK8sPool(GetK8sPoolArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .clusterId(\"6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\")\n            .poolId(\"dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  pool:\n    fn::invoke:\n      function: edgecenter:getK8sPool\n      arguments:\n        projectId: 1\n        regionId: 1\n        clusterId: 6bf878c1-1ce4-47c3-a39b-6b5f1d79bf25\n        poolId: dc3a3ea9-86ae-47ad-a8e8-79df0ce04839\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getK8sPool.\n","properties":{"clusterId":{"type":"string","description":"The uuid of the Kubernetes cluster this pool belongs to.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"poolId":{"type":"string","description":"The uuid of the Kubernetes pool within the cluster.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["clusterId","poolId"]},"outputs":{"description":"A collection of values returned by getK8sPool.\n","properties":{"clusterId":{"description":"The uuid of the Kubernetes cluster this pool belongs to.\n","type":"string"},"createdAt":{"description":"The timestamp when the Kubernetes pool was created.\n","type":"string"},"dockerVolumeSize":{"description":"The size of the volume used for Docker containers, in gigabytes.\n","type":"number"},"dockerVolumeType":{"description":"The type of volume used for the Docker containers. Available values are 'standard', 'ssd_hiiops', 'cold', and 'ultra'.\n","type":"string"},"flavorId":{"description":"The identifier of the flavor used for nodes in this pool.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"isDefault":{"description":"Indicates whether this pool is the default pool in the cluster.\n","type":"boolean"},"maxNodeCount":{"description":"The maximum number of nodes the pool can scale to.\n","type":"number"},"minNodeCount":{"description":"The minimum number of nodes in the pool.\n","type":"number"},"name":{"description":"The name of the Kubernetes pool.\n","type":"string"},"nodeAddresses":{"description":"A list of IP addresses of nodes within the pool.\n","items":{"type":"string"},"type":"array"},"nodeCount":{"description":"The current number of nodes in the pool.\n","type":"number"},"nodeNames":{"description":"A list of names of nodes within the pool.\n","items":{"type":"string"},"type":"array"},"poolId":{"description":"The uuid of the Kubernetes pool within the cluster.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"stackId":{"description":"The identifier of the underlying infrastructure stack used by this pool.\n","type":"string"}},"required":["clusterId","createdAt","dockerVolumeSize","dockerVolumeType","flavorId","id","isDefault","maxNodeCount","minNodeCount","name","nodeAddresses","nodeCount","nodeNames","poolId","stackId"],"type":"object"}},"edgecenter:index/getLbL7policy:getLbL7policy":{"description":"An L7 Policy is a set of L7 rules, as well as a defined action applied to L7 network traffic. The action is taken if all the rules associated with the policy match\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst l = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getLbL7policy({\n    id: \"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = l;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nl = edgecenter.get_lb_l7policy(id=\"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", l)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var l = Edgecenter.GetLbL7policy.Invoke(new()\n    {\n        Id = \"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = l,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tl, err := edgecenter.LookupLbL7policy(ctx, \u0026edgecenter.LookupLbL7policyArgs{\n\t\t\tId:        pulumi.StringRef(\"59b2eabc-c0a8-4545-8081-979bd963c6ab\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", l)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetLbL7policyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var l = EdgecenterFunctions.getLbL7policy(GetLbL7policyArgs.builder()\n            .id(\"59b2eabc-c0a8-4545-8081-979bd963c6ab\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", l);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  l:\n    fn::invoke:\n      function: edgecenter:getLbL7policy\n      arguments:\n        id: 59b2eabc-c0a8-4545-8081-979bd963c6ab\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${l}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbL7policy.\n","properties":{"id":{"type":"string","description":"The uuid of l7policy\n"},"name":{"type":"string","description":"The human-readable name of the policy\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbL7policy.\n","properties":{"action":{"description":"Enum: \"REDIRECT*PREFIX\" \"REDIRECT*TO*POOL\" \"REDIRECT*TO_URL\" \"REJECT\"\nThe action.\n","type":"string"},"createdAt":{"description":"The datetime when the L7 policy was created\n","type":"string"},"id":{"description":"The uuid of l7policy\n","type":"string"},"listenerId":{"description":"The ID of the listener\n","type":"string"},"name":{"description":"The human-readable name of the policy\n","type":"string"},"operatingStatus":{"description":"The operating status\n","type":"string"},"position":{"description":"The position of this policy on the listener. Positions start at 1\n","type":"number"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"provisioningStatus":{"description":"The provisioning status\n","type":"string"},"redirectHttpCode":{"description":"Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code. Valid if action is REDIRECT*TO*URL or REDIRECT_PREFIX. Valid options are 301, 302, 303, 307, or 308. Default is 302\n","type":"number"},"redirectPoolId":{"description":"Requests matching this policy will be redirected to the pool with this ID. Only valid if the action is REDIRECT*TO*POOL\n","type":"string"},"redirectPrefix":{"description":"Requests matching this policy will be redirected to this Prefix URL. Only valid if the action is REDIRECT_PREFIX\n","type":"string"},"redirectUrl":{"description":"Requests matching this policy will be redirected to this URL. Only valid if the action is REDIRECT*TO*URL\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"rules":{"description":"A set of l7rule uuids assigned to this l7policy\n","items":{"type":"string"},"type":"array"},"tags":{"description":"A list of simple strings assigned to the resource\n","items":{"type":"string"},"type":"array"},"updatedAt":{"description":"The datetime when the L7 policy was last updated\n","type":"string"}},"required":["action","createdAt","id","listenerId","name","operatingStatus","position","projectId","projectName","provisioningStatus","redirectHttpCode","redirectPoolId","redirectPrefix","redirectUrl","regionId","regionName","rules","tags","updatedAt"],"type":"object"}},"edgecenter:index/getLbL7rule:getLbL7rule":{"description":"An L7 Rule is a single, simple logical test which returns either true or false\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst rule = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getLbL7rule({\n    id: \"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n    l7policyId: \"76r2eabc-c0a8-4545-8081-979bd963c6fgh\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = rule;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nrule = edgecenter.get_lb_l7rule(id=\"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n    l7policy_id=\"76r2eabc-c0a8-4545-8081-979bd963c6fgh\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", rule)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var rule = Edgecenter.GetLbL7rule.Invoke(new()\n    {\n        Id = \"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n        L7policyId = \"76r2eabc-c0a8-4545-8081-979bd963c6fgh\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = rule,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trule, err := edgecenter.LookupLbL7rule(ctx, \u0026edgecenter.LookupLbL7ruleArgs{\n\t\t\tId:         \"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n\t\t\tL7policyId: pulumi.StringRef(\"76r2eabc-c0a8-4545-8081-979bd963c6fgh\"),\n\t\t\tRegionId:   pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId:  pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", rule)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetLbL7ruleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var rule = EdgecenterFunctions.getLbL7rule(GetLbL7ruleArgs.builder()\n            .id(\"59b2eabc-c0a8-4545-8081-979bd963c6ab\")\n            .l7policyId(\"76r2eabc-c0a8-4545-8081-979bd963c6fgh\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", rule);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  rule:\n    fn::invoke:\n      function: edgecenter:getLbL7rule\n      arguments:\n        id: 59b2eabc-c0a8-4545-8081-979bd963c6ab\n        l7policyId: 76r2eabc-c0a8-4545-8081-979bd963c6fgh\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${rule}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbL7rule.\n","properties":{"id":{"type":"string","description":"The uuid of l7rule\n"},"l7policyId":{"type":"string","description":"The ID of the L7 policy.\n"},"l7policyName":{"type":"string","description":"The name of the L7 policy.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getLbL7rule.\n","properties":{"compareType":{"description":"The comparison type for the L7 rule. Available comparison types: \"CONTAINS\", \"STARTS*WITH\", \"ENDS*WITH\", \"EQUAL_TO\", \"REGEX\".\n","type":"string"},"id":{"description":"The uuid of l7rule\n","type":"string"},"invert":{"description":"When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e the logic of the rule is inverted.\n","type":"boolean"},"key":{"type":"string"},"l7policyId":{"description":"The ID of the L7 policy.\n","type":"string"},"l7policyName":{"description":"The name of the L7 policy.\n","type":"string"},"listenerId":{"type":"string"},"operatingStatus":{"type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"provisioningStatus":{"type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"type":{"type":"string"},"value":{"type":"string"}},"required":["compareType","id","invert","key","listenerId","operatingStatus","projectId","projectName","provisioningStatus","regionId","regionName","tags","type","value"],"type":"object"}},"edgecenter:index/getLblistener:getLblistener":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst l = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getLblistener({\n    name: \"test-listener\",\n    loadbalancerId: \"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = l;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nl = edgecenter.get_lblistener(name=\"test-listener\",\n    loadbalancer_id=\"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", l)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var l = Edgecenter.GetLblistener.Invoke(new()\n    {\n        Name = \"test-listener\",\n        LoadbalancerId = \"59b2eabc-c0a8-4545-8081-979bd963c6ab\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = l,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tl, err := edgecenter.LookupLblistener(ctx, \u0026edgecenter.LookupLblistenerArgs{\n\t\t\tName:           pulumi.StringRef(\"test-listener\"),\n\t\t\tLoadbalancerId: pulumi.StringRef(\"59b2eabc-c0a8-4545-8081-979bd963c6ab\"),\n\t\t\tRegionId:       pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId:      pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", l)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetLblistenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var l = EdgecenterFunctions.getLblistener(GetLblistenerArgs.builder()\n            .name(\"test-listener\")\n            .loadbalancerId(\"59b2eabc-c0a8-4545-8081-979bd963c6ab\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", l);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  l:\n    fn::invoke:\n      function: edgecenter:getLblistener\n      arguments:\n        name: test-listener\n        loadbalancerId: 59b2eabc-c0a8-4545-8081-979bd963c6ab\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${l}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLblistener.\n","properties":{"id":{"type":"string","description":"The ID of the load balancer listener. Either 'id' or 'name' must be specified.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer listener. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLblistener.\n","properties":{"allowedCidrs":{"description":"The allowed CIDRs for listener.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The ID of the load balancer listener. Either 'id' or 'name' must be specified.\n","type":"string"},"l7policies":{"description":"Set of l7policy uuids attached to this listener.\n","items":{"type":"string"},"type":"array"},"loadbalancerId":{"description":"The uuid for the load balancer.\n","type":"string"},"name":{"description":"The name of the load balancer listener. Either 'id' or 'name' must be specified.\n","type":"string"},"operatingStatus":{"description":"The current operational status of the load balancer.\n","type":"string"},"poolCount":{"description":"Number of pools associated with the load balancer.\n","type":"number"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"protocol":{"description":"Available values is 'HTTP', 'HTTPS', 'TCP', 'UDP'\n","type":"string"},"protocolPort":{"description":"The port on which the protocol is bound.\n","type":"number"},"provisioningStatus":{"description":"The current provisioning status of the load balancer.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"timeoutClientData":{"description":"The timeout for the frontend client inactivity (in milliseconds).\n","type":"number"},"timeoutMemberConnect":{"description":"The timeout for the backend member connection (in milliseconds).\n","type":"number"},"timeoutMemberData":{"description":"The timeout for the backend member inactivity (in milliseconds).\n","type":"number"}},"required":["allowedCidrs","id","l7policies","loadbalancerId","name","operatingStatus","poolCount","protocol","protocolPort","provisioningStatus","timeoutClientData","timeoutMemberConnect","timeoutMemberData"],"type":"object"}},"edgecenter:index/getLbpool:getLbpool":{"description":"Represent information about load balancer listener pool. A pool is a list of virtual machines to which the listener will redirect incoming traffic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst pool = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getLbpool({\n    name: \"test-pool\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = pool;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\npool = edgecenter.get_lbpool(name=\"test-pool\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", pool)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var pool = Edgecenter.GetLbpool.Invoke(new()\n    {\n        Name = \"test-pool\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = pool,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpool, err := edgecenter.LookupLbpool(ctx, \u0026edgecenter.LookupLbpoolArgs{\n\t\t\tName:      pulumi.StringRef(\"test-pool\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", pool)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetLbpoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var pool = EdgecenterFunctions.getLbpool(GetLbpoolArgs.builder()\n            .name(\"test-pool\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", pool);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  pool:\n    fn::invoke:\n      function: edgecenter:getLbpool\n      arguments:\n        name: test-pool\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${pool}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbpool.\n","properties":{"id":{"type":"string","description":"The ID of the load balancer pool. Either 'id' or 'name' must be specified.\n"},"listenerId":{"type":"string","description":"The uuid for the load balancer listener.\n"},"loadbalancerId":{"type":"string","description":"The uuid for the load balancer.\n"},"name":{"type":"string","description":"The name of the load balancer pool. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbpool.\n","properties":{"healthMonitors":{"description":"Configuration for health checks to test the health and state of the backend members. It determines how the load balancer identifies whether the backend members are healthy or unhealthy.\n","items":{"$ref":"#/types/edgecenter:index%2FgetLbpoolHealthMonitor:getLbpoolHealthMonitor"},"type":"array"},"id":{"description":"The ID of the load balancer pool. Either 'id' or 'name' must be specified.\n","type":"string"},"lbAlgorithm":{"description":"Available values are `ROUND_ROBIN`, `LEAST_CONNECTIONS`, `SOURCE_IP`.\n","type":"string"},"listenerId":{"description":"The uuid for the load balancer listener.\n","type":"string"},"loadbalancerId":{"description":"The uuid for the load balancer.\n","type":"string"},"name":{"description":"The name of the load balancer pool. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"protocol":{"description":"Available values are `HTTP` (currently work, others do not work on ed-8), `HTTPS`, `TCP`, `UDP`.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"sessionPersistences":{"description":"Configuration that enables the load balancer to bind a user's session to a specific backend member. This ensures that all requests from the user during the session are sent to the same member.\n","items":{"$ref":"#/types/edgecenter:index%2FgetLbpoolSessionPersistence:getLbpoolSessionPersistence"},"type":"array"}},"required":["healthMonitors","id","lbAlgorithm","listenerId","loadbalancerId","name","protocol","sessionPersistences"],"type":"object"}},"edgecenter:index/getLoadbalancer:getLoadbalancer":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst lb = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getLoadbalancer({\n    name: \"test-lb\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = lb;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nlb = edgecenter.get_loadbalancer(name=\"test-lb\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", lb)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var lb = Edgecenter.GetLoadbalancer.Invoke(new()\n    {\n        Name = \"test-lb\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = lb,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := edgecenter.LookupLoadbalancer(ctx, \u0026edgecenter.LookupLoadbalancerArgs{\n\t\t\tName:      \"test-lb\",\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", lb)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetLoadbalancerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var lb = EdgecenterFunctions.getLoadbalancer(GetLoadbalancerArgs.builder()\n            .name(\"test-lb\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", lb);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  lb:\n    fn::invoke:\n      function: edgecenter:getLoadbalancer\n      arguments:\n        name: test-lb\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${lb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLoadbalancer.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"metadataK":{"type":"string","description":"Filtration query opts (only key).\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n"},"name":{"type":"string","description":"The name of the router.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getLoadbalancer.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"listeners":{"items":{"$ref":"#/types/edgecenter:index%2FgetLoadbalancerListener:getLoadbalancerListener"},"type":"array"},"metadataK":{"description":"Filtration query opts (only key).\n","type":"string"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n","type":"object"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetLoadbalancerMetadataReadOnly:getLoadbalancerMetadataReadOnly"},"type":"array"},"name":{"description":"The name of the router.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"vipAddress":{"type":"string"},"vipPortId":{"type":"string"}},"required":["id","listeners","metadataReadOnlies","name","vipAddress","vipPortId"],"type":"object"}},"edgecenter:index/getLoadbalancerv2:getLoadbalancerv2":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst lb = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getLoadbalancerv2({\n    name: \"test-lb\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = lb;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nlb = edgecenter.get_loadbalancerv2(name=\"test-lb\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", lb)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var lb = Edgecenter.GetLoadbalancerv2.Invoke(new()\n    {\n        Name = \"test-lb\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = lb,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlb, err := edgecenter.LookupLoadbalancerv2(ctx, \u0026edgecenter.LookupLoadbalancerv2Args{\n\t\t\tName:      pulumi.StringRef(\"test-lb\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", lb)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetLoadbalancerv2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var lb = EdgecenterFunctions.getLoadbalancerv2(GetLoadbalancerv2Args.builder()\n            .name(\"test-lb\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", lb);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  lb:\n    fn::invoke:\n      function: edgecenter:getLoadbalancerv2\n      arguments:\n        name: test-lb\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${lb}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLoadbalancerv2.\n","properties":{"id":{"type":"string","description":"The ID of the load balancer. Either 'id' or 'name' must be specified.\n"},"metadataK":{"type":"string","description":"Filtration query opts (only key).\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n"},"name":{"type":"string","description":"The name of the load balancer. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLoadbalancerv2.\n","properties":{"id":{"description":"The ID of the load balancer. Either 'id' or 'name' must be specified.\n","type":"string"},"metadataK":{"description":"Filtration query opts (only key).\n","type":"string"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n","type":"object"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetLoadbalancerv2MetadataReadOnly:getLoadbalancerv2MetadataReadOnly"},"type":"array"},"name":{"description":"The name of the load balancer. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"vipAddress":{"description":"Load balancer IP address\n","type":"string"},"vipPortId":{"description":"Attached reserved IP.\n","type":"string"}},"required":["id","metadataReadOnlies","name","vipAddress","vipPortId"],"type":"object"}},"edgecenter:index/getMkaasCluster:getMkaasCluster":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst projectId = 1;\nconst regionId = 1;\nconst network = new edgecenter.Network(\"network\", {\n    name: \"network_example\",\n    type: \"vxlan\",\n    regionId: regionId,\n    projectId: projectId,\n});\nconst subnet = new edgecenter.Subnet(\"subnet\", {\n    name: \"subnet_example\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.networkId,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    enableDhcp: true,\n    hostRoutes: [\n        {\n            destination: \"10.0.3.0/24\",\n            nexthop: \"10.0.0.13\",\n        },\n        {\n            destination: \"10.0.4.0/24\",\n            nexthop: \"10.0.0.14\",\n        },\n    ],\n    allocationPools: [{\n        start: \"192.168.10.20\",\n        end: \"192.168.10.50\",\n    }],\n    gatewayIp: \"192.168.10.1\",\n    regionId: regionId,\n    projectId: projectId,\n});\nconst kp = new edgecenter.Keypair(\"kp\", {\n    projectId: projectId,\n    publicKey: \"your public key here\",\n    sshkeyName: \"test\",\n});\nconst clusterMkaasCluster = new edgecenter.MkaasCluster(\"cluster\", {\n    name: \"my-cluster01\",\n    projectId: projectId,\n    regionId: regionId,\n    sshKeypairName: kp.sshkeyName,\n    networkId: network.networkId,\n    subnetId: subnet.subnetId,\n    publishKubeApiToInternet: true,\n    controlPlane: {\n        flavor: \"mkaas-master-g3-standard-2-4\",\n        nodeCount: 1,\n        volumeSize: 30,\n        volumeType: \"ssd_hiiops\",\n        version: \"v1.31.0\",\n    },\n});\nconst cluster = edgecenter.getMkaasClusterOutput({\n    projectId: projectId,\n    regionId: regionId,\n    id: clusterMkaasCluster.mkaasClusterId,\n});\nexport const view = cluster;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nproject_id = 1\nregion_id = 1\nnetwork = edgecenter.Network(\"network\",\n    name=\"network_example\",\n    type=\"vxlan\",\n    region_id=region_id,\n    project_id=project_id)\nsubnet = edgecenter.Subnet(\"subnet\",\n    name=\"subnet_example\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.network_id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    enable_dhcp=True,\n    host_routes=[\n        {\n            \"destination\": \"10.0.3.0/24\",\n            \"nexthop\": \"10.0.0.13\",\n        },\n        {\n            \"destination\": \"10.0.4.0/24\",\n            \"nexthop\": \"10.0.0.14\",\n        },\n    ],\n    allocation_pools=[{\n        \"start\": \"192.168.10.20\",\n        \"end\": \"192.168.10.50\",\n    }],\n    gateway_ip=\"192.168.10.1\",\n    region_id=region_id,\n    project_id=project_id)\nkp = edgecenter.Keypair(\"kp\",\n    project_id=project_id,\n    public_key=\"your public key here\",\n    sshkey_name=\"test\")\ncluster_mkaas_cluster = edgecenter.MkaasCluster(\"cluster\",\n    name=\"my-cluster01\",\n    project_id=project_id,\n    region_id=region_id,\n    ssh_keypair_name=kp.sshkey_name,\n    network_id=network.network_id,\n    subnet_id=subnet.subnet_id,\n    publish_kube_api_to_internet=True,\n    control_plane={\n        \"flavor\": \"mkaas-master-g3-standard-2-4\",\n        \"node_count\": 1,\n        \"volume_size\": 30,\n        \"volume_type\": \"ssd_hiiops\",\n        \"version\": \"v1.31.0\",\n    })\ncluster = edgecenter.get_mkaas_cluster_output(project_id=project_id,\n    region_id=region_id,\n    id=cluster_mkaas_cluster.mkaas_cluster_id)\npulumi.export(\"view\", cluster)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var projectId = 1;\n\n    var regionId = 1;\n\n    var network = new Edgecenter.Network(\"network\", new()\n    {\n        Name = \"network_example\",\n        Type = \"vxlan\",\n        RegionId = regionId,\n        ProjectId = projectId,\n    });\n\n    var subnet = new Edgecenter.Subnet(\"subnet\", new()\n    {\n        Name = \"subnet_example\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.NetworkId,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n        EnableDhcp = true,\n        HostRoutes = new[]\n        {\n            new Edgecenter.Inputs.SubnetHostRouteArgs\n            {\n                Destination = \"10.0.3.0/24\",\n                Nexthop = \"10.0.0.13\",\n            },\n            new Edgecenter.Inputs.SubnetHostRouteArgs\n            {\n                Destination = \"10.0.4.0/24\",\n                Nexthop = \"10.0.0.14\",\n            },\n        },\n        AllocationPools = new[]\n        {\n            new Edgecenter.Inputs.SubnetAllocationPoolArgs\n            {\n                Start = \"192.168.10.20\",\n                End = \"192.168.10.50\",\n            },\n        },\n        GatewayIp = \"192.168.10.1\",\n        RegionId = regionId,\n        ProjectId = projectId,\n    });\n\n    var kp = new Edgecenter.Keypair(\"kp\", new()\n    {\n        ProjectId = projectId,\n        PublicKey = \"your public key here\",\n        SshkeyName = \"test\",\n    });\n\n    var clusterMkaasCluster = new Edgecenter.MkaasCluster(\"cluster\", new()\n    {\n        Name = \"my-cluster01\",\n        ProjectId = projectId,\n        RegionId = regionId,\n        SshKeypairName = kp.SshkeyName,\n        NetworkId = network.NetworkId,\n        SubnetId = subnet.SubnetId,\n        PublishKubeApiToInternet = true,\n        ControlPlane = new Edgecenter.Inputs.MkaasClusterControlPlaneArgs\n        {\n            Flavor = \"mkaas-master-g3-standard-2-4\",\n            NodeCount = 1,\n            VolumeSize = 30,\n            VolumeType = \"ssd_hiiops\",\n            Version = \"v1.31.0\",\n        },\n    });\n\n    var cluster = Edgecenter.GetMkaasCluster.Invoke(new()\n    {\n        ProjectId = projectId,\n        RegionId = regionId,\n        Id = clusterMkaasCluster.MkaasClusterId,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = cluster,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprojectId := 1\n\t\tregionId := 1\n\t\tnetwork, err := edgecenter.NewNetwork(ctx, \"network\", \u0026edgecenter.NetworkArgs{\n\t\t\tName:      pulumi.String(\"network_example\"),\n\t\t\tType:      pulumi.String(\"vxlan\"),\n\t\t\tRegionId:  pulumi.Float64(regionId),\n\t\t\tProjectId: pulumi.Float64(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := edgecenter.NewSubnet(ctx, \"subnet\", \u0026edgecenter.SubnetArgs{\n\t\t\tName:      pulumi.String(\"subnet_example\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.NetworkId,\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tEnableDhcp: pulumi.Bool(true),\n\t\t\tHostRoutes: edgecenter.SubnetHostRouteArray{\n\t\t\t\t\u0026edgecenter.SubnetHostRouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"10.0.3.0/24\"),\n\t\t\t\t\tNexthop:     pulumi.String(\"10.0.0.13\"),\n\t\t\t\t},\n\t\t\t\t\u0026edgecenter.SubnetHostRouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"10.0.4.0/24\"),\n\t\t\t\t\tNexthop:     pulumi.String(\"10.0.0.14\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAllocationPools: edgecenter.SubnetAllocationPoolArray{\n\t\t\t\t\u0026edgecenter.SubnetAllocationPoolArgs{\n\t\t\t\t\tStart: pulumi.String(\"192.168.10.20\"),\n\t\t\t\t\tEnd:   pulumi.String(\"192.168.10.50\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tGatewayIp: pulumi.String(\"192.168.10.1\"),\n\t\t\tRegionId:  pulumi.Float64(regionId),\n\t\t\tProjectId: pulumi.Float64(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkp, err := edgecenter.NewKeypair(ctx, \"kp\", \u0026edgecenter.KeypairArgs{\n\t\t\tProjectId:  pulumi.Float64(projectId),\n\t\t\tPublicKey:  pulumi.String(\"your public key here\"),\n\t\t\tSshkeyName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclusterMkaasCluster, err := edgecenter.NewMkaasCluster(ctx, \"cluster\", \u0026edgecenter.MkaasClusterArgs{\n\t\t\tName:                     pulumi.String(\"my-cluster01\"),\n\t\t\tProjectId:                pulumi.Float64(projectId),\n\t\t\tRegionId:                 pulumi.Float64(regionId),\n\t\t\tSshKeypairName:           kp.SshkeyName,\n\t\t\tNetworkId:                network.NetworkId,\n\t\t\tSubnetId:                 subnet.SubnetId,\n\t\t\tPublishKubeApiToInternet: pulumi.Bool(true),\n\t\t\tControlPlane: \u0026edgecenter.MkaasClusterControlPlaneArgs{\n\t\t\t\tFlavor:     pulumi.String(\"mkaas-master-g3-standard-2-4\"),\n\t\t\t\tNodeCount:  pulumi.Float64(1),\n\t\t\t\tVolumeSize: pulumi.Float64(30),\n\t\t\t\tVolumeType: pulumi.String(\"ssd_hiiops\"),\n\t\t\t\tVersion:    pulumi.String(\"v1.31.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster := edgecenter.LookupMkaasClusterOutput(ctx, edgecenter.GetMkaasClusterOutputArgs{\n\t\t\tProjectId: pulumi.Float64(projectId),\n\t\t\tRegionId:  pulumi.Float64(regionId),\n\t\t\tId:        clusterMkaasCluster.MkaasClusterId,\n\t\t}, nil)\n\t\tctx.Export(\"view\", cluster)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.Network;\nimport com.pulumi.edgecenter.NetworkArgs;\nimport com.pulumi.edgecenter.Subnet;\nimport com.pulumi.edgecenter.SubnetArgs;\nimport com.pulumi.edgecenter.inputs.SubnetHostRouteArgs;\nimport com.pulumi.edgecenter.inputs.SubnetAllocationPoolArgs;\nimport com.pulumi.edgecenter.Keypair;\nimport com.pulumi.edgecenter.KeypairArgs;\nimport com.pulumi.edgecenter.MkaasCluster;\nimport com.pulumi.edgecenter.MkaasClusterArgs;\nimport com.pulumi.edgecenter.inputs.MkaasClusterControlPlaneArgs;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetMkaasClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var projectId = 1;\n\n        final var regionId = 1;\n\n        var network = new Network(\"network\", NetworkArgs.builder()\n            .name(\"network_example\")\n            .type(\"vxlan\")\n            .regionId(regionId)\n            .projectId(projectId)\n            .build());\n\n        var subnet = new Subnet(\"subnet\", SubnetArgs.builder()\n            .name(\"subnet_example\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.networkId())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .enableDhcp(true)\n            .hostRoutes(            \n                SubnetHostRouteArgs.builder()\n                    .destination(\"10.0.3.0/24\")\n                    .nexthop(\"10.0.0.13\")\n                    .build(),\n                SubnetHostRouteArgs.builder()\n                    .destination(\"10.0.4.0/24\")\n                    .nexthop(\"10.0.0.14\")\n                    .build())\n            .allocationPools(SubnetAllocationPoolArgs.builder()\n                .start(\"192.168.10.20\")\n                .end(\"192.168.10.50\")\n                .build())\n            .gatewayIp(\"192.168.10.1\")\n            .regionId(regionId)\n            .projectId(projectId)\n            .build());\n\n        var kp = new Keypair(\"kp\", KeypairArgs.builder()\n            .projectId(projectId)\n            .publicKey(\"your public key here\")\n            .sshkeyName(\"test\")\n            .build());\n\n        var clusterMkaasCluster = new MkaasCluster(\"clusterMkaasCluster\", MkaasClusterArgs.builder()\n            .name(\"my-cluster01\")\n            .projectId(projectId)\n            .regionId(regionId)\n            .sshKeypairName(kp.sshkeyName())\n            .networkId(network.networkId())\n            .subnetId(subnet.subnetId())\n            .publishKubeApiToInternet(true)\n            .controlPlane(MkaasClusterControlPlaneArgs.builder()\n                .flavor(\"mkaas-master-g3-standard-2-4\")\n                .nodeCount(1.0)\n                .volumeSize(30.0)\n                .volumeType(\"ssd_hiiops\")\n                .version(\"v1.31.0\")\n                .build())\n            .build());\n\n        final var cluster = EdgecenterFunctions.getMkaasCluster(GetMkaasClusterArgs.builder()\n            .projectId(projectId)\n            .regionId(regionId)\n            .id(clusterMkaasCluster.mkaasClusterId())\n            .build());\n\n        ctx.export(\"view\", cluster);\n    }\n}\n```\n```yaml\nresources:\n  network:\n    type: edgecenter:Network\n    properties:\n      name: network_example\n      type: vxlan\n      regionId: ${regionId}\n      projectId: ${projectId}\n  subnet:\n    type: edgecenter:Subnet\n    properties:\n      name: subnet_example\n      cidr: 192.168.10.0/24\n      networkId: ${network.networkId}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n      enableDhcp: true\n      hostRoutes:\n        - destination: 10.0.3.0/24\n          nexthop: 10.0.0.13\n        - destination: 10.0.4.0/24\n          nexthop: 10.0.0.14\n      allocationPools:\n        - start: 192.168.10.20\n          end: 192.168.10.50\n      gatewayIp: 192.168.10.1\n      regionId: ${regionId}\n      projectId: ${projectId}\n  kp:\n    type: edgecenter:Keypair\n    properties:\n      projectId: ${projectId}\n      publicKey: your public key here\n      sshkeyName: test\n  clusterMkaasCluster:\n    type: edgecenter:MkaasCluster\n    name: cluster\n    properties:\n      name: my-cluster01\n      projectId: ${projectId}\n      regionId: ${regionId}\n      sshKeypairName: ${kp.sshkeyName}\n      networkId: ${network.networkId}\n      subnetId: ${subnet.subnetId}\n      publishKubeApiToInternet: true\n      controlPlane:\n        flavor: mkaas-master-g3-standard-2-4\n        nodeCount: 1\n        volumeSize: 30\n        volumeType: ssd_hiiops\n        version: v1.31.0\nvariables:\n  projectId: 1\n  regionId: 1\n  cluster:\n    fn::invoke:\n      function: edgecenter:getMkaasCluster\n      arguments:\n        projectId: ${projectId}\n        regionId: ${regionId}\n        id: ${clusterMkaasCluster.mkaasClusterId}\noutputs:\n  view: ${cluster}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMkaasCluster.\n","properties":{"id":{"type":"string","description":"The ID of the MKaaS cluster. Either 'id' or 'name' must be specified.\n"},"name":{"type":"string","description":"The name of the MKaaS cluster. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getMkaasCluster.\n","properties":{"controlPlanes":{"items":{"$ref":"#/types/edgecenter:index%2FgetMkaasClusterControlPlane:getMkaasClusterControlPlane"},"type":"array"},"created":{"type":"string"},"externalIp":{"description":"External cluster IP.\n","type":"string"},"id":{"description":"The ID of the MKaaS cluster. Either 'id' or 'name' must be specified.\n","type":"string"},"internalIp":{"description":"Internal cluster IP.\n","type":"string"},"name":{"description":"The name of the MKaaS cluster. Either 'id' or 'name' must be specified.\n","type":"string"},"networkId":{"description":"Network ID.\n","type":"string"},"processing":{"type":"boolean"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"sshKeypairName":{"description":"SSH keypair name.\n","type":"string"},"stage":{"type":"string"},"status":{"type":"string"},"subnetId":{"description":"Subnet ID.\n","type":"string"}},"required":["controlPlanes","created","externalIp","internalIp","networkId","processing","sshKeypairName","stage","status","subnetId"],"type":"object"}},"edgecenter:index/getMkaasPool:getMkaasPool":{"description":"Represent MKaaS cluster's pool.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst apps = edgecenter.getMkaasPool({\n    projectId: 1234,\n    regionId: 53,\n    clusterId: 321,\n    poolId: 654,\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\napps = edgecenter.get_mkaas_pool(project_id=1234,\n    region_id=53,\n    cluster_id=321,\n    pool_id=654)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var apps = Edgecenter.GetMkaasPool.Invoke(new()\n    {\n        ProjectId = 1234,\n        RegionId = 53,\n        ClusterId = 321,\n        PoolId = 654,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.LookupMkaasPool(ctx, \u0026edgecenter.LookupMkaasPoolArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1234),\n\t\t\tRegionId:  pulumi.Float64Ref(53),\n\t\t\tClusterId: 321,\n\t\t\tPoolId:    654,\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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetMkaasPoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var apps = EdgecenterFunctions.getMkaasPool(GetMkaasPoolArgs.builder()\n            .projectId(1234)\n            .regionId(53)\n            .clusterId(321)\n            .poolId(654)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  apps:\n    fn::invoke:\n      function: edgecenter:getMkaasPool\n      arguments:\n        projectId: 1234\n        regionId: 53\n        clusterId: 321\n        poolId: 654\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMkaasPool.\n","properties":{"clusterId":{"type":"number","description":"The id of the Kubernetes cluster this pool belongs to.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"poolId":{"type":"number","description":"The id of the Kubernetes pool within the cluster.\n"},"projectId":{"type":"number","description":"The numeric id of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n"},"regionId":{"type":"number","description":"The numeric id of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n"}},"type":"object","required":["clusterId","poolId"]},"outputs":{"description":"A collection of values returned by getMkaasPool.\n","properties":{"clusterId":{"description":"The id of the Kubernetes cluster this pool belongs to.\n","type":"number"},"flavor":{"description":"The identifier of the flavor used for nodes in this pool, e.g. g1-standard-2-4.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Arbitrary labels assigned to the pool.\n","type":"object"},"name":{"description":"The name of the Kubernetes pool.\n","type":"string"},"nodeCount":{"description":"The current number of nodes in the pool.\n","type":"number"},"poolId":{"description":"The id of the Kubernetes pool within the cluster.\n","type":"number"},"projectId":{"description":"The numeric id of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either \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 or \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e must be specified.\n","type":"string"},"regionId":{"description":"The numeric id of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either \u003cspan pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\"\u003e`region_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`regionName`\" pulumi-lang-dotnet=\"`RegionName`\" pulumi-lang-go=\"`regionName`\" pulumi-lang-python=\"`region_name`\" pulumi-lang-yaml=\"`regionName`\" pulumi-lang-java=\"`regionName`\"\u003e`region_name`\u003c/span\u003e must be specified.\n","type":"string"},"securityGroupIds":{"description":"List of security group IDs attached to the pool.\n","items":{"type":"string"},"type":"array"},"state":{"description":"The state of the pool.\n","type":"string"},"status":{"description":"The status of the pool.\n","type":"string"},"volumeSize":{"description":"The size of the volumes used by nodes in the pool, specified in gigabytes (GB).\n","type":"number"},"volumeType":{"description":"The type of volume used by nodes in the pool.\n","type":"string"}},"required":["clusterId","flavor","id","labels","name","nodeCount","poolId","securityGroupIds","state","status","volumeSize","volumeType"],"type":"object"}},"edgecenter:index/getNetwork:getNetwork":{"description":"Represent network. A network is a software-defined network in a cloud computing infrastructure\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst tnw = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getNetwork({\n    name: \"example\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = tnw;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\ntnw = edgecenter.get_network(name=\"example\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", tnw)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var tnw = Edgecenter.GetNetwork.Invoke(new()\n    {\n        Name = \"example\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = tnw,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttnw, err := edgecenter.LookupNetwork(ctx, \u0026edgecenter.LookupNetworkArgs{\n\t\t\tName:      pulumi.StringRef(\"example\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", tnw)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var tnw = EdgecenterFunctions.getNetwork(GetNetworkArgs.builder()\n            .name(\"example\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", tnw);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  tnw:\n    fn::invoke:\n      function: edgecenter:getNetwork\n      arguments:\n        name: example\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${tnw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNetwork.\n","properties":{"id":{"type":"string","description":"The ID of the network. Either 'id' or 'name' must be specified.\n"},"metadataK":{"type":"string","description":"Filtration query opts (only key).\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n"},"name":{"type":"string","description":"The name of the network. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"sharedWithSubnets":{"type":"boolean","description":"Get shared networks with details of subnets.\n"},"subnets":{"type":"array","items":{"$ref":"#/types/edgecenter:index%2FgetNetworkSubnet:getNetworkSubnet"},"description":"A list of read-only metadata items, e.g. tags.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNetwork.\n","properties":{"external":{"type":"boolean"},"id":{"description":"The ID of the network. Either 'id' or 'name' must be specified.\n","type":"string"},"metadataK":{"description":"Filtration query opts (only key).\n","type":"string"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n","type":"object"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetNetworkMetadataReadOnly:getNetworkMetadataReadOnly"},"type":"array"},"mtu":{"description":"Maximum Transmission Unit (MTU) for the network. It determines the maximum packet size that can be transmitted without fragmentation.\n","type":"number"},"name":{"description":"The name of the network. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"shared":{"type":"boolean"},"sharedWithSubnets":{"description":"Get shared networks with details of subnets.\n","type":"boolean"},"subnets":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetNetworkSubnet:getNetworkSubnet"},"type":"array"},"type":{"description":"'vlan' or 'vxlan' network type is allowed. Default value is 'vxlan'\n","type":"string"}},"required":["external","id","metadataReadOnlies","mtu","name","shared","type"],"type":"object"}},"edgecenter:index/getProject:getProject":{"description":"Represent project data.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"id":{"type":"number","description":"Project ID.\n"},"name":{"type":"string","description":"Displayed project name.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getProject.\n","properties":{"clientId":{"description":"The ID of the client.\n","type":"number"},"createdAt":{"description":"The datetime of the project creation. It is automatically generated when the project is created.\n","type":"string"},"description":{"description":"The description of the project.\n","type":"string"},"id":{"description":"Project ID.\n","type":"number"},"isDefault":{"description":"The default flag. There is always one default project for each client.\n","type":"boolean"},"name":{"description":"Displayed project name.\n","type":"string"},"state":{"description":"The state of the project.\n","type":"string"}},"required":["clientId","createdAt","description","id","isDefault","name","state"],"type":"object"}},"edgecenter:index/getRegion:getRegion":{"description":"Represent region data\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.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 rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegion.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Displayed region name\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRegion.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"Displayed region name\n","type":"string"}},"required":["id","name"],"type":"object"}},"edgecenter:index/getResellerImages:getResellerImages":{"description":"**WARNING:** Data source \u003cspan pulumi-lang-nodejs=\"\"edgecenter.ResellerImages\"\" pulumi-lang-dotnet=\"\"edgecenter.ResellerImages\"\" pulumi-lang-go=\"\"ResellerImages\"\" pulumi-lang-python=\"\"ResellerImages\"\" pulumi-lang-yaml=\"\"edgecenter.ResellerImages\"\" pulumi-lang-java=\"\"edgecenter.ResellerImages\"\"\u003e\"edgecenter.ResellerImages\"\u003c/span\u003e is deprecated.\n\nUse \"edgecenter_reseller_imagesV2\" data source instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst rimgs = edgecenter.getResellerImages({\n    resellerId: 123456,\n});\nexport const view = rimgs;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrimgs = edgecenter.get_reseller_images(reseller_id=123456)\npulumi.export(\"view\", rimgs)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rimgs = Edgecenter.GetResellerImages.Invoke(new()\n    {\n        ResellerId = 123456,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = rimgs,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trimgs, err := edgecenter.LookupResellerImages(ctx, \u0026edgecenter.LookupResellerImagesArgs{\n\t\t\tResellerId: 123456,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", rimgs)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetResellerImagesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rimgs = EdgecenterFunctions.getResellerImages(GetResellerImagesArgs.builder()\n            .resellerId(123456)\n            .build());\n\n        ctx.export(\"view\", rimgs);\n    }\n}\n```\n```yaml\nvariables:\n  rimgs:\n    fn::invoke:\n      function: edgecenter:getResellerImages\n      arguments:\n        resellerId: 123456\noutputs:\n  view: ${rimgs}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getResellerImages.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"resellerId":{"type":"number","description":"The ID of the reseller.\n"}},"type":"object","required":["resellerId"]},"outputs":{"description":"A collection of values returned by getResellerImages.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"options":{"description":"This set defines image IDs that can be attached to the instances of the reseller.\n","items":{"$ref":"#/types/edgecenter:index%2FgetResellerImagesOption:getResellerImagesOption"},"type":"array"},"resellerId":{"description":"The ID of the reseller.\n","type":"number"}},"required":["id","options","resellerId"],"type":"object"}},"edgecenter:index/getResellerImagesV2:getResellerImagesV2":{"description":"**This resource has been created for resellers and only works with the reseller API key.**\n\nReturns the list of public images currently available for the given project, client, or all clients of a reseller. \nIf\u003cspan pulumi-lang-nodejs=\" imageIds \" pulumi-lang-dotnet=\" ImageIds \" pulumi-lang-go=\" imageIds \" pulumi-lang-python=\" image_ids \" pulumi-lang-yaml=\" imageIds \" pulumi-lang-java=\" imageIds \"\u003e image_ids \u003c/span\u003e= None, all public images are available. If\u003cspan pulumi-lang-nodejs=\" imageIds \" pulumi-lang-dotnet=\" ImageIds \" pulumi-lang-go=\" imageIds \" pulumi-lang-python=\" image_ids \" pulumi-lang-yaml=\" imageIds \" pulumi-lang-java=\" imageIds \"\u003e image_ids \u003c/span\u003e= [], no public images are available\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst rimgs = edgecenter.getResellerImagesV2({\n    entityId: 123456,\n    entityType: \"reseller\",\n});\nexport const view = rimgs;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrimgs = edgecenter.get_reseller_images_v2(entity_id=123456,\n    entity_type=\"reseller\")\npulumi.export(\"view\", rimgs)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rimgs = Edgecenter.GetResellerImagesV2.Invoke(new()\n    {\n        EntityId = 123456,\n        EntityType = \"reseller\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = rimgs,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trimgs, err := edgecenter.LookupResellerImagesV2(ctx, \u0026edgecenter.LookupResellerImagesV2Args{\n\t\t\tEntityId:   123456,\n\t\t\tEntityType: \"reseller\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", rimgs)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetResellerImagesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rimgs = EdgecenterFunctions.getResellerImagesV2(GetResellerImagesV2Args.builder()\n            .entityId(123456)\n            .entityType(\"reseller\")\n            .build());\n\n        ctx.export(\"view\", rimgs);\n    }\n}\n```\n```yaml\nvariables:\n  rimgs:\n    fn::invoke:\n      function: edgecenter:getResellerImagesV2\n      arguments:\n        entityId: 123456\n        entityType: reseller\noutputs:\n  view: ${rimgs}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getResellerImagesV2.\n","properties":{"entityId":{"type":"number","description":"The ID of the entity.\n"},"entityType":{"type":"string","description":"The entity type. Available values are 'reseller', 'client', 'project'.\n"},"id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["entityId","entityType"]},"outputs":{"description":"A collection of values returned by getResellerImagesV2.\n","properties":{"entityId":{"description":"The ID of the entity.\n","type":"number"},"entityType":{"description":"The entity type. Available values are 'reseller', 'client', 'project'.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"options":{"description":"This set defines image IDs that can be attached to the instances of the reseller.\n","items":{"$ref":"#/types/edgecenter:index%2FgetResellerImagesV2Option:getResellerImagesV2Option"},"type":"array"}},"required":["entityId","entityType","id","options"],"type":"object"}},"edgecenter:index/getResellerNetworks:getResellerNetworks":{"description":"!!! This data source has been created for resellers and only works with the reseller API key. !!!\n\n\tReturns the list of networks with subnet details that are available to the reseller and its clients in all regions.\n\tIf the\u003cspan pulumi-lang-nodejs=\" clientId \" pulumi-lang-dotnet=\" ClientId \" pulumi-lang-go=\" clientId \" pulumi-lang-python=\" client_id \" pulumi-lang-yaml=\" clientId \" pulumi-lang-java=\" clientId \"\u003e client_id \u003c/span\u003eand\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\u003eparameters are not specified, the network or subnet is not owned by a reseller client or project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst rnw = edgecenter.getResellerNetworks({\n    shared: false,\n    orderBy: \"name.desc\",\n    metadataKv: {\n        key_1: \"value_1\",\n    },\n    metadataKs: [\"key_1\"],\n});\nexport const view = rnw;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nrnw = edgecenter.get_reseller_networks(shared=False,\n    order_by=\"name.desc\",\n    metadata_kv={\n        \"key_1\": \"value_1\",\n    },\n    metadata_ks=[\"key_1\"])\npulumi.export(\"view\", rnw)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rnw = Edgecenter.GetResellerNetworks.Invoke(new()\n    {\n        Shared = false,\n        OrderBy = \"name.desc\",\n        MetadataKv = \n        {\n            { \"key_1\", \"value_1\" },\n        },\n        MetadataKs = new[]\n        {\n            \"key_1\",\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = rnw,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trnw, err := edgecenter.GetResellerNetworks(ctx, \u0026edgecenter.GetResellerNetworksArgs{\n\t\t\tShared:  pulumi.BoolRef(false),\n\t\t\tOrderBy: pulumi.StringRef(\"name.desc\"),\n\t\t\tMetadataKv: map[string]interface{}{\n\t\t\t\t\"key_1\": \"value_1\",\n\t\t\t},\n\t\t\tMetadataKs: []string{\n\t\t\t\t\"key_1\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", rnw)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetResellerNetworksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var rnw = EdgecenterFunctions.getResellerNetworks(GetResellerNetworksArgs.builder()\n            .shared(false)\n            .orderBy(\"name.desc\")\n            .metadataKv(Map.of(\"key_1\", \"value_1\"))\n            .metadataKs(\"key_1\")\n            .build());\n\n        ctx.export(\"view\", rnw);\n    }\n}\n```\n```yaml\nvariables:\n  rnw:\n    fn::invoke:\n      function: edgecenter:getResellerNetworks\n      arguments:\n        shared: false\n        orderBy: name.desc\n        metadataKv:\n          key_1: value_1\n        metadataKs:\n          - key_1\noutputs:\n  view: ${rnw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getResellerNetworks.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"metadataKs":{"type":"array","items":{"type":"string"},"description":"Filter by metadata keys. Must be a valid JSON string. \"metadata_k=[\"value\", \"sense\"]\"\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {key = \"value\", key*1 = \"value*1\"}.\n"},"networkType":{"type":"string","description":"Filter networks by the type of the network (vlan or vxlan).\n"},"orderBy":{"type":"string","description":"Order networks by transmitted fields and directions (name.asc).\n"},"shared":{"type":"boolean","description":"Can be used to only show networks with the shared state.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getResellerNetworks.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"metadataKs":{"description":"Filter by metadata keys. Must be a valid JSON string. \"metadata_k=[\"value\", \"sense\"]\"\n","items":{"type":"string"},"type":"array"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {key = \"value\", key*1 = \"value*1\"}.\n","type":"object"},"networkType":{"description":"Filter networks by the type of the network (vlan or vxlan).\n","type":"string"},"networks":{"description":"A list of read-only reseller networks.\n","items":{"$ref":"#/types/edgecenter:index%2FgetResellerNetworksNetwork:getResellerNetworksNetwork"},"type":"array"},"orderBy":{"description":"Order networks by transmitted fields and directions (name.asc).\n","type":"string"},"shared":{"description":"Can be used to only show networks with the shared state.\n","type":"boolean"}},"required":["id","networks"],"type":"object"}},"edgecenter:index/getReservedfixedip:getReservedfixedip":{"description":"Represent reserved ips\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst ip = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getReservedfixedip({\n    fixedIpAddress: \"192.168.0.66\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = ip;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nip = edgecenter.get_reservedfixedip(fixed_ip_address=\"192.168.0.66\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", ip)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var ip = Edgecenter.GetReservedfixedip.Invoke(new()\n    {\n        FixedIpAddress = \"192.168.0.66\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = ip,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip, err := edgecenter.LookupReservedfixedip(ctx, \u0026edgecenter.LookupReservedfixedipArgs{\n\t\t\tFixedIpAddress: \"192.168.0.66\",\n\t\t\tRegionId:       pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId:      pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", ip)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetReservedfixedipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var ip = EdgecenterFunctions.getReservedfixedip(GetReservedfixedipArgs.builder()\n            .fixedIpAddress(\"192.168.0.66\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", ip);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  ip:\n    fn::invoke:\n      function: edgecenter:getReservedfixedip\n      arguments:\n        fixedIpAddress: 192.168.0.66\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${ip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getReservedfixedip.\n","properties":{"fixedIpAddress":{"type":"string","description":"The IP address that is associated with the reserved IP.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object","required":["fixedIpAddress"]},"outputs":{"description":"A collection of values returned by getReservedfixedip.\n","properties":{"allowedAddressPairs":{"description":"Group of IP addresses that share the current IP as VIP.\n","items":{"$ref":"#/types/edgecenter:index%2FgetReservedfixedipAllowedAddressPair:getReservedfixedipAllowedAddressPair"},"type":"array"},"fixedIpAddress":{"description":"The IP address that is associated with the reserved IP.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"instancePortsThatShareVips":{"description":"instance ports that share a VIP\n","items":{"type":"string"},"type":"array"},"isVip":{"description":"Flag to determine if the reserved fixed IP should be treated as a Virtual IP (VIP).\n","type":"boolean"},"networkId":{"description":"ID of the network to which the reserved fixed IP is associated.\n","type":"string"},"portId":{"description":"ID of the\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\u003eunderlying the reserved fixed IP\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"reservation":{"additionalProperties":{"type":"string"},"description":"The status of the reserved fixed IP with the type of the resource and the ID it is attached to\n","type":"object"},"status":{"description":"The current status of the reserved fixed IP.\n","type":"string"},"subnetId":{"description":"ID of the subnet from which the fixed IP should be reserved.\n","type":"string"}},"required":["allowedAddressPairs","fixedIpAddress","id","instancePortsThatShareVips","isVip","networkId","portId","reservation","status","subnetId"],"type":"object"}},"edgecenter:index/getRouter:getRouter":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst tr = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getRouter({\n    name: \"test_router\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = tr;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\ntr = edgecenter.get_router(name=\"test_router\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", tr)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var tr = Edgecenter.GetRouter.Invoke(new()\n    {\n        Name = \"test_router\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = tr,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttr, err := edgecenter.LookupRouter(ctx, \u0026edgecenter.LookupRouterArgs{\n\t\t\tName:      pulumi.StringRef(\"test_router\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", tr)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var tr = EdgecenterFunctions.getRouter(GetRouterArgs.builder()\n            .name(\"test_router\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", tr);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  tr:\n    fn::invoke:\n      function: edgecenter:getRouter\n      arguments:\n        name: test_router\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${tr}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRouter.\n","properties":{"id":{"type":"string","description":"The ID of the router. Either 'id' or 'name' must be specified.\n"},"name":{"type":"string","description":"The name of the router. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRouter.\n","properties":{"externalGatewayInfos":{"description":"Information related to the external gateway.\n","items":{"$ref":"#/types/edgecenter:index%2FgetRouterExternalGatewayInfo:getRouterExternalGatewayInfo"},"type":"array"},"id":{"description":"The ID of the router. Either 'id' or 'name' must be specified.\n","type":"string"},"interfaces":{"description":"Set of interfaces associated with the router.\n","items":{"$ref":"#/types/edgecenter:index%2FgetRouterInterface:getRouterInterface"},"type":"array"},"name":{"description":"The name of the router. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"routes":{"description":"Set of static routes to be applied to the router.\n","items":{"$ref":"#/types/edgecenter:index%2FgetRouterRoute:getRouterRoute"},"type":"array"},"status":{"description":"The current status of the router resource.\n","type":"string"}},"required":["externalGatewayInfos","id","interfaces","name","routes","status"],"type":"object"}},"edgecenter:index/getSecret:getSecret":{"description":"Represent secret\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst lbHttps = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getSecret({\n    name: \"lb_https\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = lbHttps;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\nlb_https = edgecenter.get_secret(name=\"lb_https\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", lb_https)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var lbHttps = Edgecenter.GetSecret.Invoke(new()\n    {\n        Name = \"lb_https\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = lbHttps,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlbHttps, err := edgecenter.LookupSecret(ctx, \u0026edgecenter.LookupSecretArgs{\n\t\t\tName:      pulumi.StringRef(\"lb_https\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", lbHttps)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetSecretArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var lbHttps = EdgecenterFunctions.getSecret(GetSecretArgs.builder()\n            .name(\"lb_https\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", lbHttps);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  lbHttps:\n    fn::invoke:\n      function: edgecenter:getSecret\n      arguments:\n        name: lb_https\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${lbHttps}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecret.\n","properties":{"id":{"type":"string","description":"The ID of the secret. Either 'id' or 'name' must be specified.\n"},"name":{"type":"string","description":"The name of the secret. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecret.\n","properties":{"algorithm":{"description":"The encryption algorithm used for the secret.\n","type":"string"},"bitLength":{"description":"The bit length of the encryption algorithm.\n","type":"number"},"contentTypes":{"additionalProperties":{"type":"string"},"description":"The content types associated with the secret's payload.\n","type":"object"},"created":{"description":"Datetime when the secret was created. The format is 2025-12-28T19:14:44.180394\n","type":"string"},"expiration":{"description":"Datetime when the secret will expire. The format is 2025-12-28T19:14:44.180394\n","type":"string"},"id":{"description":"The ID of the secret. Either 'id' or 'name' must be specified.\n","type":"string"},"mode":{"description":"The mode of the encryption algorithm.\n","type":"string"},"name":{"description":"The name of the secret. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"status":{"description":"The current status of the secret.\n","type":"string"}},"required":["algorithm","bitLength","contentTypes","created","expiration","id","mode","name","status"],"type":"object"}},"edgecenter:index/getSecuritygroup:getSecuritygroup":{"description":"Represent SecurityGroups(Firewall)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst _default = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getSecuritygroup({\n    name: \"default\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = _default;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\ndefault = edgecenter.get_securitygroup(name=\"default\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var @default = Edgecenter.GetSecuritygroup.Invoke(new()\n    {\n        Name = \"default\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = @default,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := edgecenter.LookupSecuritygroup(ctx, \u0026edgecenter.LookupSecuritygroupArgs{\n\t\t\tName:      pulumi.StringRef(\"default\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", _default)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetSecuritygroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var default = EdgecenterFunctions.getSecuritygroup(GetSecuritygroupArgs.builder()\n            .name(\"default\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", default_);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  default:\n    fn::invoke:\n      function: edgecenter:getSecuritygroup\n      arguments:\n        name: default\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${default}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecuritygroup.\n","properties":{"id":{"type":"string","description":"The ID of the security group. Either 'id' or 'name' must be specified.\n"},"metadataK":{"type":"string","description":"Filtration query opts (only key).\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n"},"name":{"type":"string","description":"The name of the security group. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecuritygroup.\n","properties":{"description":{"description":"A detailed description of the security group.\n","type":"string"},"id":{"description":"The ID of the security group. Either 'id' or 'name' must be specified.\n","type":"string"},"metadataK":{"description":"Filtration query opts (only key).\n","type":"string"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n","type":"object"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetSecuritygroupMetadataReadOnly:getSecuritygroupMetadataReadOnly"},"type":"array"},"name":{"description":"The name of the security group. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"securityGroupRules":{"description":"Firewall rules control what inbound(ingress) and outbound(egress) traffic is allowed to enter or leave a Instance. At least one 'egress' rule should be set\n","items":{"$ref":"#/types/edgecenter:index%2FgetSecuritygroupSecurityGroupRule:getSecuritygroupSecurityGroupRule"},"type":"array"}},"required":["description","id","metadataReadOnlies","name","securityGroupRules"],"type":"object"}},"edgecenter:index/getServergroup:getServergroup":{"description":"Represent server group data\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst _default = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getServergroup({\n    name: \"default\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = _default;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\ndefault = edgecenter.get_servergroup(name=\"default\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var @default = Edgecenter.GetServergroup.Invoke(new()\n    {\n        Name = \"default\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = @default,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := edgecenter.LookupServergroup(ctx, \u0026edgecenter.LookupServergroupArgs{\n\t\t\tName:      pulumi.StringRef(\"default\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", _default)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetServergroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var default = EdgecenterFunctions.getServergroup(GetServergroupArgs.builder()\n            .name(\"default\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", default_);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  default:\n    fn::invoke:\n      function: edgecenter:getServergroup\n      arguments:\n        name: default\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${default}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServergroup.\n","properties":{"id":{"type":"string","description":"The ID of the server group. Either 'id' or 'name' must be specified.\n"},"name":{"type":"string","description":"The name of the server group. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServergroup.\n","properties":{"id":{"description":"The ID of the server group. Either 'id' or 'name' must be specified.\n","type":"string"},"instances":{"description":"Instances in this server group\n","items":{"$ref":"#/types/edgecenter:index%2FgetServergroupInstance:getServergroupInstance"},"type":"array"},"name":{"description":"The name of the server group. Either 'id' or 'name' must be specified.\n","type":"string"},"policy":{"description":"Server group policy. Available value is 'affinity', 'anti-affinity'\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"}},"required":["id","instances","name","policy"],"type":"object"}},"edgecenter:index/getSnapshot:getSnapshot":{"description":"A snapshot is a feature that allows you to capture the current state of the instance or volume at a specific point in time\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst _default = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getSnapshot({\n    name: \"default\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = _default;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\ndefault = edgecenter.get_snapshot(name=\"default\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", default)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var @default = Edgecenter.GetSnapshot.Invoke(new()\n    {\n        Name = \"default\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = @default,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := edgecenter.LookupSnapshot(ctx, \u0026edgecenter.LookupSnapshotArgs{\n\t\t\tName:      pulumi.StringRef(\"default\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", _default)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetSnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var default = EdgecenterFunctions.getSnapshot(GetSnapshotArgs.builder()\n            .name(\"default\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", default_);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  default:\n    fn::invoke:\n      function: edgecenter:getSnapshot\n      arguments:\n        name: default\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${default}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSnapshot.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the snapshot. Either 'name' or 'snapshot_id' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"},"snapshotId":{"type":"string","description":"The ID of the snapshot.Either 'name' or 'snapshot_id' must be specified.\n"},"volumeId":{"type":"string","description":"The ID of the volume this snapshot was made from.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSnapshot.\n","properties":{"createdAt":{"description":"The datetime when the snapshot was created.\n","type":"string"},"creatorTaskId":{"description":"The task that created this entity.\n","type":"string"},"description":{"description":"The description of the snapshot.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"metadata":{"additionalProperties":{"type":"string"},"description":"The metadata\n","type":"object"},"name":{"description":"The name of the snapshot. Either 'name' or 'snapshot_id' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"size":{"description":"The size of the snapshot, GiB.\n","type":"number"},"snapshotId":{"description":"The ID of the snapshot.Either 'name' or 'snapshot_id' must be specified.\n","type":"string"},"status":{"description":"The status of the snapshot.\n","type":"string"},"updatedAt":{"description":"The datetime when the snapshot was last updated.\n","type":"string"},"volumeId":{"description":"The ID of the volume this snapshot was made from.\n","type":"string"}},"required":["createdAt","creatorTaskId","description","id","metadata","name","projectId","projectName","regionId","regionName","size","snapshotId","status","updatedAt","volumeId"],"type":"object"}},"edgecenter:index/getStorageS3:getStorageS3":{"description":"Represent s3 storage resource. https://storage.edgecenter.ru/storage/list\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst exampleS3 = edgecenter.getStorageS3({\n    name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample_s3 = edgecenter.get_storage_s3(name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleS3 = Edgecenter.GetStorageS3.Invoke(new()\n    {\n        Name = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.LookupStorageS3(ctx, \u0026edgecenter.LookupStorageS3Args{\n\t\t\tName: pulumi.StringRef(\"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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetStorageS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleS3 = EdgecenterFunctions.getStorageS3(GetStorageS3Args.builder()\n            .name(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleS3:\n    fn::invoke:\n      function: edgecenter:getStorageS3\n      arguments:\n        name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getStorageS3.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"A name of new storage resource.\n"},"storageId":{"type":"number","description":"An id of new storage resource.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getStorageS3.\n","properties":{"clientId":{"description":"An client id of new storage resource.\n","type":"number"},"generatedEndpoint":{"description":"A s3 entry point for new storage resource.\n","type":"string"},"generatedHttpEndpoint":{"description":"A http s3 entry point for new storage resource.\n","type":"string"},"generatedS3Endpoint":{"description":"A s3 endpoint for new storage resource.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"location":{"description":"A location of new storage resource. One of (s-dt2)\n","type":"string"},"name":{"description":"A name of new storage resource.\n","type":"string"},"storageId":{"description":"An id of new storage resource.\n","type":"number"}},"required":["clientId","generatedEndpoint","generatedHttpEndpoint","generatedS3Endpoint","id","location"],"type":"object"}},"edgecenter:index/getStorageS3Bucket:getStorageS3Bucket":{"description":"Represent storage s3 bucket resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst exampleS3Bucket = edgecenter.getStorageS3Bucket({\n    storageId: 1,\n    name: \"example1bucket2name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nexample_s3_bucket = edgecenter.get_storage_s3_bucket(storage_id=1,\n    name=\"example1bucket2name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleS3Bucket = Edgecenter.GetStorageS3Bucket.Invoke(new()\n    {\n        StorageId = 1,\n        Name = \"example1bucket2name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := edgecenter.LookupStorageS3Bucket(ctx, \u0026edgecenter.LookupStorageS3BucketArgs{\n\t\t\tStorageId: 1,\n\t\t\tName:      \"example1bucket2name\",\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.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetStorageS3BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleS3Bucket = EdgecenterFunctions.getStorageS3Bucket(GetStorageS3BucketArgs.builder()\n            .storageId(1)\n            .name(\"example1bucket2name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleS3Bucket:\n    fn::invoke:\n      function: edgecenter:getStorageS3Bucket\n      arguments:\n        storageId: 1\n        name: example1bucket2name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getStorageS3Bucket.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"A name of storage bucket resource.\n"},"storageId":{"type":"number","description":"An id of existing storage resource.\n"}},"type":"object","required":["name","storageId"]},"outputs":{"description":"A collection of values returned by getStorageS3Bucket.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"A name of storage bucket resource.\n","type":"string"},"storageId":{"description":"An id of existing storage resource.\n","type":"number"}},"required":["id","name","storageId"],"type":"object"}},"edgecenter:index/getSubnet:getSubnet":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst tsn = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getSubnet({\n    name: \"subtest\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = tsn;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\ntsn = edgecenter.get_subnet(name=\"subtest\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", tsn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var tsn = Edgecenter.GetSubnet.Invoke(new()\n    {\n        Name = \"subtest\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = tsn,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttsn, err := edgecenter.LookupSubnet(ctx, \u0026edgecenter.LookupSubnetArgs{\n\t\t\tName:      pulumi.StringRef(\"subtest\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", tsn)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetSubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var tsn = EdgecenterFunctions.getSubnet(GetSubnetArgs.builder()\n            .name(\"subtest\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", tsn);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  tsn:\n    fn::invoke:\n      function: edgecenter:getSubnet\n      arguments:\n        name: subtest\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${tsn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubnet.\n","properties":{"id":{"type":"string","description":"The ID of the subnet. Either 'id' or 'name' must be specified.\n"},"metadataK":{"type":"string","description":"Filtration query opts (only key).\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n"},"name":{"type":"string","description":"The name of the subnet.\n"},"networkId":{"type":"string","description":"The ID of the network to which this subnet belongs.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSubnet.\n","properties":{"allocationPools":{"description":"A list of allocation pools for DHCP. If omitted but DHCP or gateway settings are changed on update, pools are automatically reassigned.\n","items":{"$ref":"#/types/edgecenter:index%2FgetSubnetAllocationPool:getSubnetAllocationPool"},"type":"array"},"cidr":{"description":"Represents the IP address range of the subnet.\n","type":"string"},"connectToNetworkRouter":{"description":"True if the network's router should get a gateway in this subnet. Must be explicitly 'false' when\u003cspan pulumi-lang-nodejs=\" gatewayIp \" pulumi-lang-dotnet=\" GatewayIp \" pulumi-lang-go=\" gatewayIp \" pulumi-lang-python=\" gateway_ip \" pulumi-lang-yaml=\" gatewayIp \" pulumi-lang-java=\" gatewayIp \"\u003e gateway_ip \u003c/span\u003eis null.\n","type":"boolean"},"dnsNameservers":{"description":"List of DNS name servers for the subnet.\n","items":{"type":"string"},"type":"array"},"enableDhcp":{"description":"Enable DHCP for this subnet. If true, DHCP will be used to assign IP addresses to instances within this subnet.\n","type":"boolean"},"gatewayIp":{"description":"The IP address of the gateway for this subnet.\n","type":"string"},"hostRoutes":{"description":"Set of additional routes to be added to instances that are part of this subnet.\n","items":{"$ref":"#/types/edgecenter:index%2FgetSubnetHostRoute:getSubnetHostRoute"},"type":"array"},"id":{"description":"The ID of the subnet. Either 'id' or 'name' must be specified.\n","type":"string"},"metadataK":{"description":"Filtration query opts (only key).\n","type":"string"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n","type":"object"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetSubnetMetadataReadOnly:getSubnetMetadataReadOnly"},"type":"array"},"name":{"description":"The name of the subnet.\n","type":"string"},"networkId":{"description":"The ID of the network to which this subnet belongs.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"}},"required":["allocationPools","cidr","connectToNetworkRouter","dnsNameservers","enableDhcp","gatewayIp","hostRoutes","id","metadataReadOnlies","name","networkId"],"type":"object"}},"edgecenter:index/getUseractionsSubscriptionAmqp:getUseractionsSubscriptionAmqp":{"description":"Data source provides access to user action logs and client subscription via AMQP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst sub = edgecenter.getUseractionsSubscriptionAmqp({});\nexport const view = sub;\nconst subForClient = edgecenter.getUseractionsSubscriptionAmqp({\n    clientId: 123,\n});\nexport const subClientView = subForClient;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nsub = edgecenter.get_useractions_subscription_amqp()\npulumi.export(\"view\", sub)\nsub_for_client = edgecenter.get_useractions_subscription_amqp(client_id=123)\npulumi.export(\"subClientView\", sub_for_client)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sub = Edgecenter.GetUseractionsSubscriptionAmqp.Invoke();\n\n    var subForClient = Edgecenter.GetUseractionsSubscriptionAmqp.Invoke(new()\n    {\n        ClientId = 123,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = sub,\n        [\"subClientView\"] = subForClient,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsub, err := edgecenter.LookupUseractionsSubscriptionAmqp(ctx, \u0026edgecenter.LookupUseractionsSubscriptionAmqpArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", sub)\n\t\tsubForClient, err := edgecenter.LookupUseractionsSubscriptionAmqp(ctx, \u0026edgecenter.LookupUseractionsSubscriptionAmqpArgs{\n\t\t\tClientId: pulumi.Float64Ref(123),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"subClientView\", subForClient)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetUseractionsSubscriptionAmqpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sub = EdgecenterFunctions.getUseractionsSubscriptionAmqp(GetUseractionsSubscriptionAmqpArgs.builder()\n            .build());\n\n        ctx.export(\"view\", sub);\n        final var subForClient = EdgecenterFunctions.getUseractionsSubscriptionAmqp(GetUseractionsSubscriptionAmqpArgs.builder()\n            .clientId(123)\n            .build());\n\n        ctx.export(\"subClientView\", subForClient);\n    }\n}\n```\n```yaml\nvariables:\n  sub:\n    fn::invoke:\n      function: edgecenter:getUseractionsSubscriptionAmqp\n      arguments: {}\n  subForClient:\n    fn::invoke:\n      function: edgecenter:getUseractionsSubscriptionAmqp\n      arguments:\n        clientId: 123\noutputs:\n  view: ${sub}\n  subClientView: ${subForClient}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUseractionsSubscriptionAmqp.\n","properties":{"clientId":{"type":"number","description":"The ID of the client.\n"},"id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUseractionsSubscriptionAmqp.\n","properties":{"clientId":{"description":"The ID of the client.\n","type":"number"},"connectionString":{"description":"A connection string of the following structure \"scheme://username:password@host:port/virtual_host\".\n","type":"string"},"exchange":{"description":"Exchange name.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"receiveChildClientEvents":{"description":"Set to true if you would like to receive user action logs of all clients with reseller*id matching the current client*id. Defaults to false.\n","type":"boolean"},"routingKey":{"description":"Routing key.\n","type":"string"}},"required":["connectionString","exchange","id","receiveChildClientEvents","routingKey"],"type":"object"}},"edgecenter:index/getUseractionsSubscriptionLog:getUseractionsSubscriptionLog":{"description":"Data source provides access to user action logs and client subscription.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst sub = edgecenter.getUseractionsSubscriptionLog({});\nexport const view = sub;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\nsub = edgecenter.get_useractions_subscription_log()\npulumi.export(\"view\", sub)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sub = Edgecenter.GetUseractionsSubscriptionLog.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = sub,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsub, err := edgecenter.LookupUseractionsSubscriptionLog(ctx, \u0026edgecenter.LookupUseractionsSubscriptionLogArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", sub)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetUseractionsSubscriptionLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sub = EdgecenterFunctions.getUseractionsSubscriptionLog(GetUseractionsSubscriptionLogArgs.builder()\n            .build());\n\n        ctx.export(\"view\", sub);\n    }\n}\n```\n```yaml\nvariables:\n  sub:\n    fn::invoke:\n      function: edgecenter:getUseractionsSubscriptionLog\n      arguments: {}\noutputs:\n  view: ${sub}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUseractionsSubscriptionLog.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUseractionsSubscriptionLog.\n","properties":{"authHeaderName":{"description":"The name of the authorization header.\n","type":"string"},"authHeaderValue":{"description":"The value of the authorization header\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"url":{"description":"The URL to send user action logs for the specified client.\n","type":"string"}},"required":["authHeaderName","authHeaderValue","id","url"],"type":"object"}},"edgecenter:index/getVolume:getVolume":{"description":"A volume is a detachable block storage device akin to a USB hard drive or SSD, but located remotely in the cloud.\nVolumes can be attached to a virtual machine and manipulated like a physical hard drive.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as edgecenter from \"@pulumi/edgecenter\";\n\nconst pr = edgecenter.getProject({\n    name: \"test\",\n});\nconst rg = edgecenter.getRegion({\n    name: \"ED-10 Preprod\",\n});\nconst tv = Promise.all([rg, pr]).then(([rg, pr]) =\u003e edgecenter.getVolume({\n    name: \"test-hd\",\n    regionId: rg.id,\n    projectId: pr.id,\n}));\nexport const view = tv;\n```\n```python\nimport pulumi\nimport pulumi_edgecenter as edgecenter\n\npr = edgecenter.get_project(name=\"test\")\nrg = edgecenter.get_region(name=\"ED-10 Preprod\")\ntv = edgecenter.get_volume(name=\"test-hd\",\n    region_id=rg.id,\n    project_id=pr.id)\npulumi.export(\"view\", tv)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Edgecenter = Pulumi.Edgecenter;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pr = Edgecenter.GetProject.Invoke(new()\n    {\n        Name = \"test\",\n    });\n\n    var rg = Edgecenter.GetRegion.Invoke(new()\n    {\n        Name = \"ED-10 Preprod\",\n    });\n\n    var tv = Edgecenter.GetVolume.Invoke(new()\n    {\n        Name = \"test-hd\",\n        RegionId = rg.Apply(getRegionResult =\u003e getRegionResult.Id),\n        ProjectId = pr.Apply(getProjectResult =\u003e getProjectResult.Id),\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"view\"] = tv,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/edgecenter/edgecenter\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpr, err := edgecenter.LookupProject(ctx, \u0026edgecenter.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trg, err := edgecenter.GetRegion(ctx, \u0026edgecenter.GetRegionArgs{\n\t\t\tName: \"ED-10 Preprod\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttv, err := edgecenter.LookupVolume(ctx, \u0026edgecenter.LookupVolumeArgs{\n\t\t\tName:      pulumi.StringRef(\"test-hd\"),\n\t\t\tRegionId:  pulumi.Float64Ref(rg.Id),\n\t\t\tProjectId: pulumi.Float64Ref(pr.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"view\", tv)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.edgecenter.EdgecenterFunctions;\nimport com.pulumi.edgecenter.inputs.GetProjectArgs;\nimport com.pulumi.edgecenter.inputs.GetRegionArgs;\nimport com.pulumi.edgecenter.inputs.GetVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pr = EdgecenterFunctions.getProject(GetProjectArgs.builder()\n            .name(\"test\")\n            .build());\n\n        final var rg = EdgecenterFunctions.getRegion(GetRegionArgs.builder()\n            .name(\"ED-10 Preprod\")\n            .build());\n\n        final var tv = EdgecenterFunctions.getVolume(GetVolumeArgs.builder()\n            .name(\"test-hd\")\n            .regionId(rg.id())\n            .projectId(pr.id())\n            .build());\n\n        ctx.export(\"view\", tv);\n    }\n}\n```\n```yaml\nvariables:\n  pr:\n    fn::invoke:\n      function: edgecenter:getProject\n      arguments:\n        name: test\n  rg:\n    fn::invoke:\n      function: edgecenter:getRegion\n      arguments:\n        name: ED-10 Preprod\n  tv:\n    fn::invoke:\n      function: edgecenter:getVolume\n      arguments:\n        name: test-hd\n        regionId: ${rg.id}\n        projectId: ${pr.id}\noutputs:\n  view: ${tv}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVolume.\n","properties":{"id":{"type":"string","description":"The ID of the volume. Either 'id' or 'name' must be specified.\n"},"metadataK":{"type":"string","description":"Filtration query opts (only key).\n"},"metadataKv":{"type":"object","additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n"},"name":{"type":"string","description":"The name of the volume. Either 'id' or 'name' must be specified.\n"},"projectId":{"type":"number","description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n"},"projectName":{"type":"string","description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n"},"regionId":{"type":"number","description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n"},"regionName":{"type":"string","description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVolume.\n","properties":{"id":{"description":"The ID of the volume. Either 'id' or 'name' must be specified.\n","type":"string"},"metadataK":{"description":"Filtration query opts (only key).\n","type":"string"},"metadataKv":{"additionalProperties":{"type":"string"},"description":"Filtration query opts, for example, {offset = \"10\", limit = \"10\"}\n","type":"object"},"metadataReadOnlies":{"description":"A list of read-only metadata items, e.g. tags.\n","items":{"$ref":"#/types/edgecenter:index%2FgetVolumeMetadataReadOnly:getVolumeMetadataReadOnly"},"type":"array"},"name":{"description":"The name of the volume. Either 'id' or 'name' must be specified.\n","type":"string"},"projectId":{"description":"The uuid of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"number"},"projectName":{"description":"The name of the project. Either 'project*id' or 'project*name' must be specified.\n","type":"string"},"regionId":{"description":"The uuid of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"number"},"regionName":{"description":"The name of the region. Either 'region*id' or 'region*name' must be specified.\n","type":"string"},"size":{"description":"The size of the volume, specified in gigabytes (GB).\n","type":"number"},"typeName":{"description":"The type of volume to create. Valid values are 'ssd_hiiops', 'standard', 'cold', and 'ultra'. Defaults to 'standard'.\n","type":"string"}},"required":["id","metadataReadOnlies","name","size","typeName"],"type":"object"}},"pulumi:providers:edgecenter/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:edgecenter"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2VkZ2UtY2VudGVyL2VkZ2VjZW50ZXIiLCJ2ZXJzaW9uIjoiMC4xMi4wIn19"}}