{"name":"ec","displayName":"ElasticCloud (EC)","version":"0.10.10","description":"A Pulumi package for creating and managing ElasticCloud resources.","keywords":["pulumi","ec","elasticsearch","es","elastic","elasticcloud"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`ec` Terraform Provider](https://github.com/elastic/terraform-provider-ec).","repository":"https://github.com/pulumi/pulumi-ec","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"ec":"ElasticCloud"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-ec/sdk/go/ec","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package for creating and managing ElasticCloud resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/elastic/terraform-provider-ec)\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 first check the [`pulumi-ec` repo](https://github.com/pulumi/pulumi-ec/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-ec` repo](https://github.com/elastic/terraform-provider-ec/issues).","devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/elastic/terraform-provider-ec)\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 first check the [`pulumi-ec` repo](https://github.com/pulumi/pulumi-ec/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-ec` repo](https://github.com/elastic/terraform-provider-ec/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"apikey":{"type":"string","description":"API Key to use for API authentication. The only valid authentication mechanism for the Elasticsearch Service.","secret":true},"endpoint":{"type":"string","description":"Endpoint where the terraform provider will point to. Defaults to \"https://api.elastic-cloud.com\"."},"insecure":{"type":"boolean","description":"Allow the provider to skip TLS validation on its outgoing HTTP calls."},"password":{"type":"string","description":"Password to use for API authentication. Available only when targeting ECE Installations or Elasticsearch Service Private.","secret":true},"timeout":{"type":"string","description":"Timeout used for individual HTTP calls. Defaults to \"1m\"."},"username":{"type":"string","description":"Username to use for API authentication. Available only when targeting ECE Installations or Elasticsearch Service Private."},"verbose":{"type":"boolean","description":"When set, a \"request.log\" file will be written with all outgoing HTTP requests. Defaults to \"false\"."},"verboseCredentials":{"type":"boolean","description":"When set with verbose, the contents of the Authorization header will not be redacted. Defaults to \"false\"."},"verboseFile":{"type":"string","description":"Timeout used for individual HTTP calls. Defaults to \"1m\"."}}},"types":{"ec:index/DeploymentApm:DeploymentApm":{"properties":{"config":{"$ref":"#/types/ec:index/DeploymentApmConfig:DeploymentApmConfig","description":"Optionally define the Apm configuration options for the APM Server\n"},"elasticsearchClusterRefId":{"type":"string"},"httpEndpoint":{"type":"string"},"httpsEndpoint":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"integer"},"latestInstanceConfigurationId":{"type":"string"},"latestInstanceConfigurationVersion":{"type":"integer"},"refId":{"type":"string"},"region":{"type":"string"},"resourceId":{"type":"string"},"size":{"type":"string"},"sizeResource":{"type":"string","description":"Optional size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer"}},"type":"object","language":{"nodejs":{"requiredOutputs":["elasticsearchClusterRefId","httpEndpoint","httpsEndpoint","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","refId","region","resourceId","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentApmConfig:DeploymentApmConfig":{"properties":{"debugEnabled":{"type":"boolean","description":"Optionally enable debug mode for APM servers - defaults to false\n"},"dockerImage":{"type":"string","description":"Optionally override the docker image the APM nodes will use. This option will not work in ESS customers and should only be changed if you know what you're doing.\n"},"userSettingsJson":{"type":"string","description":"An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*yaml' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (This field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"},"userSettingsOverrideJson":{"type":"string","description":"An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*yaml' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsOverrideYaml":{"type":"string","description":"An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*json' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsYaml":{"type":"string","description":"An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*json' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (These field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["debugEnabled"]}}},"ec:index/DeploymentElasticsearch:DeploymentElasticsearch":{"properties":{"autoscale":{"type":"boolean","description":"Enable or disable autoscaling. Defaults to the setting coming from the deployment template.\n"},"cloudId":{"type":"string","description":"The encoded Elasticsearch credentials to use in Beats or Logstash\n"},"cold":{"$ref":"#/types/ec:index/DeploymentElasticsearchCold:DeploymentElasticsearchCold","description":"'cold' topology element\n"},"config":{"$ref":"#/types/ec:index/DeploymentElasticsearchConfig:DeploymentElasticsearchConfig","description":"Elasticsearch settings which will be applied to all topologies\n"},"coordinating":{"$ref":"#/types/ec:index/DeploymentElasticsearchCoordinating:DeploymentElasticsearchCoordinating","description":"'coordinating' topology element\n"},"extensions":{"type":"array","items":{"$ref":"#/types/ec:index/DeploymentElasticsearchExtension:DeploymentElasticsearchExtension"},"description":"Optional Elasticsearch extensions such as custom bundles or plugins.\n"},"frozen":{"$ref":"#/types/ec:index/DeploymentElasticsearchFrozen:DeploymentElasticsearchFrozen","description":"'frozen' topology element\n"},"hot":{"$ref":"#/types/ec:index/DeploymentElasticsearchHot:DeploymentElasticsearchHot","description":"'hot' topology element\n"},"httpEndpoint":{"type":"string","description":"The Elasticsearch resource HTTP endpoint\n"},"httpsEndpoint":{"type":"string","description":"The Elasticsearch resource HTTPs endpoint\n"},"keystoreContents":{"type":"object","additionalProperties":{"$ref":"#/types/ec:index/DeploymentElasticsearchKeystoreContents:DeploymentElasticsearchKeystoreContents"},"description":"Keystore contents that are controlled by the deployment resource.\n"},"master":{"$ref":"#/types/ec:index/DeploymentElasticsearchMaster:DeploymentElasticsearchMaster","description":"'master' topology element\n"},"ml":{"$ref":"#/types/ec:index/DeploymentElasticsearchMl:DeploymentElasticsearchMl","description":"'ml' topology element\n"},"refId":{"type":"string","description":"A human readable reference for the Elasticsearch resource. The default value `main-elasticsearch` is recommended.\n"},"region":{"type":"string","description":"Elasticsearch Service (ESS) region where the deployment should be hosted. For Elastic Cloud Enterprise (ECE) installations, set to `\"ece-region\".\n"},"remoteClusters":{"type":"array","items":{"$ref":"#/types/ec:index/DeploymentElasticsearchRemoteCluster:DeploymentElasticsearchRemoteCluster"},"description":"Optional Elasticsearch remote clusters to configure for the Elasticsearch resource, can be set multiple times\n"},"resourceId":{"type":"string","description":"The Elasticsearch resource unique identifier\n"},"snapshot":{"$ref":"#/types/ec:index/DeploymentElasticsearchSnapshot:DeploymentElasticsearchSnapshot","description":"(ECE only) Snapshot configuration settings for an Elasticsearch cluster.\n"},"snapshotSource":{"$ref":"#/types/ec:index/DeploymentElasticsearchSnapshotSource:DeploymentElasticsearchSnapshotSource","description":"Restores data from a snapshot of another deployment.\n\n\u003e **Note on behavior** The \u003ccode\u003esnapshot_source\u003c/code\u003e block will not be saved in the Terraform state due to its transient nature. This means that whenever the \u003ccode\u003esnapshot_source\u003c/code\u003e block is set, a snapshot will **always be restored**, unless removed before running \u003ccode\u003eterraform apply\u003c/code\u003e.\n"},"strategy":{"type":"string","description":"Configuration strategy type autodetect, grow_and_shrink, rolling_grow_and_shrink, rolling_all\n"},"trustAccounts":{"type":"array","items":{"$ref":"#/types/ec:index/DeploymentElasticsearchTrustAccount:DeploymentElasticsearchTrustAccount"},"description":"Optional Elasticsearch account trust settings.\n"},"trustExternals":{"type":"array","items":{"$ref":"#/types/ec:index/DeploymentElasticsearchTrustExternal:DeploymentElasticsearchTrustExternal"},"description":"Optional Elasticsearch external trust settings.\n"},"warm":{"$ref":"#/types/ec:index/DeploymentElasticsearchWarm:DeploymentElasticsearchWarm","description":"'warm' topology element\n"}},"type":"object","required":["hot"],"language":{"nodejs":{"requiredOutputs":["autoscale","cloudId","hot","httpEndpoint","httpsEndpoint","master","refId","region","resourceId","snapshot","trustAccounts","trustExternals"]}}},"ec:index/DeploymentElasticsearchCold:DeploymentElasticsearchCold":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/DeploymentElasticsearchColdAutoscaling:DeploymentElasticsearchColdAutoscaling","description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Instance Configuration ID of the topology element\n"},"instanceConfigurationVersion":{"type":"integer","description":"Instance Configuration version of the topology element\n"},"latestInstanceConfigurationId":{"type":"string","description":"Latest Instance Configuration ID available on the deployment template for the topology element\n"},"latestInstanceConfigurationVersion":{"type":"integer","description":"Latest version available for the Instance Configuration with the latest*instance*configuration_id\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"The computed list of node roles for the current topology element\n"},"nodeTypeData":{"type":"string","description":"The node type for the Elasticsearch Topology element (data node)\n"},"nodeTypeIngest":{"type":"string","description":"The node type for the Elasticsearch Topology element (ingest node)\n"},"nodeTypeMaster":{"type":"string","description":"The node type for the Elasticsearch Topology element (master node)\n"},"nodeTypeMl":{"type":"string","description":"The node type for the Elasticsearch Topology element (machine learning node)\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per node in the \"\\n\\ng\" notation\n"},"sizeResource":{"type":"string","description":"Size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer","description":"Number of zones that the Elasticsearch cluster will span. This is used to set HA\n"}},"type":"object","required":["autoscaling"],"language":{"nodejs":{"requiredOutputs":["autoscaling","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentElasticsearchColdAutoscaling:DeploymentElasticsearchColdAutoscaling":{"properties":{"autoscale":{"type":"boolean","description":"Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for \u003cspan pulumi-lang-nodejs=\"`ml`\" pulumi-lang-dotnet=\"`Ml`\" pulumi-lang-go=\"`ml`\" pulumi-lang-python=\"`ml`\" pulumi-lang-yaml=\"`ml`\" pulumi-lang-java=\"`ml`\"\u003e`ml`\u003c/span\u003e tier only.\n"},"maxSize":{"type":"string","description":"Maximum autoscaling size. Set it to \"0g\" if tier should not be created when autoscaling is enabled on ES level\n"},"maxSizeResource":{"type":"string","description":"Maximum resource type for the maximum autoscaling setting.\n"},"minSize":{"type":"string","description":"Minimum autoscaling size.\n"},"minSizeResource":{"type":"string","description":"Minimum resource type for the minimum autoscaling setting.\n"},"policyOverrideJson":{"type":"string","description":"Computed policy overrides set directly via the API or other clients.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"]}}},"ec:index/DeploymentElasticsearchConfig:DeploymentElasticsearchConfig":{"properties":{"dockerImage":{"type":"string","description":"Overrides the docker image the Elasticsearch nodes will use. Note that this field will only work for internal users only.\n"},"plugins":{"type":"array","items":{"type":"string"},"description":"List of Elasticsearch supported plugins, which vary from version to version. Check the Stack Pack version to see which plugins are supported for each version. This is currently only available from the UI and [ecctl](https://www.elastic.co/guide/en/ecctl/master/ecctl_stack_list.html)\n"},"userSettingsJson":{"type":"string","description":"JSON-formatted user level \"elasticsearch.yml\" setting overrides\n"},"userSettingsOverrideJson":{"type":"string","description":"JSON-formatted admin (ECE) level \"elasticsearch.yml\" setting overrides\n"},"userSettingsOverrideYaml":{"type":"string","description":"YAML-formatted admin (ECE) level \"elasticsearch.yml\" setting overrides\n"},"userSettingsYaml":{"type":"string","description":"YAML-formatted user level \"elasticsearch.yml\" setting overrides\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["plugins"]}}},"ec:index/DeploymentElasticsearchCoordinating:DeploymentElasticsearchCoordinating":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/DeploymentElasticsearchCoordinatingAutoscaling:DeploymentElasticsearchCoordinatingAutoscaling","description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Instance Configuration ID of the topology element\n"},"instanceConfigurationVersion":{"type":"integer","description":"Instance Configuration version of the topology element\n"},"latestInstanceConfigurationId":{"type":"string","description":"Latest Instance Configuration ID available on the deployment template for the topology element\n"},"latestInstanceConfigurationVersion":{"type":"integer","description":"Latest version available for the Instance Configuration with the latest*instance*configuration_id\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"The computed list of node roles for the current topology element\n"},"nodeTypeData":{"type":"string","description":"The node type for the Elasticsearch Topology element (data node)\n"},"nodeTypeIngest":{"type":"string","description":"The node type for the Elasticsearch Topology element (ingest node)\n"},"nodeTypeMaster":{"type":"string","description":"The node type for the Elasticsearch Topology element (master node)\n"},"nodeTypeMl":{"type":"string","description":"The node type for the Elasticsearch Topology element (machine learning node)\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per node in the \"\\n\\ng\" notation\n"},"sizeResource":{"type":"string","description":"Size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer","description":"Number of zones that the Elasticsearch cluster will span. This is used to set HA\n"}},"type":"object","required":["autoscaling"],"language":{"nodejs":{"requiredOutputs":["autoscaling","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentElasticsearchCoordinatingAutoscaling:DeploymentElasticsearchCoordinatingAutoscaling":{"properties":{"autoscale":{"type":"boolean","description":"Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for \u003cspan pulumi-lang-nodejs=\"`ml`\" pulumi-lang-dotnet=\"`Ml`\" pulumi-lang-go=\"`ml`\" pulumi-lang-python=\"`ml`\" pulumi-lang-yaml=\"`ml`\" pulumi-lang-java=\"`ml`\"\u003e`ml`\u003c/span\u003e tier only.\n"},"maxSize":{"type":"string","description":"Maximum autoscaling size. Set it to \"0g\" if tier should not be created when autoscaling is enabled on ES level\n"},"maxSizeResource":{"type":"string","description":"Maximum resource type for the maximum autoscaling setting.\n"},"minSize":{"type":"string","description":"Minimum autoscaling size.\n"},"minSizeResource":{"type":"string","description":"Minimum resource type for the minimum autoscaling setting.\n"},"policyOverrideJson":{"type":"string","description":"Computed policy overrides set directly via the API or other clients.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"]}}},"ec:index/DeploymentElasticsearchExtension:DeploymentElasticsearchExtension":{"properties":{"name":{"type":"string","description":"Extension name.\n"},"type":{"type":"string","description":"Extension type, only \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\"\u003e`bundle`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`plugin`\" pulumi-lang-dotnet=\"`Plugin`\" pulumi-lang-go=\"`plugin`\" pulumi-lang-python=\"`plugin`\" pulumi-lang-yaml=\"`plugin`\" pulumi-lang-java=\"`plugin`\"\u003e`plugin`\u003c/span\u003e are supported.\n"},"url":{"type":"string","description":"Bundle or plugin URL, the extension URL can be obtained from the `ec_deployment_extension.\u003cname\u003e.url` attribute or the API and cannot be a random HTTP address that is hosted elsewhere.\n"},"version":{"type":"string","description":"Elasticsearch compatibility version. Bundles should specify major or minor versions with wildcards, such as `7.*` or `*` but **plugins must use full version notation down to the patch level**, such as `7.10.1` and wildcards are not allowed.\n"}},"type":"object","required":["name","type","url","version"]},"ec:index/DeploymentElasticsearchFrozen:DeploymentElasticsearchFrozen":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/DeploymentElasticsearchFrozenAutoscaling:DeploymentElasticsearchFrozenAutoscaling","description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Instance Configuration ID of the topology element\n"},"instanceConfigurationVersion":{"type":"integer","description":"Instance Configuration version of the topology element\n"},"latestInstanceConfigurationId":{"type":"string","description":"Latest Instance Configuration ID available on the deployment template for the topology element\n"},"latestInstanceConfigurationVersion":{"type":"integer","description":"Latest version available for the Instance Configuration with the latest*instance*configuration_id\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"The computed list of node roles for the current topology element\n"},"nodeTypeData":{"type":"string","description":"The node type for the Elasticsearch Topology element (data node)\n"},"nodeTypeIngest":{"type":"string","description":"The node type for the Elasticsearch Topology element (ingest node)\n"},"nodeTypeMaster":{"type":"string","description":"The node type for the Elasticsearch Topology element (master node)\n"},"nodeTypeMl":{"type":"string","description":"The node type for the Elasticsearch Topology element (machine learning node)\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per node in the \"\\n\\ng\" notation\n"},"sizeResource":{"type":"string","description":"Size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer","description":"Number of zones that the Elasticsearch cluster will span. This is used to set HA\n"}},"type":"object","required":["autoscaling"],"language":{"nodejs":{"requiredOutputs":["autoscaling","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentElasticsearchFrozenAutoscaling:DeploymentElasticsearchFrozenAutoscaling":{"properties":{"autoscale":{"type":"boolean","description":"Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for \u003cspan pulumi-lang-nodejs=\"`ml`\" pulumi-lang-dotnet=\"`Ml`\" pulumi-lang-go=\"`ml`\" pulumi-lang-python=\"`ml`\" pulumi-lang-yaml=\"`ml`\" pulumi-lang-java=\"`ml`\"\u003e`ml`\u003c/span\u003e tier only.\n"},"maxSize":{"type":"string","description":"Maximum autoscaling size. Set it to \"0g\" if tier should not be created when autoscaling is enabled on ES level\n"},"maxSizeResource":{"type":"string","description":"Maximum resource type for the maximum autoscaling setting.\n"},"minSize":{"type":"string","description":"Minimum autoscaling size.\n"},"minSizeResource":{"type":"string","description":"Minimum resource type for the minimum autoscaling setting.\n"},"policyOverrideJson":{"type":"string","description":"Computed policy overrides set directly via the API or other clients.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"]}}},"ec:index/DeploymentElasticsearchHot:DeploymentElasticsearchHot":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/DeploymentElasticsearchHotAutoscaling:DeploymentElasticsearchHotAutoscaling","description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Instance Configuration ID of the topology element\n"},"instanceConfigurationVersion":{"type":"integer","description":"Instance Configuration version of the topology element\n"},"latestInstanceConfigurationId":{"type":"string","description":"Latest Instance Configuration ID available on the deployment template for the topology element\n"},"latestInstanceConfigurationVersion":{"type":"integer","description":"Latest version available for the Instance Configuration with the latest*instance*configuration_id\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"The computed list of node roles for the current topology element\n"},"nodeTypeData":{"type":"string","description":"The node type for the Elasticsearch Topology element (data node)\n"},"nodeTypeIngest":{"type":"string","description":"The node type for the Elasticsearch Topology element (ingest node)\n"},"nodeTypeMaster":{"type":"string","description":"The node type for the Elasticsearch Topology element (master node)\n"},"nodeTypeMl":{"type":"string","description":"The node type for the Elasticsearch Topology element (machine learning node)\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per node in the \"\\n\\ng\" notation\n"},"sizeResource":{"type":"string","description":"Size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer","description":"Number of zones that the Elasticsearch cluster will span. This is used to set HA\n"}},"type":"object","required":["autoscaling"],"language":{"nodejs":{"requiredOutputs":["autoscaling","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentElasticsearchHotAutoscaling:DeploymentElasticsearchHotAutoscaling":{"properties":{"autoscale":{"type":"boolean","description":"Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for \u003cspan pulumi-lang-nodejs=\"`ml`\" pulumi-lang-dotnet=\"`Ml`\" pulumi-lang-go=\"`ml`\" pulumi-lang-python=\"`ml`\" pulumi-lang-yaml=\"`ml`\" pulumi-lang-java=\"`ml`\"\u003e`ml`\u003c/span\u003e tier only.\n"},"maxSize":{"type":"string","description":"Maximum autoscaling size. Set it to \"0g\" if tier should not be created when autoscaling is enabled on ES level\n"},"maxSizeResource":{"type":"string","description":"Maximum resource type for the maximum autoscaling setting.\n"},"minSize":{"type":"string","description":"Minimum autoscaling size.\n"},"minSizeResource":{"type":"string","description":"Minimum resource type for the minimum autoscaling setting.\n"},"policyOverrideJson":{"type":"string","description":"Computed policy overrides set directly via the API or other clients.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"]}}},"ec:index/DeploymentElasticsearchKeystoreContents:DeploymentElasticsearchKeystoreContents":{"properties":{"asFile":{"type":"boolean","description":"If true, the secret is handled as a file. Otherwise, it's handled as a plain string.\n"},"value":{"type":"string","description":"Secret value. This can either be a string or a JSON object that is stored as a JSON string in the keystore.\n","secret":true}},"type":"object","required":["value"],"language":{"nodejs":{"requiredOutputs":["asFile","value"]}}},"ec:index/DeploymentElasticsearchMaster:DeploymentElasticsearchMaster":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/DeploymentElasticsearchMasterAutoscaling:DeploymentElasticsearchMasterAutoscaling","description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Instance Configuration ID of the topology element\n"},"instanceConfigurationVersion":{"type":"integer","description":"Instance Configuration version of the topology element\n"},"latestInstanceConfigurationId":{"type":"string","description":"Latest Instance Configuration ID available on the deployment template for the topology element\n"},"latestInstanceConfigurationVersion":{"type":"integer","description":"Latest version available for the Instance Configuration with the latest*instance*configuration_id\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"The computed list of node roles for the current topology element\n"},"nodeTypeData":{"type":"string","description":"The node type for the Elasticsearch Topology element (data node)\n"},"nodeTypeIngest":{"type":"string","description":"The node type for the Elasticsearch Topology element (ingest node)\n"},"nodeTypeMaster":{"type":"string","description":"The node type for the Elasticsearch Topology element (master node)\n"},"nodeTypeMl":{"type":"string","description":"The node type for the Elasticsearch Topology element (machine learning node)\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per node in the \"\\n\\ng\" notation\n"},"sizeResource":{"type":"string","description":"Size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer","description":"Number of zones that the Elasticsearch cluster will span. This is used to set HA\n"}},"type":"object","required":["autoscaling"],"language":{"nodejs":{"requiredOutputs":["autoscaling","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentElasticsearchMasterAutoscaling:DeploymentElasticsearchMasterAutoscaling":{"properties":{"autoscale":{"type":"boolean","description":"Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for \u003cspan pulumi-lang-nodejs=\"`ml`\" pulumi-lang-dotnet=\"`Ml`\" pulumi-lang-go=\"`ml`\" pulumi-lang-python=\"`ml`\" pulumi-lang-yaml=\"`ml`\" pulumi-lang-java=\"`ml`\"\u003e`ml`\u003c/span\u003e tier only.\n"},"maxSize":{"type":"string","description":"Maximum autoscaling size. Set it to \"0g\" if tier should not be created when autoscaling is enabled on ES level\n"},"maxSizeResource":{"type":"string","description":"Maximum resource type for the maximum autoscaling setting.\n"},"minSize":{"type":"string","description":"Minimum autoscaling size.\n"},"minSizeResource":{"type":"string","description":"Minimum resource type for the minimum autoscaling setting.\n"},"policyOverrideJson":{"type":"string","description":"Computed policy overrides set directly via the API or other clients.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"]}}},"ec:index/DeploymentElasticsearchMl:DeploymentElasticsearchMl":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/DeploymentElasticsearchMlAutoscaling:DeploymentElasticsearchMlAutoscaling","description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Instance Configuration ID of the topology element\n"},"instanceConfigurationVersion":{"type":"integer","description":"Instance Configuration version of the topology element\n"},"latestInstanceConfigurationId":{"type":"string","description":"Latest Instance Configuration ID available on the deployment template for the topology element\n"},"latestInstanceConfigurationVersion":{"type":"integer","description":"Latest version available for the Instance Configuration with the latest*instance*configuration_id\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"The computed list of node roles for the current topology element\n"},"nodeTypeData":{"type":"string","description":"The node type for the Elasticsearch Topology element (data node)\n"},"nodeTypeIngest":{"type":"string","description":"The node type for the Elasticsearch Topology element (ingest node)\n"},"nodeTypeMaster":{"type":"string","description":"The node type for the Elasticsearch Topology element (master node)\n"},"nodeTypeMl":{"type":"string","description":"The node type for the Elasticsearch Topology element (machine learning node)\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per node in the \"\\n\\ng\" notation\n"},"sizeResource":{"type":"string","description":"Size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer","description":"Number of zones that the Elasticsearch cluster will span. This is used to set HA\n"}},"type":"object","required":["autoscaling"],"language":{"nodejs":{"requiredOutputs":["autoscaling","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentElasticsearchMlAutoscaling:DeploymentElasticsearchMlAutoscaling":{"properties":{"autoscale":{"type":"boolean","description":"Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for \u003cspan pulumi-lang-nodejs=\"`ml`\" pulumi-lang-dotnet=\"`Ml`\" pulumi-lang-go=\"`ml`\" pulumi-lang-python=\"`ml`\" pulumi-lang-yaml=\"`ml`\" pulumi-lang-java=\"`ml`\"\u003e`ml`\u003c/span\u003e tier only.\n"},"maxSize":{"type":"string","description":"Maximum autoscaling size. Set it to \"0g\" if tier should not be created when autoscaling is enabled on ES level\n"},"maxSizeResource":{"type":"string","description":"Maximum resource type for the maximum autoscaling setting.\n"},"minSize":{"type":"string","description":"Minimum autoscaling size.\n"},"minSizeResource":{"type":"string","description":"Minimum resource type for the minimum autoscaling setting.\n"},"policyOverrideJson":{"type":"string","description":"Computed policy overrides set directly via the API or other clients.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"]}}},"ec:index/DeploymentElasticsearchRemoteCluster:DeploymentElasticsearchRemoteCluster":{"properties":{"alias":{"type":"string","description":"Alias for this Cross Cluster Search binding\n"},"deploymentId":{"type":"string","description":"Remote deployment ID\n"},"refId":{"type":"string","description":"Remote elasticsearch \u003cspan pulumi-lang-nodejs=\"\"refId\"\" pulumi-lang-dotnet=\"\"RefId\"\" pulumi-lang-go=\"\"refId\"\" pulumi-lang-python=\"\"ref_id\"\" pulumi-lang-yaml=\"\"refId\"\" pulumi-lang-java=\"\"refId\"\"\u003e\"ref_id\"\u003c/span\u003e, it is best left to the default value\n"},"skipUnavailable":{"type":"boolean","description":"If true, skip the cluster during search when disconnected\n"}},"type":"object","required":["alias","deploymentId"],"language":{"nodejs":{"requiredOutputs":["alias","deploymentId","refId","skipUnavailable"]}}},"ec:index/DeploymentElasticsearchSnapshot:DeploymentElasticsearchSnapshot":{"properties":{"enabled":{"type":"boolean","description":"Indicates if Snapshotting is enabled.\n"},"repository":{"$ref":"#/types/ec:index/DeploymentElasticsearchSnapshotRepository:DeploymentElasticsearchSnapshotRepository","description":"Snapshot repository configuration\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["enabled","repository"]}}},"ec:index/DeploymentElasticsearchSnapshotRepository:DeploymentElasticsearchSnapshotRepository":{"properties":{"reference":{"$ref":"#/types/ec:index/DeploymentElasticsearchSnapshotRepositoryReference:DeploymentElasticsearchSnapshotRepositoryReference","description":"Cluster snapshot reference repository settings, containing the repository name in ECE fashion\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["reference"]}}},"ec:index/DeploymentElasticsearchSnapshotRepositoryReference:DeploymentElasticsearchSnapshotRepositoryReference":{"properties":{"repositoryName":{"type":"string","description":"ECE snapshot repository name, from the '/platform/configuration/snapshots/repositories' endpoint\n"}},"type":"object","required":["repositoryName"]},"ec:index/DeploymentElasticsearchSnapshotSource:DeploymentElasticsearchSnapshotSource":{"properties":{"snapshotName":{"type":"string","description":"Name of the snapshot to restore. Use '**latest_success**' to get the most recent successful snapshot.\n"},"sourceElasticsearchClusterId":{"type":"string","description":"ID of the Elasticsearch cluster that will be used as the source of the snapshot\n"}},"type":"object","required":["sourceElasticsearchClusterId"],"language":{"nodejs":{"requiredOutputs":["snapshotName","sourceElasticsearchClusterId"]}}},"ec:index/DeploymentElasticsearchTrustAccount:DeploymentElasticsearchTrustAccount":{"properties":{"accountId":{"type":"string","description":"The ID of the Account.\n"},"trustAll":{"type":"boolean","description":"If true, all clusters in this account will by default be trusted and the \u003cspan pulumi-lang-nodejs=\"`trustAllowlist`\" pulumi-lang-dotnet=\"`TrustAllowlist`\" pulumi-lang-go=\"`trustAllowlist`\" pulumi-lang-python=\"`trust_allowlist`\" pulumi-lang-yaml=\"`trustAllowlist`\" pulumi-lang-java=\"`trustAllowlist`\"\u003e`trust_allowlist`\u003c/span\u003e is ignored.\n"},"trustAllowlists":{"type":"array","items":{"type":"string"},"description":"The list of clusters to trust. Only used when \u003cspan pulumi-lang-nodejs=\"`trustAll`\" pulumi-lang-dotnet=\"`TrustAll`\" pulumi-lang-go=\"`trustAll`\" pulumi-lang-python=\"`trust_all`\" pulumi-lang-yaml=\"`trustAll`\" pulumi-lang-java=\"`trustAll`\"\u003e`trust_all`\u003c/span\u003e is false.\n"}},"type":"object","required":["accountId","trustAll"]},"ec:index/DeploymentElasticsearchTrustExternal:DeploymentElasticsearchTrustExternal":{"properties":{"relationshipId":{"type":"string","description":"The ID of the external trust relationship.\n"},"trustAll":{"type":"boolean","description":"If true, all clusters in this account will by default be trusted and the \u003cspan pulumi-lang-nodejs=\"`trustAllowlist`\" pulumi-lang-dotnet=\"`TrustAllowlist`\" pulumi-lang-go=\"`trustAllowlist`\" pulumi-lang-python=\"`trust_allowlist`\" pulumi-lang-yaml=\"`trustAllowlist`\" pulumi-lang-java=\"`trustAllowlist`\"\u003e`trust_allowlist`\u003c/span\u003e is ignored.\n"},"trustAllowlists":{"type":"array","items":{"type":"string"},"description":"The list of clusters to trust. Only used when \u003cspan pulumi-lang-nodejs=\"`trustAll`\" pulumi-lang-dotnet=\"`TrustAll`\" pulumi-lang-go=\"`trustAll`\" pulumi-lang-python=\"`trust_all`\" pulumi-lang-yaml=\"`trustAll`\" pulumi-lang-java=\"`trustAll`\"\u003e`trust_all`\u003c/span\u003e is false.\n"}},"type":"object","required":["relationshipId","trustAll"]},"ec:index/DeploymentElasticsearchWarm:DeploymentElasticsearchWarm":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/DeploymentElasticsearchWarmAutoscaling:DeploymentElasticsearchWarmAutoscaling","description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Instance Configuration ID of the topology element\n"},"instanceConfigurationVersion":{"type":"integer","description":"Instance Configuration version of the topology element\n"},"latestInstanceConfigurationId":{"type":"string","description":"Latest Instance Configuration ID available on the deployment template for the topology element\n"},"latestInstanceConfigurationVersion":{"type":"integer","description":"Latest version available for the Instance Configuration with the latest*instance*configuration_id\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"The computed list of node roles for the current topology element\n"},"nodeTypeData":{"type":"string","description":"The node type for the Elasticsearch Topology element (data node)\n"},"nodeTypeIngest":{"type":"string","description":"The node type for the Elasticsearch Topology element (ingest node)\n"},"nodeTypeMaster":{"type":"string","description":"The node type for the Elasticsearch Topology element (master node)\n"},"nodeTypeMl":{"type":"string","description":"The node type for the Elasticsearch Topology element (machine learning node)\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per node in the \"\\n\\ng\" notation\n"},"sizeResource":{"type":"string","description":"Size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer","description":"Number of zones that the Elasticsearch cluster will span. This is used to set HA\n"}},"type":"object","required":["autoscaling"],"language":{"nodejs":{"requiredOutputs":["autoscaling","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentElasticsearchWarmAutoscaling:DeploymentElasticsearchWarmAutoscaling":{"properties":{"autoscale":{"type":"boolean","description":"Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for \u003cspan pulumi-lang-nodejs=\"`ml`\" pulumi-lang-dotnet=\"`Ml`\" pulumi-lang-go=\"`ml`\" pulumi-lang-python=\"`ml`\" pulumi-lang-yaml=\"`ml`\" pulumi-lang-java=\"`ml`\"\u003e`ml`\u003c/span\u003e tier only.\n"},"maxSize":{"type":"string","description":"Maximum autoscaling size. Set it to \"0g\" if tier should not be created when autoscaling is enabled on ES level\n"},"maxSizeResource":{"type":"string","description":"Maximum resource type for the maximum autoscaling setting.\n"},"minSize":{"type":"string","description":"Minimum autoscaling size.\n"},"minSizeResource":{"type":"string","description":"Minimum resource type for the minimum autoscaling setting.\n"},"policyOverrideJson":{"type":"string","description":"Computed policy overrides set directly via the API or other clients.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"]}}},"ec:index/DeploymentEnterpriseSearch:DeploymentEnterpriseSearch":{"properties":{"config":{"$ref":"#/types/ec:index/DeploymentEnterpriseSearchConfig:DeploymentEnterpriseSearchConfig","description":"Optionally define the Enterprise Search configuration options for the Enterprise Search Server\n"},"elasticsearchClusterRefId":{"type":"string"},"httpEndpoint":{"type":"string"},"httpsEndpoint":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"integer"},"latestInstanceConfigurationId":{"type":"string"},"latestInstanceConfigurationVersion":{"type":"integer"},"nodeTypeAppserver":{"type":"boolean"},"nodeTypeConnector":{"type":"boolean"},"nodeTypeWorker":{"type":"boolean"},"refId":{"type":"string"},"region":{"type":"string"},"resourceId":{"type":"string"},"size":{"type":"string"},"sizeResource":{"type":"string","description":"Optional size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer"}},"type":"object","language":{"nodejs":{"requiredOutputs":["elasticsearchClusterRefId","httpEndpoint","httpsEndpoint","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","nodeTypeAppserver","nodeTypeConnector","nodeTypeWorker","refId","region","resourceId","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentEnterpriseSearchConfig:DeploymentEnterpriseSearchConfig":{"properties":{"dockerImage":{"type":"string","description":"Optionally override the docker image the Enterprise Search nodes will use. Note that this field will only work for internal users only.\n"},"userSettingsJson":{"type":"string","description":"An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*yaml' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (This field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"},"userSettingsOverrideJson":{"type":"string","description":"An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*yaml' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsOverrideYaml":{"type":"string","description":"An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*json' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsYaml":{"type":"string","description":"An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*json' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (These field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"}},"type":"object"},"ec:index/DeploymentIntegrationsServer:DeploymentIntegrationsServer":{"properties":{"config":{"$ref":"#/types/ec:index/DeploymentIntegrationsServerConfig:DeploymentIntegrationsServerConfig","description":"Optionally define the Integrations Server configuration options for the IntegrationsServer Server\n"},"elasticsearchClusterRefId":{"type":"string"},"endpoints":{"$ref":"#/types/ec:index/DeploymentIntegrationsServerEndpoints:DeploymentIntegrationsServerEndpoints","description":"URLs for the accessing the Fleet and APM API's within this Integrations Server resource.\n"},"httpEndpoint":{"type":"string"},"httpsEndpoint":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"integer"},"latestInstanceConfigurationId":{"type":"string"},"latestInstanceConfigurationVersion":{"type":"integer"},"refId":{"type":"string"},"region":{"type":"string"},"resourceId":{"type":"string"},"size":{"type":"string"},"sizeResource":{"type":"string","description":"Optional size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer"}},"type":"object","language":{"nodejs":{"requiredOutputs":["elasticsearchClusterRefId","endpoints","httpEndpoint","httpsEndpoint","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","refId","region","resourceId","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentIntegrationsServerConfig:DeploymentIntegrationsServerConfig":{"properties":{"debugEnabled":{"type":"boolean","description":"Optionally enable debug mode for Integrations Server instances - defaults to false\n"},"dockerImage":{"type":"string","description":"Optionally override the docker image the Integrations Server nodes will use. Note that this field will only work for internal users only.\n"},"userSettingsJson":{"type":"string","description":"An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*yaml' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (This field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"},"userSettingsOverrideJson":{"type":"string","description":"An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*yaml' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsOverrideYaml":{"type":"string","description":"An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*json' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsYaml":{"type":"string","description":"An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*json' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (These field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["debugEnabled"]}}},"ec:index/DeploymentIntegrationsServerEndpoints:DeploymentIntegrationsServerEndpoints":{"properties":{"apm":{"type":"string"},"fleet":{"type":"string"},"profiling":{"type":"string"},"symbols":{"type":"string"}},"type":"object","required":["apm","fleet","profiling","symbols"]},"ec:index/DeploymentKibana:DeploymentKibana":{"properties":{"config":{"$ref":"#/types/ec:index/DeploymentKibanaConfig:DeploymentKibanaConfig","description":"Optionally define the Kibana configuration options for the Kibana Server\n"},"elasticsearchClusterRefId":{"type":"string"},"httpEndpoint":{"type":"string"},"httpsEndpoint":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"integer"},"latestInstanceConfigurationId":{"type":"string"},"latestInstanceConfigurationVersion":{"type":"integer"},"refId":{"type":"string"},"region":{"type":"string"},"resourceId":{"type":"string"},"size":{"type":"string"},"sizeResource":{"type":"string","description":"Optional size type, defaults to \"memory\".\n"},"zoneCount":{"type":"integer"}},"type":"object","language":{"nodejs":{"requiredOutputs":["elasticsearchClusterRefId","httpEndpoint","httpsEndpoint","instanceConfigurationId","instanceConfigurationVersion","latestInstanceConfigurationId","latestInstanceConfigurationVersion","refId","region","resourceId","size","sizeResource","zoneCount"]}}},"ec:index/DeploymentKibanaConfig:DeploymentKibanaConfig":{"properties":{"dockerImage":{"type":"string","description":"Optionally override the docker image the Kibana nodes will use. Note that this field will only work for internal users only.\n"},"userSettingsJson":{"type":"string","description":"An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*yaml' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (This field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"},"userSettingsOverrideJson":{"type":"string","description":"An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*yaml' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsOverrideYaml":{"type":"string","description":"An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user*settings*override*json' is allowed), ie in addition to the documented 'system*settings'. (This field together with 'system*settings' and 'user*settings*' defines the total set of resource settings)\n"},"userSettingsYaml":{"type":"string","description":"An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user*settings*json' is allowed), provided they are on the whitelist ('user*settings*whitelist') and not on the blacklist ('user*settings*blacklist'). (These field together with 'user*settings*override*' and 'system_settings' defines the total set of resource settings)\n"}},"type":"object"},"ec:index/DeploymentObservability:DeploymentObservability":{"properties":{"deploymentId":{"type":"string"},"logs":{"type":"boolean"},"metrics":{"type":"boolean"},"refId":{"type":"string"}},"type":"object","required":["deploymentId"],"language":{"nodejs":{"requiredOutputs":["deploymentId","logs","metrics","refId"]}}},"ec:index/DeploymentTrafficFilterRule:DeploymentTrafficFilterRule":{"properties":{"azureEndpointGuid":{"type":"string","description":"Azure endpoint GUID. Only applicable when the ruleset type is set to \u003cspan pulumi-lang-nodejs=\"`azurePrivateEndpoint`\" pulumi-lang-dotnet=\"`AzurePrivateEndpoint`\" pulumi-lang-go=\"`azurePrivateEndpoint`\" pulumi-lang-python=\"`azure_private_endpoint`\" pulumi-lang-yaml=\"`azurePrivateEndpoint`\" pulumi-lang-java=\"`azurePrivateEndpoint`\"\u003e`azure_private_endpoint`\u003c/span\u003e\n"},"azureEndpointName":{"type":"string","description":"Azure endpoint name. Only applicable when the ruleset type is set to \u003cspan pulumi-lang-nodejs=\"`azurePrivateEndpoint`\" pulumi-lang-dotnet=\"`AzurePrivateEndpoint`\" pulumi-lang-go=\"`azurePrivateEndpoint`\" pulumi-lang-python=\"`azure_private_endpoint`\" pulumi-lang-yaml=\"`azurePrivateEndpoint`\" pulumi-lang-java=\"`azurePrivateEndpoint`\"\u003e`azure_private_endpoint`\u003c/span\u003e\n"},"description":{"type":"string","description":"Description of this individual rule\n"},"id":{"type":"string","description":"Computed rule ID\n"},"source":{"type":"string","description":"Traffic filter source: IP address, CIDR mask, or VPC endpoint ID, **only required** when the type is not \u003cspan pulumi-lang-nodejs=\"`azurePrivateEndpoint`\" pulumi-lang-dotnet=\"`AzurePrivateEndpoint`\" pulumi-lang-go=\"`azurePrivateEndpoint`\" pulumi-lang-python=\"`azure_private_endpoint`\" pulumi-lang-yaml=\"`azurePrivateEndpoint`\" pulumi-lang-java=\"`azurePrivateEndpoint`\"\u003e`azure_private_endpoint`\u003c/span\u003e\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["id"]}}},"ec:index/ElasticsearchProjectCredentials:ElasticsearchProjectCredentials":{"properties":{"password":{"type":"string","description":"Basic auth password that can be used to access the Elasticsearch API.\n","secret":true},"username":{"type":"string","description":"Basic auth username that can be used to access the Elasticsearch API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"ec:index/ElasticsearchProjectEndpoints:ElasticsearchProjectEndpoints":{"properties":{"elasticsearch":{"type":"string","description":"The endpoint to access elasticsearch.\n"},"kibana":{"type":"string","description":"The endpoint to access kibana.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["elasticsearch","kibana"]}}},"ec:index/ElasticsearchProjectMetadata:ElasticsearchProjectMetadata":{"properties":{"createdAt":{"type":"string","description":"Date and time when the project was created.\n"},"createdBy":{"type":"string","description":"ID of the user.\n"},"organizationId":{"type":"string","description":"The Organization ID who owns the project.\n"},"suspendedAt":{"type":"string","description":"Date and time when the project was suspended.\n"},"suspendedReason":{"type":"string","description":"Reason why the project was suspended.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","createdBy","organizationId","suspendedAt","suspendedReason"]}}},"ec:index/ElasticsearchProjectSearchLake:ElasticsearchProjectSearchLake":{"properties":{"boostWindow":{"type":"integer","description":"Determines how much data can benefit from faster search. When ingested, a certain amount of data is loaded into a cache that makes it super fast to query. The system dynamically adjusts the cache allocated to your project based on how much data you ingest during the period defined by your Search Boost Window.\n"},"searchPower":{"type":"integer","description":"Controls how fast searches are against your project data. When ingested, a certain amount of data is loaded into a cache that makes it super fast to query. You can either increase the performance of searches on cached data by adding replicas, or reduce the quantity of cached data by a static factor to save on costs.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["boostWindow","searchPower"]}}},"ec:index/ObservabilityProjectCredentials:ObservabilityProjectCredentials":{"properties":{"password":{"type":"string","description":"Basic auth password that can be used to access the Elasticsearch API.\n","secret":true},"username":{"type":"string","description":"Basic auth username that can be used to access the Elasticsearch API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"ec:index/ObservabilityProjectEndpoints:ObservabilityProjectEndpoints":{"properties":{"apm":{"type":"string","description":"The endpoint to access apm.\n"},"elasticsearch":{"type":"string","description":"The endpoint to access elasticsearch.\n"},"ingest":{"type":"string","description":"The endpoint to access the Managed OTLP Endpoint.\n"},"kibana":{"type":"string","description":"The endpoint to access kibana.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["apm","elasticsearch","ingest","kibana"]}}},"ec:index/ObservabilityProjectMetadata:ObservabilityProjectMetadata":{"properties":{"createdAt":{"type":"string","description":"Date and time when the project was created.\n"},"createdBy":{"type":"string","description":"ID of the user.\n"},"organizationId":{"type":"string","description":"The Organization ID who owns the project.\n"},"suspendedAt":{"type":"string","description":"Date and time when the project was suspended.\n"},"suspendedReason":{"type":"string","description":"Reason why the project was suspended.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","createdBy","organizationId","suspendedAt","suspendedReason"]}}},"ec:index/OrganizationMembers:OrganizationMembers":{"properties":{"deploymentRoles":{"type":"array","items":{"$ref":"#/types/ec:index/OrganizationMembersDeploymentRole:OrganizationMembersDeploymentRole"},"description":"Grant access to one or more deployments. For more info see: [Deployment instance roles](https://www.elastic.co/guide/en/cloud/current/ec-user-privileges.html#ec_instance_access_roles).\n"},"email":{"type":"string","description":"Email address of the user.\n"},"invitationPending":{"type":"boolean","description":"Set to true while the user has not yet accepted their invitation to the organization.\n"},"organizationRole":{"type":"string","description":"The optional organization role for the member. Can be one of `organization-admin`, `billing-admin`. For more info see: [Organization roles](https://www.elastic.co/guide/en/cloud/current/ec-user-privileges.html#ec_organization_level_roles)\n"},"projectElasticsearchRoles":{"type":"array","items":{"$ref":"#/types/ec:index/OrganizationMembersProjectElasticsearchRole:OrganizationMembersProjectElasticsearchRole"},"description":"Roles assigned for elasticsearch projects. For more info see: [Serverless elasticsearch roles](https://www.elastic.co/docs/current/serverless/general/assign-user-roles#es)\n"},"projectObservabilityRoles":{"type":"array","items":{"$ref":"#/types/ec:index/OrganizationMembersProjectObservabilityRole:OrganizationMembersProjectObservabilityRole"},"description":"Roles assigned for observability projects. For more info see: [Serverless observability roles](https://www.elastic.co/docs/current/serverless/general/assign-user-roles#observability)\n"},"projectSecurityRoles":{"type":"array","items":{"$ref":"#/types/ec:index/OrganizationMembersProjectSecurityRole:OrganizationMembersProjectSecurityRole"},"description":"Roles assigned for security projects. For more info see: [Serverless security roles](https://www.elastic.co/docs/current/serverless/general/assign-user-roles#security)\n"},"userId":{"type":"string","description":"User ID.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["email","invitationPending","projectElasticsearchRoles","projectObservabilityRoles","projectSecurityRoles","userId"]}}},"ec:index/OrganizationMembersDeploymentRole:OrganizationMembersDeploymentRole":{"properties":{"allDeployments":{"type":"boolean","description":"Role applies to all deployments in the organization.\n"},"applicationRoles":{"type":"array","items":{"type":"string"},"description":"If provided, the user assigned this role assignment will be granted this application role when signing in to the deployment(s) specified in the role assignment.\n"},"deploymentIds":{"type":"array","items":{"type":"string"},"description":"Role applies to deployments listed here.\n"},"role":{"type":"string","description":"Assigned role. Must be on of \u003cspan pulumi-lang-nodejs=\"`viewer`\" pulumi-lang-dotnet=\"`Viewer`\" pulumi-lang-go=\"`viewer`\" pulumi-lang-python=\"`viewer`\" pulumi-lang-yaml=\"`viewer`\" pulumi-lang-java=\"`viewer`\"\u003e`viewer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`editor`\" pulumi-lang-dotnet=\"`Editor`\" pulumi-lang-go=\"`editor`\" pulumi-lang-python=\"`editor`\" pulumi-lang-yaml=\"`editor`\" pulumi-lang-java=\"`editor`\"\u003e`editor`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e.\n"}},"type":"object","required":["role"]},"ec:index/OrganizationMembersProjectElasticsearchRole:OrganizationMembersProjectElasticsearchRole":{"properties":{"allProjects":{"type":"boolean","description":"Role applies to all projects in the organization.\n"},"applicationRoles":{"type":"array","items":{"type":"string"},"description":"If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.\n"},"projectIds":{"type":"array","items":{"type":"string"},"description":"Role applies to projects listed here.\n"},"role":{"type":"string","description":"Assigned role. (Allowed values: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`viewer`\" pulumi-lang-dotnet=\"`Viewer`\" pulumi-lang-go=\"`viewer`\" pulumi-lang-python=\"`viewer`\" pulumi-lang-yaml=\"`viewer`\" pulumi-lang-java=\"`viewer`\"\u003e`viewer`\u003c/span\u003e)\n"}},"type":"object","required":["role"]},"ec:index/OrganizationMembersProjectObservabilityRole:OrganizationMembersProjectObservabilityRole":{"properties":{"allProjects":{"type":"boolean","description":"Role applies to all projects in the organization.\n"},"applicationRoles":{"type":"array","items":{"type":"string"},"description":"If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.\n"},"projectIds":{"type":"array","items":{"type":"string"},"description":"Role applies to projects listed here.\n"},"role":{"type":"string","description":"Assigned role. (Allowed values: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`editor`\" pulumi-lang-dotnet=\"`Editor`\" pulumi-lang-go=\"`editor`\" pulumi-lang-python=\"`editor`\" pulumi-lang-yaml=\"`editor`\" pulumi-lang-java=\"`editor`\"\u003e`editor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`viewer`\" pulumi-lang-dotnet=\"`Viewer`\" pulumi-lang-go=\"`viewer`\" pulumi-lang-python=\"`viewer`\" pulumi-lang-yaml=\"`viewer`\" pulumi-lang-java=\"`viewer`\"\u003e`viewer`\u003c/span\u003e)\n"}},"type":"object","required":["role"]},"ec:index/OrganizationMembersProjectSecurityRole:OrganizationMembersProjectSecurityRole":{"properties":{"allProjects":{"type":"boolean","description":"Role applies to all projects in the organization.\n"},"applicationRoles":{"type":"array","items":{"type":"string"},"description":"If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.\n"},"projectIds":{"type":"array","items":{"type":"string"},"description":"Role applies to projects listed here.\n"},"role":{"type":"string","description":"Assigned role. (Allowed values: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`editor`\" pulumi-lang-dotnet=\"`Editor`\" pulumi-lang-go=\"`editor`\" pulumi-lang-python=\"`editor`\" pulumi-lang-yaml=\"`editor`\" pulumi-lang-java=\"`editor`\"\u003e`editor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`viewer`\" pulumi-lang-dotnet=\"`Viewer`\" pulumi-lang-go=\"`viewer`\" pulumi-lang-python=\"`viewer`\" pulumi-lang-yaml=\"`viewer`\" pulumi-lang-java=\"`viewer`\"\u003e`viewer`\u003c/span\u003e, `t1-analyst`, `t2-analyst`, `t3-analyst`, `threat-intel-analyst`, `rule-author`, `soc-manager`, `endpoint-operations-analyst`, `platform-engineer`, `detections-admin`, `endpoint-policy-manager`)\n"}},"type":"object","required":["role"]},"ec:index/SecurityProjectCredentials:SecurityProjectCredentials":{"properties":{"password":{"type":"string","description":"Basic auth password that can be used to access the Elasticsearch API.\n","secret":true},"username":{"type":"string","description":"Basic auth username that can be used to access the Elasticsearch API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","username"]}}},"ec:index/SecurityProjectEndpoints:SecurityProjectEndpoints":{"properties":{"elasticsearch":{"type":"string","description":"The endpoint to access elasticsearch.\n"},"ingest":{"type":"string","description":"The endpoint to access the Managed OTLP Endpoint.\n"},"kibana":{"type":"string","description":"The endpoint to access kibana.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["elasticsearch","ingest","kibana"]}}},"ec:index/SecurityProjectMetadata:SecurityProjectMetadata":{"properties":{"createdAt":{"type":"string","description":"Date and time when the project was created.\n"},"createdBy":{"type":"string","description":"ID of the user.\n"},"organizationId":{"type":"string","description":"The Organization ID who owns the project.\n"},"suspendedAt":{"type":"string","description":"Date and time when the project was suspended.\n"},"suspendedReason":{"type":"string","description":"Reason why the project was suspended.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","createdBy","organizationId","suspendedAt","suspendedReason"]}}},"ec:index/SecurityProjectProductType:SecurityProjectProductType":{"properties":{"productLine":{"type":"string","description":"The identifier of the Security Solution product line.\n"},"productTier":{"type":"string","description":"The identifier of the Security Solution product tier.\n"}},"type":"object","required":["productLine","productTier"]},"ec:index/SnapshotRepositoryGeneric:SnapshotRepositoryGeneric":{"properties":{"settings":{"type":"string","description":"An arbitrary JSON object containing the repository settings.\n"},"type":{"type":"string","description":"Repository type\n"}},"type":"object","required":["settings","type"]},"ec:index/SnapshotRepositoryS3:SnapshotRepositoryS3":{"properties":{"accessKey":{"type":"string","description":"An S3 access key. If set, the\u003cspan pulumi-lang-nodejs=\" secretKey \" pulumi-lang-dotnet=\" SecretKey \" pulumi-lang-go=\" secretKey \" pulumi-lang-python=\" secret_key \" pulumi-lang-yaml=\" secretKey \" pulumi-lang-java=\" secretKey \"\u003e secret_key \u003c/span\u003esetting must also be specified. If unset, the client will use the instance or container role instead.\n"},"bucket":{"type":"string","description":"Name of the S3 bucket to use for snapshots.\n"},"endpoint":{"type":"string","description":"The S3 service endpoint to connect to. This defaults to s3.amazonaws.com but the AWS documentation lists alternative S3 endpoints. If you are using an S3-compatible service then you should set this to the service’s endpoint.\n"},"pathStyleAccess":{"type":"boolean","description":"Whether to force the use of the path style access pattern. If true, the path style access pattern will be used. If false, the access pattern will be automatically determined by the AWS Java SDK (See AWS documentation for details). Defaults to false.\n"},"region":{"type":"string","description":"Allows specifying the signing region to use. Specifying this setting manually should not be necessary for most use cases. Generally, the SDK will correctly guess the signing region to use. It should be considered an expert level setting to support S3-compatible APIs that require v4 signatures and use a region other than the default us-east-1. Defaults to empty string which means that the SDK will try to automatically determine the correct signing region.\n"},"secretKey":{"type":"string","description":"An S3 secret key. If set, the\u003cspan pulumi-lang-nodejs=\" accessKey \" pulumi-lang-dotnet=\" AccessKey \" pulumi-lang-go=\" accessKey \" pulumi-lang-python=\" access_key \" pulumi-lang-yaml=\" accessKey \" pulumi-lang-java=\" accessKey \"\u003e access_key \u003c/span\u003esetting must also be specified.\n","secret":true},"serverSideEncryption":{"type":"boolean","description":"When set to true files are encrypted on server side using AES256 algorithm. Defaults to false.\n"}},"type":"object","required":["bucket"],"language":{"nodejs":{"requiredOutputs":["bucket","pathStyleAccess","serverSideEncryption"]}}},"ec:index/getDeploymentApm:getDeploymentApm":{"properties":{"elasticsearchClusterRefId":{"type":"string","description":"The locally-unique user-specified id of an APM Resource.\n"},"healthy":{"type":"boolean","description":"APM resource health status.\n"},"httpEndpoint":{"type":"string","description":"HTTP endpoint for the APM resource.\n"},"httpsEndpoint":{"type":"string","description":"HTTPS endpoint for the APM resource.\n"},"refId":{"type":"string","description":"A locally-unique friendly alias for this APM resource.\n"},"resourceId":{"type":"string","description":"The resource unique identifier.\n"},"status":{"type":"string","description":"APM resource status (for example, \"started\", \"stopped\", etc).\n"},"topologies":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentApmTopology:getDeploymentApmTopology"},"description":"Node topology element definition.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object","required":["elasticsearchClusterRefId","healthy","httpEndpoint","httpsEndpoint","refId","resourceId","status","topologies","version"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentApmTopology:getDeploymentApmTopology":{"properties":{"instanceConfigurationId":{"type":"string","description":"Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the ID of an existing instance configuration.\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e in Gigabytes. For example \"4g\".\n"},"sizeResource":{"type":"string","description":"Type of resource (\"memory\" or \"storage\")\n"},"zoneCount":{"type":"integer","description":"Number of zones in which nodes will be placed.\n"}},"type":"object","required":["instanceConfigurationId","size","sizeResource","zoneCount"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentElasticsearch:getDeploymentElasticsearch":{"properties":{"autoscale":{"type":"string","description":"Whether or not Elasticsearch autoscaling is enabled.\n"},"cloudId":{"type":"string","description":"The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana. See [Configure Beats and Logstash with Cloud ID](https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html) for more information.\n"},"healthy":{"type":"boolean","description":"Elasticsearch resource health status.\n"},"httpEndpoint":{"type":"string","description":"HTTP endpoint for the Elasticsearch resource.\n"},"httpsEndpoint":{"type":"string","description":"HTTPS endpoint for the Elasticsearch resource.\n"},"refId":{"type":"string","description":"A locally-unique friendly alias for this Elasticsearch cluster.\n"},"resourceId":{"type":"string","description":"The resource unique identifier.\n"},"status":{"type":"string","description":"Elasticsearch resource status (for example, \"started\", \"stopped\", etc).\n"},"topologies":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentElasticsearchTopology:getDeploymentElasticsearchTopology"},"description":"Node topology element definition.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object","required":["autoscale","cloudId","healthy","httpEndpoint","httpsEndpoint","refId","resourceId","status","topologies","version"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentElasticsearchTopology:getDeploymentElasticsearchTopology":{"properties":{"autoscalings":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentElasticsearchTopologyAutoscaling:getDeploymentElasticsearchTopologyAutoscaling"},"description":"Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.\n"},"instanceConfigurationId":{"type":"string","description":"Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the ID of an existing instance configuration.\n"},"nodeRoles":{"type":"array","items":{"type":"string"},"description":"Defines the list of Elasticsearch node roles assigned to the topology element. This is supported from v7.10, and required from v8.\n"},"nodeTypeData":{"type":"boolean","description":"Defines whether this node can hold data (\\n\\n).\n"},"nodeTypeIngest":{"type":"boolean","description":"Defines whether this node can run an ingest pipeline (\\n\\n).\n"},"nodeTypeMaster":{"type":"boolean","description":"Defines whether this node can be elected master (\\n\\n).\n"},"nodeTypeMl":{"type":"boolean","description":"Defines whether this node can run ML jobs (\\n\\n).\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e per topology element in Gigabytes. For example \"4g\".\n"},"sizeResource":{"type":"string","description":"Type of resource (\"memory\" or \"storage\")\n"},"zoneCount":{"type":"integer","description":"Number of zones in which nodes will be placed.\n"}},"type":"object","required":["autoscalings","instanceConfigurationId","nodeRoles","nodeTypeData","nodeTypeIngest","nodeTypeMaster","nodeTypeMl","size","sizeResource","zoneCount"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentElasticsearchTopologyAutoscaling:getDeploymentElasticsearchTopologyAutoscaling":{"properties":{"maxSize":{"type":"string","description":"Maximum size the tier can scale up to, e.g \"64g\".\n"},"maxSizeResource":{"type":"string","description":"Resource type used when specifying the maximum size the tier can scale up to.\n"},"minSize":{"type":"string","description":"Minimum size the tier can scale down to when bidirectional autoscaling is supported.\n"},"minSizeResource":{"type":"string","description":"Resource type used when specifying the minimum size the tier can scale down to when bidirectional autoscaling is supported.\n"},"policyOverrideJson":{"type":"string","description":"An arbitrary JSON object overriding the default autoscaling policy. Don't set unless you really know what you are doing.\n"}},"type":"object","required":["maxSize","maxSizeResource","minSize","minSizeResource","policyOverrideJson"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentEnterpriseSearch:getDeploymentEnterpriseSearch":{"properties":{"elasticsearchClusterRefId":{"type":"string","description":"A locally-unique friendly alias for an Elasticsearch resource in this deployment.\n"},"healthy":{"type":"boolean","description":"Enterprise Search resource health status.\n"},"httpEndpoint":{"type":"string","description":"HTTP endpoint for the Enterprise Search resource.\n"},"httpsEndpoint":{"type":"string","description":"HTTPS endpoint for the Enterprise Search resource.\n"},"refId":{"type":"string","description":"A locally-unique friendly alias for this Enterprise Search resource.\n"},"resourceId":{"type":"string","description":"The resource unique identifier.\n"},"status":{"type":"string","description":"Enterprise Search resource status (for example, \"started\", \"stopped\", etc).\n"},"topologies":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentEnterpriseSearchTopology:getDeploymentEnterpriseSearchTopology"},"description":"Node topology element definition.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object","required":["elasticsearchClusterRefId","healthy","httpEndpoint","httpsEndpoint","refId","resourceId","status","topologies","version"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentEnterpriseSearchTopology:getDeploymentEnterpriseSearchTopology":{"properties":{"instanceConfigurationId":{"type":"string","description":"Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the ID of an existing instance configuration.\n"},"nodeTypeAppserver":{"type":"boolean","description":"Defines whether this instance should run as application/API server.\n"},"nodeTypeConnector":{"type":"boolean","description":"Defines whether this instance should run as connector.\n"},"nodeTypeWorker":{"type":"boolean","description":"Defines whether this instance should run as background worker.\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e in Gigabytes. For example \"4g\".\n"},"sizeResource":{"type":"string","description":"Type of resource (\"memory\" or \"storage\")\n"},"zoneCount":{"type":"integer","description":"Number of zones in which nodes will be placed.\n"}},"type":"object","required":["instanceConfigurationId","nodeTypeAppserver","nodeTypeConnector","nodeTypeWorker","size","sizeResource","zoneCount"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentIntegrationsServer:getDeploymentIntegrationsServer":{"properties":{"elasticsearchClusterRefId":{"type":"string","description":"A locally-unique friendly alias for an Elasticsearch resource in this deployment.\n"},"healthy":{"type":"boolean","description":"Resource kind health status.\n"},"httpEndpoint":{"type":"string","description":"HTTP endpoint for the resource kind.\n"},"httpsEndpoint":{"type":"string","description":"HTTPS endpoint for the resource kind.\n"},"refId":{"type":"string","description":"A locally-unique friendly alias for this Integrations Server resource.\n"},"resourceId":{"type":"string","description":"The resource unique identifier.\n"},"status":{"type":"string","description":"Resource kind status (for example, \"started\", \"stopped\", etc).\n"},"topologies":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentIntegrationsServerTopology:getDeploymentIntegrationsServerTopology"},"description":"Node topology element definition.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object","required":["elasticsearchClusterRefId","healthy","httpEndpoint","httpsEndpoint","refId","resourceId","status","topologies","version"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentIntegrationsServerTopology:getDeploymentIntegrationsServerTopology":{"properties":{"instanceConfigurationId":{"type":"string","description":"Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the ID of an existing instance configuration.\n"},"size":{"type":"string","description":"Amount of \u003cspan pulumi-lang-nodejs=\"\"sizeResource\"\" pulumi-lang-dotnet=\"\"SizeResource\"\" pulumi-lang-go=\"\"sizeResource\"\" pulumi-lang-python=\"\"size_resource\"\" pulumi-lang-yaml=\"\"sizeResource\"\" pulumi-lang-java=\"\"sizeResource\"\"\u003e\"size_resource\"\u003c/span\u003e in Gigabytes. For example \"4g\".\n"},"sizeResource":{"type":"string","description":"Type of resource (\"memory\" or \"storage\")\n"},"zoneCount":{"type":"integer","description":"Number of zones in which nodes will be placed.\n"}},"type":"object","required":["instanceConfigurationId","size","sizeResource","zoneCount"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentKibana:getDeploymentKibana":{"properties":{"elasticsearchClusterRefId":{"type":"string","description":"A locally-unique friendly alias for an Elasticsearch resource in this deployment.\n"},"healthy":{"type":"boolean","description":"Kibana resource health status.\n"},"httpEndpoint":{"type":"string","description":"HTTP endpoint for the Kibana resource.\n"},"httpsEndpoint":{"type":"string","description":"HTTPS endpoint for the Kibana resource.\n"},"refId":{"type":"string","description":"A locally-unique friendly alias for this Kibana resource.\n"},"resourceId":{"type":"string","description":"The resource unique identifier.\n"},"status":{"type":"string","description":"Kibana resource status (for example, \"started\", \"stopped\", etc).\n"},"topologies":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentKibanaTopology:getDeploymentKibanaTopology"},"description":"Node topology element definition.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object","required":["elasticsearchClusterRefId","healthy","httpEndpoint","httpsEndpoint","refId","resourceId","status","topologies","version"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentKibanaTopology:getDeploymentKibanaTopology":{"properties":{"instanceConfigurationId":{"type":"string","description":"Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the ID of an existing instance configuration.\n"},"size":{"type":"string","description":"Amount of\u003cspan pulumi-lang-nodejs=\" sizeResource \" pulumi-lang-dotnet=\" SizeResource \" pulumi-lang-go=\" sizeResource \" pulumi-lang-python=\" size_resource \" pulumi-lang-yaml=\" sizeResource \" pulumi-lang-java=\" sizeResource \"\u003e size_resource \u003c/span\u003ein Gigabytes. For example \"4g\".\n"},"sizeResource":{"type":"string","description":"Type of resource (\"memory\" or \"storage\")\n"},"zoneCount":{"type":"integer","description":"Number of zones in which nodes will be placed.\n"}},"type":"object","required":["instanceConfigurationId","size","sizeResource","zoneCount"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentObservability:getDeploymentObservability":{"properties":{"deploymentId":{"type":"string","description":"Destination deployment ID for the shipped logs and monitoring metrics.\n"},"logs":{"type":"boolean","description":"Defines whether logs are shipped to the destination deployment.\n"},"metrics":{"type":"boolean","description":"Defines whether metrics are shipped to the destination deployment.\n"},"refId":{"type":"string","description":"Elasticsearch resource kind\u003cspan pulumi-lang-nodejs=\" refId \" pulumi-lang-dotnet=\" RefId \" pulumi-lang-go=\" refId \" pulumi-lang-python=\" ref_id \" pulumi-lang-yaml=\" refId \" pulumi-lang-java=\" refId \"\u003e ref_id \u003c/span\u003eof the destination deployment.\n"}},"type":"object","required":["deploymentId","logs","metrics","refId"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplate:getDeploymentTemplatesTemplate":{"properties":{"apm":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateApm:getDeploymentTemplatesTemplateApm","description":"Defines the default configuration for a stateless application (Kibana, Enterprise Search, APM or Integrations Server).\n"},"deprecated":{"type":"boolean","description":"Outdated templates are marked as deprecated, but can still be used.\n"},"description":{"type":"string","description":"The description of the deployment template.\n"},"elasticsearch":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearch:getDeploymentTemplatesTemplateElasticsearch","description":"Defines the default configuration for Elasticsearch.\n"},"enterpriseSearch":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateEnterpriseSearch:getDeploymentTemplatesTemplateEnterpriseSearch","description":"Defines the default configuration for a stateless application (Kibana, Enterprise Search, APM or Integrations Server).\n"},"id":{"type":"string","description":"The id of the deployment template.\n"},"integrationsServer":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateIntegrationsServer:getDeploymentTemplatesTemplateIntegrationsServer","description":"Defines the default configuration for a stateless application (Kibana, Enterprise Search, APM or Integrations Server).\n"},"kibana":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateKibana:getDeploymentTemplatesTemplateKibana","description":"Defines the default configuration for a stateless application (Kibana, Enterprise Search, APM or Integrations Server).\n"},"minStackVersion":{"type":"string","description":"The minimum stack version that can used with this deployment template.\n"},"name":{"type":"string","description":"The name of the deployment template.\n"}},"type":"object","required":["apm","deprecated","description","elasticsearch","enterpriseSearch","id","integrationsServer","kibana","minStackVersion","name"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateApm:getDeploymentTemplatesTemplateApm":{"properties":{"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearch:getDeploymentTemplatesTemplateElasticsearch":{"properties":{"autoscale":{"type":"boolean"},"cold":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchCold:getDeploymentTemplatesTemplateElasticsearchCold","description":"Defines the default configuration for each topology.\n"},"coordinating":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchCoordinating:getDeploymentTemplatesTemplateElasticsearchCoordinating","description":"Defines the default configuration for each topology.\n"},"frozen":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchFrozen:getDeploymentTemplatesTemplateElasticsearchFrozen","description":"Defines the default configuration for each topology.\n"},"hot":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchHot:getDeploymentTemplatesTemplateElasticsearchHot","description":"Defines the default configuration for each topology.\n"},"master":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchMaster:getDeploymentTemplatesTemplateElasticsearchMaster","description":"Defines the default configuration for each topology.\n"},"ml":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchMl:getDeploymentTemplatesTemplateElasticsearchMl","description":"Defines the default configuration for each topology.\n"},"warm":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchWarm:getDeploymentTemplatesTemplateElasticsearchWarm","description":"Defines the default configuration for each topology.\n"}},"type":"object","required":["autoscale","cold","coordinating","frozen","hot","master","ml","warm"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchCold:getDeploymentTemplatesTemplateElasticsearchCold":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchColdAutoscaling:getDeploymentTemplatesTemplateElasticsearchColdAutoscaling"},"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["autoscaling","availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchColdAutoscaling:getDeploymentTemplatesTemplateElasticsearchColdAutoscaling":{"properties":{"autoscale":{"type":"boolean"},"maxSize":{"type":"string"},"maxSizeResource":{"type":"string"},"minSize":{"type":"string"},"minSizeResource":{"type":"string"}},"type":"object","required":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchCoordinating:getDeploymentTemplatesTemplateElasticsearchCoordinating":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchCoordinatingAutoscaling:getDeploymentTemplatesTemplateElasticsearchCoordinatingAutoscaling"},"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["autoscaling","availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchCoordinatingAutoscaling:getDeploymentTemplatesTemplateElasticsearchCoordinatingAutoscaling":{"properties":{"autoscale":{"type":"boolean"},"maxSize":{"type":"string"},"maxSizeResource":{"type":"string"},"minSize":{"type":"string"},"minSizeResource":{"type":"string"}},"type":"object","required":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchFrozen:getDeploymentTemplatesTemplateElasticsearchFrozen":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchFrozenAutoscaling:getDeploymentTemplatesTemplateElasticsearchFrozenAutoscaling"},"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["autoscaling","availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchFrozenAutoscaling:getDeploymentTemplatesTemplateElasticsearchFrozenAutoscaling":{"properties":{"autoscale":{"type":"boolean"},"maxSize":{"type":"string"},"maxSizeResource":{"type":"string"},"minSize":{"type":"string"},"minSizeResource":{"type":"string"}},"type":"object","required":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchHot:getDeploymentTemplatesTemplateElasticsearchHot":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchHotAutoscaling:getDeploymentTemplatesTemplateElasticsearchHotAutoscaling"},"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["autoscaling","availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchHotAutoscaling:getDeploymentTemplatesTemplateElasticsearchHotAutoscaling":{"properties":{"autoscale":{"type":"boolean"},"maxSize":{"type":"string"},"maxSizeResource":{"type":"string"},"minSize":{"type":"string"},"minSizeResource":{"type":"string"}},"type":"object","required":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchMaster:getDeploymentTemplatesTemplateElasticsearchMaster":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchMasterAutoscaling:getDeploymentTemplatesTemplateElasticsearchMasterAutoscaling"},"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["autoscaling","availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchMasterAutoscaling:getDeploymentTemplatesTemplateElasticsearchMasterAutoscaling":{"properties":{"autoscale":{"type":"boolean"},"maxSize":{"type":"string"},"maxSizeResource":{"type":"string"},"minSize":{"type":"string"},"minSizeResource":{"type":"string"}},"type":"object","required":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchMl:getDeploymentTemplatesTemplateElasticsearchMl":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchMlAutoscaling:getDeploymentTemplatesTemplateElasticsearchMlAutoscaling"},"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["autoscaling","availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchMlAutoscaling:getDeploymentTemplatesTemplateElasticsearchMlAutoscaling":{"properties":{"autoscale":{"type":"boolean"},"maxSize":{"type":"string"},"maxSizeResource":{"type":"string"},"minSize":{"type":"string"},"minSizeResource":{"type":"string"}},"type":"object","required":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchWarm:getDeploymentTemplatesTemplateElasticsearchWarm":{"properties":{"autoscaling":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplateElasticsearchWarmAutoscaling:getDeploymentTemplatesTemplateElasticsearchWarmAutoscaling"},"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["autoscaling","availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateElasticsearchWarmAutoscaling:getDeploymentTemplatesTemplateElasticsearchWarmAutoscaling":{"properties":{"autoscale":{"type":"boolean"},"maxSize":{"type":"string"},"maxSizeResource":{"type":"string"},"minSize":{"type":"string"},"minSizeResource":{"type":"string"}},"type":"object","required":["autoscale","maxSize","maxSizeResource","minSize","minSizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateEnterpriseSearch:getDeploymentTemplatesTemplateEnterpriseSearch":{"properties":{"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateIntegrationsServer:getDeploymentTemplatesTemplateIntegrationsServer":{"properties":{"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentTemplatesTemplateKibana:getDeploymentTemplatesTemplateKibana":{"properties":{"availableSizes":{"type":"array","items":{"type":"string"}},"defaultSize":{"type":"string"},"instanceConfigurationId":{"type":"string"},"instanceConfigurationVersion":{"type":"number"},"sizeResource":{"type":"string"}},"type":"object","required":["availableSizes","defaultSize","instanceConfigurationId","instanceConfigurationVersion","sizeResource"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentsApm:getDeploymentsApm":{"properties":{"healthy":{"type":"string","description":"Overall health status of the resource instances.\n"},"status":{"type":"string","description":"Resource kind status. Can be one of \u003cspan pulumi-lang-nodejs=\"`initializing`\" pulumi-lang-dotnet=\"`Initializing`\" pulumi-lang-go=\"`initializing`\" pulumi-lang-python=\"`initializing`\" pulumi-lang-yaml=\"`initializing`\" pulumi-lang-java=\"`initializing`\"\u003e`initializing`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rebooting`\" pulumi-lang-dotnet=\"`Rebooting`\" pulumi-lang-go=\"`rebooting`\" pulumi-lang-python=\"`rebooting`\" pulumi-lang-yaml=\"`rebooting`\" pulumi-lang-java=\"`rebooting`\"\u003e`rebooting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restarting`\" pulumi-lang-dotnet=\"`Restarting`\" pulumi-lang-go=\"`restarting`\" pulumi-lang-python=\"`restarting`\" pulumi-lang-yaml=\"`restarting`\" pulumi-lang-java=\"`restarting`\"\u003e`restarting`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object"},"ec:index/getDeploymentsDeployment:getDeploymentsDeployment":{"properties":{"alias":{"type":"string","description":"Deployment alias.\n"},"apmRefId":{"type":"string","description":"The APM resource reference.\n"},"apmResourceId":{"type":"string","description":"The APM resource unique ID.\n"},"deploymentId":{"type":"string","description":"The deployment unique ID.\n"},"elasticsearchRefId":{"type":"string","description":"The Elasticsearch resource reference.\n"},"elasticsearchResourceId":{"type":"string","description":"The Elasticsearch resource unique ID.\n"},"enterpriseSearchRefId":{"type":"string","description":"The Enterprise Search resource reference.\n"},"enterpriseSearchResourceId":{"type":"string","description":"The Enterprise Search resource unique ID.\n"},"integrationsServerRefId":{"type":"string","description":"The Integrations Server resource reference.\n"},"integrationsServerResourceId":{"type":"string","description":"The Integrations Server resource unique ID.\n"},"kibanaRefId":{"type":"string","description":"The Kibana resource reference.\n"},"kibanaResourceId":{"type":"string","description":"The Kibana resource unique ID.\n"},"name":{"type":"string","description":"The name of the deployment.\n"}},"type":"object","required":["alias","apmRefId","apmResourceId","deploymentId","elasticsearchRefId","elasticsearchResourceId","enterpriseSearchRefId","enterpriseSearchResourceId","integrationsServerRefId","integrationsServerResourceId","kibanaRefId","kibanaResourceId","name"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getDeploymentsElasticsearch:getDeploymentsElasticsearch":{"properties":{"healthy":{"type":"string","description":"Overall health status of the resource instances.\n"},"status":{"type":"string","description":"Resource kind status. Can be one of \u003cspan pulumi-lang-nodejs=\"`initializing`\" pulumi-lang-dotnet=\"`Initializing`\" pulumi-lang-go=\"`initializing`\" pulumi-lang-python=\"`initializing`\" pulumi-lang-yaml=\"`initializing`\" pulumi-lang-java=\"`initializing`\"\u003e`initializing`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rebooting`\" pulumi-lang-dotnet=\"`Rebooting`\" pulumi-lang-go=\"`rebooting`\" pulumi-lang-python=\"`rebooting`\" pulumi-lang-yaml=\"`rebooting`\" pulumi-lang-java=\"`rebooting`\"\u003e`rebooting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restarting`\" pulumi-lang-dotnet=\"`Restarting`\" pulumi-lang-go=\"`restarting`\" pulumi-lang-python=\"`restarting`\" pulumi-lang-yaml=\"`restarting`\" pulumi-lang-java=\"`restarting`\"\u003e`restarting`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object"},"ec:index/getDeploymentsEnterpriseSearch:getDeploymentsEnterpriseSearch":{"properties":{"healthy":{"type":"string","description":"Overall health status of the resource instances.\n"},"status":{"type":"string","description":"Resource kind status. Can be one of \u003cspan pulumi-lang-nodejs=\"`initializing`\" pulumi-lang-dotnet=\"`Initializing`\" pulumi-lang-go=\"`initializing`\" pulumi-lang-python=\"`initializing`\" pulumi-lang-yaml=\"`initializing`\" pulumi-lang-java=\"`initializing`\"\u003e`initializing`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rebooting`\" pulumi-lang-dotnet=\"`Rebooting`\" pulumi-lang-go=\"`rebooting`\" pulumi-lang-python=\"`rebooting`\" pulumi-lang-yaml=\"`rebooting`\" pulumi-lang-java=\"`rebooting`\"\u003e`rebooting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restarting`\" pulumi-lang-dotnet=\"`Restarting`\" pulumi-lang-go=\"`restarting`\" pulumi-lang-python=\"`restarting`\" pulumi-lang-yaml=\"`restarting`\" pulumi-lang-java=\"`restarting`\"\u003e`restarting`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object"},"ec:index/getDeploymentsIntegrationsServer:getDeploymentsIntegrationsServer":{"properties":{"healthy":{"type":"string","description":"Overall health status of the resource instances.\n"},"status":{"type":"string","description":"Resource kind status. Can be one of \u003cspan pulumi-lang-nodejs=\"`initializing`\" pulumi-lang-dotnet=\"`Initializing`\" pulumi-lang-go=\"`initializing`\" pulumi-lang-python=\"`initializing`\" pulumi-lang-yaml=\"`initializing`\" pulumi-lang-java=\"`initializing`\"\u003e`initializing`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rebooting`\" pulumi-lang-dotnet=\"`Rebooting`\" pulumi-lang-go=\"`rebooting`\" pulumi-lang-python=\"`rebooting`\" pulumi-lang-yaml=\"`rebooting`\" pulumi-lang-java=\"`rebooting`\"\u003e`rebooting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restarting`\" pulumi-lang-dotnet=\"`Restarting`\" pulumi-lang-go=\"`restarting`\" pulumi-lang-python=\"`restarting`\" pulumi-lang-yaml=\"`restarting`\" pulumi-lang-java=\"`restarting`\"\u003e`restarting`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object"},"ec:index/getDeploymentsKibana:getDeploymentsKibana":{"properties":{"healthy":{"type":"string","description":"Overall health status of the resource instances.\n"},"status":{"type":"string","description":"Resource kind status. Can be one of \u003cspan pulumi-lang-nodejs=\"`initializing`\" pulumi-lang-dotnet=\"`Initializing`\" pulumi-lang-go=\"`initializing`\" pulumi-lang-python=\"`initializing`\" pulumi-lang-yaml=\"`initializing`\" pulumi-lang-java=\"`initializing`\"\u003e`initializing`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopping`\" pulumi-lang-dotnet=\"`Stopping`\" pulumi-lang-go=\"`stopping`\" pulumi-lang-python=\"`stopping`\" pulumi-lang-yaml=\"`stopping`\" pulumi-lang-java=\"`stopping`\"\u003e`stopping`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stopped`\" pulumi-lang-dotnet=\"`Stopped`\" pulumi-lang-go=\"`stopped`\" pulumi-lang-python=\"`stopped`\" pulumi-lang-yaml=\"`stopped`\" pulumi-lang-java=\"`stopped`\"\u003e`stopped`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rebooting`\" pulumi-lang-dotnet=\"`Rebooting`\" pulumi-lang-go=\"`rebooting`\" pulumi-lang-python=\"`rebooting`\" pulumi-lang-yaml=\"`rebooting`\" pulumi-lang-java=\"`rebooting`\"\u003e`rebooting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restarting`\" pulumi-lang-dotnet=\"`Restarting`\" pulumi-lang-go=\"`restarting`\" pulumi-lang-python=\"`restarting`\" pulumi-lang-yaml=\"`restarting`\" pulumi-lang-java=\"`restarting`\"\u003e`restarting`\u003c/span\u003e.\n"},"version":{"type":"string","description":"Elastic stack version.\n"}},"type":"object"},"ec:index/getStackApm:getStackApm":{"properties":{"capacityConstraintsMax":{"type":"integer","description":"Maximum size of the instances.\n"},"capacityConstraintsMin":{"type":"integer","description":"Minimum size of the instances.\n"},"compatibleNodeTypes":{"type":"array","items":{"type":"string"},"description":"List of node types compatible with this one.\n"},"denylists":{"type":"array","items":{"type":"string"},"description":"List of configuration options that cannot be overridden by user settings.\n"},"dockerImage":{"type":"string","description":"Docker image to use for the APM instance.\n"}},"type":"object","required":["capacityConstraintsMax","capacityConstraintsMin","compatibleNodeTypes","denylists","dockerImage"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getStackElasticsearch:getStackElasticsearch":{"properties":{"capacityConstraintsMax":{"type":"integer","description":"Maximum size of the instances.\n"},"capacityConstraintsMin":{"type":"integer","description":"Minimum size of the instances.\n"},"compatibleNodeTypes":{"type":"array","items":{"type":"string"},"description":"List of node types compatible with this one.\n"},"defaultPlugins":{"type":"array","items":{"type":"string"},"description":"List of default plugins.\n"},"denylists":{"type":"array","items":{"type":"string"},"description":"List of configuration options that cannot be overridden by user settings.\n"},"dockerImage":{"type":"string","description":"Docker image to use for the Elasticsearch cluster instances.\n"},"plugins":{"type":"array","items":{"type":"string"},"description":"List of available plugins to be specified by users in Elasticsearch cluster instances.\n"}},"type":"object","required":["capacityConstraintsMax","capacityConstraintsMin","compatibleNodeTypes","defaultPlugins","denylists","dockerImage","plugins"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getStackEnterpriseSearch:getStackEnterpriseSearch":{"properties":{"capacityConstraintsMax":{"type":"integer","description":"Maximum size of the instances.\n"},"capacityConstraintsMin":{"type":"integer","description":"Minimum size of the instances.\n"},"compatibleNodeTypes":{"type":"array","items":{"type":"string"},"description":"List of node types compatible with this one.\n"},"denylists":{"type":"array","items":{"type":"string"},"description":"List of configuration options that cannot be overridden by user settings.\n"},"dockerImage":{"type":"string","description":"Docker image to use for the Enterprise Search instance.\n"}},"type":"object","required":["capacityConstraintsMax","capacityConstraintsMin","compatibleNodeTypes","denylists","dockerImage"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getStackKibana:getStackKibana":{"properties":{"capacityConstraintsMax":{"type":"integer","description":"Maximum size of the instances.\n"},"capacityConstraintsMin":{"type":"integer","description":"Minimum size of the instances.\n"},"compatibleNodeTypes":{"type":"array","items":{"type":"string"},"description":"List of node types compatible with this one.\n"},"denylists":{"type":"array","items":{"type":"string"},"description":"List of configuration options that cannot be overridden by user settings.\n"},"dockerImage":{"type":"string","description":"Docker image to use for the Kibana instance.\n"}},"type":"object","required":["capacityConstraintsMax","capacityConstraintsMin","compatibleNodeTypes","denylists","dockerImage"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getTrafficFilterRuleset:getTrafficFilterRuleset":{"properties":{"description":{"type":"string","description":"The description of the ruleset.\n"},"id":{"type":"string","description":"The ID of the ruleset\n"},"includeByDefault":{"type":"boolean","description":"Should the ruleset be automatically included in the new deployments.\n"},"name":{"type":"string","description":"The name of the ruleset.\n"},"region":{"type":"string","description":"The ruleset can be attached only to deployments in the specific region.\n"},"rules":{"type":"array","items":{"$ref":"#/types/ec:index/getTrafficFilterRulesetRule:getTrafficFilterRulesetRule"},"description":"An individual rule\n"}},"type":"object","required":["description","id","includeByDefault","name","region","rules"],"language":{"nodejs":{"requiredInputs":[]}}},"ec:index/getTrafficFilterRulesetRule:getTrafficFilterRulesetRule":{"properties":{"description":{"type":"string","description":"The description of the rule.\n"},"id":{"type":"string","description":"The ID of the rule\n"},"source":{"type":"string","description":"Allowed traffic filter source: IP address, CIDR mask, or VPC endpoint ID.\n"}},"type":"object","required":["description","id","source"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the ec 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":{"apikey":{"type":"string","description":"API Key to use for API authentication. The only valid authentication mechanism for the Elasticsearch Service.","secret":true},"endpoint":{"type":"string","description":"Endpoint where the terraform provider will point to. Defaults to \"https://api.elastic-cloud.com\"."},"insecure":{"type":"boolean","description":"Allow the provider to skip TLS validation on its outgoing HTTP calls."},"password":{"type":"string","description":"Password to use for API authentication. Available only when targeting ECE Installations or Elasticsearch Service Private.","secret":true},"timeout":{"type":"string","description":"Timeout used for individual HTTP calls. Defaults to \"1m\"."},"username":{"type":"string","description":"Username to use for API authentication. Available only when targeting ECE Installations or Elasticsearch Service Private."},"verbose":{"type":"boolean","description":"When set, a \"request.log\" file will be written with all outgoing HTTP requests. Defaults to \"false\"."},"verboseCredentials":{"type":"boolean","description":"When set with verbose, the contents of the Authorization header will not be redacted. Defaults to \"false\"."},"verboseFile":{"type":"string","description":"Timeout used for individual HTTP calls. Defaults to \"1m\"."}},"inputProperties":{"apikey":{"type":"string","description":"API Key to use for API authentication. The only valid authentication mechanism for the Elasticsearch Service.","secret":true},"endpoint":{"type":"string","description":"Endpoint where the terraform provider will point to. Defaults to \"https://api.elastic-cloud.com\"."},"insecure":{"type":"boolean","description":"Allow the provider to skip TLS validation on its outgoing HTTP calls."},"password":{"type":"string","description":"Password to use for API authentication. Available only when targeting ECE Installations or Elasticsearch Service Private.","secret":true},"timeout":{"type":"string","description":"Timeout used for individual HTTP calls. Defaults to \"1m\"."},"username":{"type":"string","description":"Username to use for API authentication. Available only when targeting ECE Installations or Elasticsearch Service Private."},"verbose":{"type":"boolean","description":"When set, a \"request.log\" file will be written with all outgoing HTTP requests. Defaults to \"false\"."},"verboseCredentials":{"type":"boolean","description":"When set with verbose, the contents of the Authorization header will not be redacted. Defaults to \"false\"."},"verboseFile":{"type":"string","description":"Timeout used for individual HTTP calls. Defaults to \"1m\"."}},"methods":{"terraformConfig":"pulumi:providers:ec/terraformConfig"}},"resources":{"ec:index/deployment:Deployment":{"description":"Provides an Elastic Cloud deployment resource, which allows deployments to be created, updated, and deleted.\n\n\u003e **Note on traffic filters** If you use \u003cspan pulumi-lang-nodejs=\"`trafficFilter`\" pulumi-lang-dotnet=\"`TrafficFilter`\" pulumi-lang-go=\"`trafficFilter`\" pulumi-lang-python=\"`traffic_filter`\" pulumi-lang-yaml=\"`trafficFilter`\" pulumi-lang-java=\"`trafficFilter`\"\u003e`traffic_filter`\u003c/span\u003e on an \u003cspan pulumi-lang-nodejs=\"`ec.Deployment`\" pulumi-lang-dotnet=\"`ec.Deployment`\" pulumi-lang-go=\"`Deployment`\" pulumi-lang-python=\"`Deployment`\" pulumi-lang-yaml=\"`ec.Deployment`\" pulumi-lang-java=\"`ec.Deployment`\"\u003e`ec.Deployment`\u003c/span\u003e, Terraform will manage the full set of traffic rules for the deployment, and treat additional traffic filters as drift. For this reason, \u003cspan pulumi-lang-nodejs=\"`trafficFilter`\" pulumi-lang-dotnet=\"`TrafficFilter`\" pulumi-lang-go=\"`trafficFilter`\" pulumi-lang-python=\"`traffic_filter`\" pulumi-lang-yaml=\"`trafficFilter`\" pulumi-lang-java=\"`trafficFilter`\"\u003e`traffic_filter`\u003c/span\u003e cannot be mixed with the \u003cspan pulumi-lang-nodejs=\"`ec.DeploymentTrafficFilterAssociation`\" pulumi-lang-dotnet=\"`ec.DeploymentTrafficFilterAssociation`\" pulumi-lang-go=\"`DeploymentTrafficFilterAssociation`\" pulumi-lang-python=\"`DeploymentTrafficFilterAssociation`\" pulumi-lang-yaml=\"`ec.DeploymentTrafficFilterAssociation`\" pulumi-lang-java=\"`ec.DeploymentTrafficFilterAssociation`\"\u003e`ec.DeploymentTrafficFilterAssociation`\u003c/span\u003e resource for a given deployment.\n\n\u003e **Note on Elastic Stack versions** Using a version prior to `6.6.0` is not supported.\n\n\u003e **Note on regions and deployment templates** Before you start, you might want to read about [Elastic Cloud deployments](https://www.elastic.co/guide/en/cloud/current/ec-create-deployment.html) and check the [full list](https://www.elastic.co/guide/en/cloud/current/ec-regions-templates-instances.html) of regions and deployment templates available in Elasticsearch Service (ESS).\n\n{{% examples %}}\n## Example Usage\n\n### Basic\n\n```terraform\n# Retrieve the latest stack pack version\ndata \"ec_stack\" \"latest\" {\n  version_regex = \"latest\"\n  region        = \"us-east-1\"\n}\n\n# Create an Elastic Cloud deployment\nresource \"ec_deployment\" \"example_minimal\" {\n  # Optional name.\n  name = \"my_example_deployment\"\n\n  region                 = \"us-east-1\"\n  version                = data.ec_stack.latest.version\n  deployment_template_id = \"aws-io-optimized-v2\"\n\n  elasticsearch = {\n    hot = {\n      autoscaling = {}\n    }\n  }\n\n  kibana = {}\n\n  enterprise_search = {}\n\n  integrations_server = {}\n}\n```\n\n### With config\n\n`es.yaml`\n```yaml\n# My example YAML configuration for elasicsearch nodes\nrepositories.url.allowed_urls: [\"http://www.example.org/root/*\", \"https://*.mydomain.com/*?*#*\"]\n```\n\n`deployment.tf`:\n```terraform\n# Retrieve the latest stack pack version\ndata \"ec_stack\" \"latest\" {\n  version_regex = \"latest\"\n  region        = \"us-east-1\"\n}\n\n# Create an Elastic Cloud deployment\nresource \"ec_deployment\" \"example_minimal\" {\n  # Optional name.\n  name = \"my_example_deployment\"\n\n  region                 = \"us-east-1\"\n  version                = data.ec_stack.latest.version\n  deployment_template_id = \"aws-io-optimized-v2\"\n\n  elasticsearch = {\n    hot = {\n      autoscaling = {}\n    }\n    config = {\n      user_settings_yaml = file(\"./es.yaml\")\n    }\n  }\n\n  kibana = {}\n\n  enterprise_search = {}\n\n  integrations_server = {}\n}\n```\n\n### With autoscaling\n\n```terraform\ndata \"ec_stack\" \"latest\" {\n  version_regex = \"latest\"\n  region        = \"us-east-1\"\n}\n\nresource \"ec_deployment\" \"example_minimal\" {\n  region                 = \"us-east-1\"\n  version                = data.ec_stack.latest.version\n  deployment_template_id = \"aws-io-optimized-v2\"\n\n  elasticsearch = {\n\n    autoscale = \"true\"\n\n    # If `autoscale` is set, all topology elements that\n    # - either set `size` in the plan or\n    # - have non-zero default `max_size` (that is read from the deployment templates's `autoscaling_max` value)\n    # have to be listed even if their blocks don't specify other fields beside `id`\n\n    cold = {\n      autoscaling = {}\n    }\n\n    frozen = {\n      autoscaling = {}\n    }\n\n    hot = {\n      size = \"8g\"\n\n      autoscaling = {\n        max_size          = \"128g\"\n        max_size_resource = \"memory\"\n      }\n    }\n\n    ml = {\n      autoscaling = {}\n    }\n\n    warm = {\n      autoscaling = {}\n    }\n  }\n\n  # Initial size for `hot_content` tier is set to 8g\n  # so `hot_content`'s size has to be added to the `ignore_changes` meta-argument to ignore future modifications that can be made by the autoscaler\n  lifecycle {\n    ignore_changes = [\n      elasticsearch.hot.size\n    ]\n  }\n\n  kibana = {}\n\n  integrations_server = {}\n\n  enterprise_search = {}\n}\n```\n\n### With observability\n\n```terraform\ndata \"ec_stack\" \"latest\" {\n  version_regex = \"latest\"\n  region        = \"us-east-1\"\n}\n\nresource \"ec_deployment\" \"example_observability\" {\n  # Optional name.\n  name = \"my_example_deployment\"\n\n  # Mandatory fields\n  region                 = \"us-east-1\"\n  version                = data.ec_stack.latest.version\n  deployment_template_id = \"aws-io-optimized-v2\"\n\n  elasticsearch = {\n    hot = {\n      autoscaling = {}\n    }\n  }\n\n  kibana = {}\n\n  # Optional observability settings\n  observability = {\n    deployment_id = ec_deployment.example_minimal.id\n  }\n\n  tags = {\n    \"monitoring\" = \"source\"\n  }\n}\n```\n\nIt is possible to enable observability without using a second deployment, by storing the observability data in the current deployment. To enable this, set \u003cspan pulumi-lang-nodejs=\"`deploymentId`\" pulumi-lang-dotnet=\"`DeploymentId`\" pulumi-lang-go=\"`deploymentId`\" pulumi-lang-python=\"`deployment_id`\" pulumi-lang-yaml=\"`deploymentId`\" pulumi-lang-java=\"`deploymentId`\"\u003e`deployment_id`\u003c/span\u003e to \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e.\n```hcl\nobservability = {\n  deployment_id = \"self\"\n}\n```\n\n### With Cross Cluster Search settings\n\n```terraform\ndata \"ec_stack\" \"latest\" {\n  version_regex = \"latest\"\n  region        = \"us-east-1\"\n}\n\nresource \"ec_deployment\" \"source_deployment\" {\n  name = \"my_ccs_source\"\n\n  region                 = \"us-east-1\"\n  version                = data.ec_stack.latest.version\n  deployment_template_id = \"aws-io-optimized-v2\"\n\n  elasticsearch = {\n    hot = {\n      size        = \"1g\"\n      autoscaling = {}\n    }\n  }\n}\n\nresource \"ec_deployment\" \"ccs\" {\n  name = \"ccs deployment\"\n\n  region                 = \"us-east-1\"\n  version                = data.ec_stack.latest.version\n  deployment_template_id = \"aws-cross-cluster-search-v2\"\n\n  elasticsearch = {\n    hot = {\n      autoscalign = {}\n    }\n    remote_cluster = [{\n      deployment_id = ec_deployment.source_deployment.id\n      alias         = ec_deployment.source_deployment.name\n      ref_id        = ec_deployment.source_deployment.elasticsearch.0.ref_id\n    }]\n  }\n\n  kibana = {}\n}\n```\n\n### With Keystore\n\n```terraform\n# Retrieve the latest stack pack version\ndata \"ec_stack\" \"latest\" {\n  version_regex = \"latest\"\n  region        = \"us-east-1\"\n}\n\n# Create an Elastic Cloud deployment with keystore\nresource \"ec_deployment\" \"with_keystore\" {\n  name = \"example_with_keystore\"\n\n  region                 = \"us-east-1\"\n  version                = data.ec_stack.latest.version\n  deployment_template_id = \"aws-io-optimized-v2\"\n\n  elasticsearch = {\n    hot = {\n      autoscaling = {}\n    }\n\n    config = {\n      user_settings_yaml = \u003c\u003cEOF\nxpack.security.authc.realms.oidc.oidc1:\n  order: 1\n  rp.client_id: \"\u003cclient-id\u003e\"\n  rp.response_type: \"code\"\n  rp.requested_scopes: [\"openid\", \"email\"]\n  rp.redirect_uri: \"\u003cKIBANA_ENDPOINT_URL\u003e/api/security/oidc/callback\"\n  op.issuer: \"\u003cYOUR_OKTA_DOMAIN\u003e\"\n  op.authorization_endpoint: \"\u003cYOUR_OKTA_DOMAIN\u003e/oauth2/v1/authorize\"\n  op.token_endpoint: \"\u003cYOUR_OKTA_DOMAIN\u003e/oauth2/v1/token\"\n  op.userinfo_endpoint: \"\u003cYOUR_OKTA_DOMAIN\u003e/oauth2/v1/userinfo\"\n  op.endsession_endpoint: \"\u003cYOUR_OKTA_DOMAIN\u003e/oauth2/v1/logout\"\n  op.jwkset_path: \"\u003cYOUR_OKTA_DOMAIN\u003e/oauth2/v1/keys\"\n  claims.principal: email\n  claim_patterns.principal: \"^([^@]+)@elastic\\\\.co$\"\nEOF\n    }\n\n    keystore_contents = {\n      \"xpack.security.authc.realms.oidc.oidc1.rp.client_secret\" = {\n        value = \"secret-1\"\n      }\n    }\n  }\n\n  kibana = {\n    zone_count = 1\n    config = {\n      user_settings_yaml = \u003c\u003cEOF\nxpack.security.authc.providers:\n  oidc.oidc1:\n    order: 0\n    realm: oidc1\n    description: \"Log in with Okta\"\n  basic.basic1:\n    order: 1\nEOF\n    }\n  }\n}\n```\n\n## Import\n\n\u003e **Note on deployment credentials** The \u003cspan pulumi-lang-nodejs=\"`elastic`\" pulumi-lang-dotnet=\"`Elastic`\" pulumi-lang-go=\"`elastic`\" pulumi-lang-python=\"`elastic`\" pulumi-lang-yaml=\"`elastic`\" pulumi-lang-java=\"`elastic`\"\u003e`elastic`\u003c/span\u003e user credentials are only available whilst creating a deployment. Importing a deployment will not import the \u003cspan pulumi-lang-nodejs=\"`elasticsearchUsername`\" pulumi-lang-dotnet=\"`ElasticsearchUsername`\" pulumi-lang-go=\"`elasticsearchUsername`\" pulumi-lang-python=\"`elasticsearch_username`\" pulumi-lang-yaml=\"`elasticsearchUsername`\" pulumi-lang-java=\"`elasticsearchUsername`\"\u003e`elasticsearch_username`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`elasticsearchPassword`\" pulumi-lang-dotnet=\"`ElasticsearchPassword`\" pulumi-lang-go=\"`elasticsearchPassword`\" pulumi-lang-python=\"`elasticsearch_password`\" pulumi-lang-yaml=\"`elasticsearchPassword`\" pulumi-lang-java=\"`elasticsearchPassword`\"\u003e`elasticsearch_password`\u003c/span\u003e attributes.\n\n\u003e **Note on legacy (pre-slider) deployments** Importing deployments created prior to the addition of sliders in ECE or ESS, without being migrated to use sliders, is not supported.\n\n\u003e **Note on pre 6.6.0 deployments** Importing deployments with a version lower than `6.6.0` is not supported.\n\n\u003e **Note on deployments with topology user settings** Only deployments with global user settings (config) are supported. Make sure to migrate to global settings before importing.\n\nDeployments can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, for example:\n\n```sh\n$ pulumi import ec:index/deployment:Deployment search 320b7b540dfc967a7a649c18e2fce4ed\n```\n\n\n{{% /examples %}}","properties":{"alias":{"type":"string","description":"Deployment alias, affects the format of the resource URLs. Set to an empty value (\"\") to disable the alias."},"apm":{"$ref":"#/types/ec:index/DeploymentApm:DeploymentApm","description":"**DEPRECATED** APM cluster definition. This should only be used for deployments running a version lower than 8.0"},"apmSecretToken":{"type":"string","secret":true},"deploymentTemplateId":{"type":"string","description":"Deployment template identifier to create the deployment from. See the [full list](https://www.elastic.co/guide/en/cloud/current/ec-regions-templates-instances.html) of regions and deployment templates available in ESS.\n"},"elasticsearch":{"$ref":"#/types/ec:index/DeploymentElasticsearch:DeploymentElasticsearch","description":"Elasticsearch cluster definition\n"},"elasticsearchPassword":{"type":"string","description":"Password for authenticating to the Elasticsearch resource.\n\n\u003e **Note on deployment credentials** The \u003ccode\u003eelastic\u003c/code\u003e user credentials are only available whilst creating a deployment. Importing a deployment will not import the \u003ccode\u003eelasticsearch_username\u003c/code\u003e or \u003ccode\u003eelasticsearch_password\u003c/code\u003e attributes.\n\u003e **Note on deployment credentials in state** The \u003ccode\u003eelastic\u003c/code\u003e user credentials are stored in the state file as plain text. Please follow the official Terraform recommendations regarding senstaive data in state.","secret":true},"elasticsearchUsername":{"type":"string","description":"Username for authenticating to the Elasticsearch resource."},"enterpriseSearch":{"$ref":"#/types/ec:index/DeploymentEnterpriseSearch:DeploymentEnterpriseSearch","description":"Enterprise Search cluster definition."},"integrationsServer":{"$ref":"#/types/ec:index/DeploymentIntegrationsServer:DeploymentIntegrationsServer","description":"Integrations Server cluster definition. Integrations Server replaces \u003cspan pulumi-lang-nodejs=\"`apm`\" pulumi-lang-dotnet=\"`Apm`\" pulumi-lang-go=\"`apm`\" pulumi-lang-python=\"`apm`\" pulumi-lang-yaml=\"`apm`\" pulumi-lang-java=\"`apm`\"\u003e`apm`\u003c/span\u003e in Stack versions \u003e 8.0"},"kibana":{"$ref":"#/types/ec:index/DeploymentKibana:DeploymentKibana","description":"Kibana cluster definition.\n\n\u003e **Note on disabling Kibana** While optional it is recommended deployments specify a Kibana block, since not doing so might cause issues when modifying or upgrading the deployment."},"migrateToLatestHardware":{"type":"boolean","description":"When set to true, the deployment will be updated according to the latest deployment template values.\n\n\u003e **Note** If the \u003ccode\u003einstance_configuration_id\u003c/code\u003e or \u003ccode\u003einstance_configuration_version\u003c/code\u003e fields are set for a specific topology element, that element will not be updated.\n\u003e **Note** Hardware migrations are not supported for deployments with node types. To use this field, the deployment needs to be migrated to node roles first."},"name":{"type":"string","description":"Name for the deployment"},"observability":{"$ref":"#/types/ec:index/DeploymentObservability:DeploymentObservability","description":"Observability settings that you can set to ship logs and metrics to a deployment. The target deployment can also be the current deployment itself by setting observability.deployment_id to \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e."},"region":{"type":"string","description":"Elasticsearch Service (ESS) region where the deployment should be hosted. For Elastic Cloud Enterprise (ECE) installations, set to `\"ece-region\".\n"},"requestId":{"type":"string","description":"Request ID to set when you create the deployment. Use it only when previous attempts return an error and \u003cspan pulumi-lang-nodejs=\"`requestId`\" pulumi-lang-dotnet=\"`RequestId`\" pulumi-lang-go=\"`requestId`\" pulumi-lang-python=\"`request_id`\" pulumi-lang-yaml=\"`requestId`\" pulumi-lang-java=\"`requestId`\"\u003e`request_id`\u003c/span\u003e is returned as part of the error."},"resetElasticsearchPassword":{"type":"boolean","description":"Explicitly resets the\u003cspan pulumi-lang-nodejs=\" elasticsearchPassword \" pulumi-lang-dotnet=\" ElasticsearchPassword \" pulumi-lang-go=\" elasticsearchPassword \" pulumi-lang-python=\" elasticsearch_password \" pulumi-lang-yaml=\" elasticsearchPassword \" pulumi-lang-java=\" elasticsearchPassword \"\u003e elasticsearch_password \u003c/span\u003ewhen true"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional map of deployment tags"},"trafficFilters":{"type":"array","items":{"type":"string"},"description":"List of traffic filters rule identifiers that will be applied to the deployment."},"version":{"type":"string","description":"Elastic Stack version to use for all of the deployment resources.\n"}},"required":["alias","apmSecretToken","deploymentTemplateId","elasticsearch","elasticsearchPassword","elasticsearchUsername","name","region","requestId","trafficFilters","version"],"inputProperties":{"alias":{"type":"string","description":"Deployment alias, affects the format of the resource URLs. Set to an empty value (\"\") to disable the alias."},"apm":{"$ref":"#/types/ec:index/DeploymentApm:DeploymentApm","description":"**DEPRECATED** APM cluster definition. This should only be used for deployments running a version lower than 8.0"},"deploymentTemplateId":{"type":"string","description":"Deployment template identifier to create the deployment from. See the [full list](https://www.elastic.co/guide/en/cloud/current/ec-regions-templates-instances.html) of regions and deployment templates available in ESS.\n"},"elasticsearch":{"$ref":"#/types/ec:index/DeploymentElasticsearch:DeploymentElasticsearch","description":"Elasticsearch cluster definition\n"},"enterpriseSearch":{"$ref":"#/types/ec:index/DeploymentEnterpriseSearch:DeploymentEnterpriseSearch","description":"Enterprise Search cluster definition."},"integrationsServer":{"$ref":"#/types/ec:index/DeploymentIntegrationsServer:DeploymentIntegrationsServer","description":"Integrations Server cluster definition. Integrations Server replaces \u003cspan pulumi-lang-nodejs=\"`apm`\" pulumi-lang-dotnet=\"`Apm`\" pulumi-lang-go=\"`apm`\" pulumi-lang-python=\"`apm`\" pulumi-lang-yaml=\"`apm`\" pulumi-lang-java=\"`apm`\"\u003e`apm`\u003c/span\u003e in Stack versions \u003e 8.0"},"kibana":{"$ref":"#/types/ec:index/DeploymentKibana:DeploymentKibana","description":"Kibana cluster definition.\n\n\u003e **Note on disabling Kibana** While optional it is recommended deployments specify a Kibana block, since not doing so might cause issues when modifying or upgrading the deployment."},"migrateToLatestHardware":{"type":"boolean","description":"When set to true, the deployment will be updated according to the latest deployment template values.\n\n\u003e **Note** If the \u003ccode\u003einstance_configuration_id\u003c/code\u003e or \u003ccode\u003einstance_configuration_version\u003c/code\u003e fields are set for a specific topology element, that element will not be updated.\n\u003e **Note** Hardware migrations are not supported for deployments with node types. To use this field, the deployment needs to be migrated to node roles first."},"name":{"type":"string","description":"Name for the deployment"},"observability":{"$ref":"#/types/ec:index/DeploymentObservability:DeploymentObservability","description":"Observability settings that you can set to ship logs and metrics to a deployment. The target deployment can also be the current deployment itself by setting observability.deployment_id to \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e."},"region":{"type":"string","description":"Elasticsearch Service (ESS) region where the deployment should be hosted. For Elastic Cloud Enterprise (ECE) installations, set to `\"ece-region\".\n"},"requestId":{"type":"string","description":"Request ID to set when you create the deployment. Use it only when previous attempts return an error and \u003cspan pulumi-lang-nodejs=\"`requestId`\" pulumi-lang-dotnet=\"`RequestId`\" pulumi-lang-go=\"`requestId`\" pulumi-lang-python=\"`request_id`\" pulumi-lang-yaml=\"`requestId`\" pulumi-lang-java=\"`requestId`\"\u003e`request_id`\u003c/span\u003e is returned as part of the error."},"resetElasticsearchPassword":{"type":"boolean","description":"Explicitly resets the\u003cspan pulumi-lang-nodejs=\" elasticsearchPassword \" pulumi-lang-dotnet=\" ElasticsearchPassword \" pulumi-lang-go=\" elasticsearchPassword \" pulumi-lang-python=\" elasticsearch_password \" pulumi-lang-yaml=\" elasticsearchPassword \" pulumi-lang-java=\" elasticsearchPassword \"\u003e elasticsearch_password \u003c/span\u003ewhen true"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional map of deployment tags"},"trafficFilters":{"type":"array","items":{"type":"string"},"description":"List of traffic filters rule identifiers that will be applied to the deployment."},"version":{"type":"string","description":"Elastic Stack version to use for all of the deployment resources.\n"}},"requiredInputs":["deploymentTemplateId","elasticsearch","region","version"],"stateInputs":{"description":"Input properties used for looking up and filtering Deployment resources.\n","properties":{"alias":{"type":"string","description":"Deployment alias, affects the format of the resource URLs. Set to an empty value (\"\") to disable the alias."},"apm":{"$ref":"#/types/ec:index/DeploymentApm:DeploymentApm","description":"**DEPRECATED** APM cluster definition. This should only be used for deployments running a version lower than 8.0"},"apmSecretToken":{"type":"string","secret":true},"deploymentTemplateId":{"type":"string","description":"Deployment template identifier to create the deployment from. See the [full list](https://www.elastic.co/guide/en/cloud/current/ec-regions-templates-instances.html) of regions and deployment templates available in ESS.\n"},"elasticsearch":{"$ref":"#/types/ec:index/DeploymentElasticsearch:DeploymentElasticsearch","description":"Elasticsearch cluster definition\n"},"elasticsearchPassword":{"type":"string","description":"Password for authenticating to the Elasticsearch resource.\n\n\u003e **Note on deployment credentials** The \u003ccode\u003eelastic\u003c/code\u003e user credentials are only available whilst creating a deployment. Importing a deployment will not import the \u003ccode\u003eelasticsearch_username\u003c/code\u003e or \u003ccode\u003eelasticsearch_password\u003c/code\u003e attributes.\n\u003e **Note on deployment credentials in state** The \u003ccode\u003eelastic\u003c/code\u003e user credentials are stored in the state file as plain text. Please follow the official Terraform recommendations regarding senstaive data in state.","secret":true},"elasticsearchUsername":{"type":"string","description":"Username for authenticating to the Elasticsearch resource."},"enterpriseSearch":{"$ref":"#/types/ec:index/DeploymentEnterpriseSearch:DeploymentEnterpriseSearch","description":"Enterprise Search cluster definition."},"integrationsServer":{"$ref":"#/types/ec:index/DeploymentIntegrationsServer:DeploymentIntegrationsServer","description":"Integrations Server cluster definition. Integrations Server replaces \u003cspan pulumi-lang-nodejs=\"`apm`\" pulumi-lang-dotnet=\"`Apm`\" pulumi-lang-go=\"`apm`\" pulumi-lang-python=\"`apm`\" pulumi-lang-yaml=\"`apm`\" pulumi-lang-java=\"`apm`\"\u003e`apm`\u003c/span\u003e in Stack versions \u003e 8.0"},"kibana":{"$ref":"#/types/ec:index/DeploymentKibana:DeploymentKibana","description":"Kibana cluster definition.\n\n\u003e **Note on disabling Kibana** While optional it is recommended deployments specify a Kibana block, since not doing so might cause issues when modifying or upgrading the deployment."},"migrateToLatestHardware":{"type":"boolean","description":"When set to true, the deployment will be updated according to the latest deployment template values.\n\n\u003e **Note** If the \u003ccode\u003einstance_configuration_id\u003c/code\u003e or \u003ccode\u003einstance_configuration_version\u003c/code\u003e fields are set for a specific topology element, that element will not be updated.\n\u003e **Note** Hardware migrations are not supported for deployments with node types. To use this field, the deployment needs to be migrated to node roles first."},"name":{"type":"string","description":"Name for the deployment"},"observability":{"$ref":"#/types/ec:index/DeploymentObservability:DeploymentObservability","description":"Observability settings that you can set to ship logs and metrics to a deployment. The target deployment can also be the current deployment itself by setting observability.deployment_id to \u003cspan pulumi-lang-nodejs=\"`self`\" pulumi-lang-dotnet=\"`Self`\" pulumi-lang-go=\"`self`\" pulumi-lang-python=\"`self`\" pulumi-lang-yaml=\"`self`\" pulumi-lang-java=\"`self`\"\u003e`self`\u003c/span\u003e."},"region":{"type":"string","description":"Elasticsearch Service (ESS) region where the deployment should be hosted. For Elastic Cloud Enterprise (ECE) installations, set to `\"ece-region\".\n"},"requestId":{"type":"string","description":"Request ID to set when you create the deployment. Use it only when previous attempts return an error and \u003cspan pulumi-lang-nodejs=\"`requestId`\" pulumi-lang-dotnet=\"`RequestId`\" pulumi-lang-go=\"`requestId`\" pulumi-lang-python=\"`request_id`\" pulumi-lang-yaml=\"`requestId`\" pulumi-lang-java=\"`requestId`\"\u003e`request_id`\u003c/span\u003e is returned as part of the error."},"resetElasticsearchPassword":{"type":"boolean","description":"Explicitly resets the\u003cspan pulumi-lang-nodejs=\" elasticsearchPassword \" pulumi-lang-dotnet=\" ElasticsearchPassword \" pulumi-lang-go=\" elasticsearchPassword \" pulumi-lang-python=\" elasticsearch_password \" pulumi-lang-yaml=\" elasticsearchPassword \" pulumi-lang-java=\" elasticsearchPassword \"\u003e elasticsearch_password \u003c/span\u003ewhen true"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional map of deployment tags"},"trafficFilters":{"type":"array","items":{"type":"string"},"description":"List of traffic filters rule identifiers that will be applied to the deployment."},"version":{"type":"string","description":"Elastic Stack version to use for all of the deployment resources.\n"}},"type":"object"}},"ec:index/deploymentElasticsearchKeystore:DeploymentElasticsearchKeystore":{"description":"Provides an Elastic Cloud Deployment Elasticsearch keystore resource, which allows you to create and update Elasticsearch keystore settings.\n\n  Elasticsearch keystore settings can be created and updated through this resource, **each resource represents a single Elasticsearch Keystore setting**. After adding a key and its secret value to the keystore, you can use the key in place of the secret value when you configure sensitive settings.\n\n  \u003e **Note on Elastic keystore settings** This resource offers weaker consistency guarantees and will not detect and update keystore setting values that have been modified outside of the scope of Terraform, usually referred to as _drift_. For example, consider the following scenario:\n    1. A keystore setting is created using this resource.\n    2. The keystore setting's value is modified to a different value using the Elasticsearch Service API.\n    3. Running \u003ccode\u003epulumi up\u003c/code\u003e fails to detect the changes and does not update the keystore setting to the value defined in the terraform configuration.\n    To force the keystore setting to the value it is configured to hold, you may want to taint the resource and force its recreation.\n\n  Before you create Elasticsearch keystore settings, check the [official Elasticsearch keystore documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/elasticsearch-keystore.html) and the [Elastic Cloud specific documentation](https://www.elastic.co/guide/en/cloud/current/ec-configuring-keystore.html).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\nimport * as std from \"@pulumi/std\";\n\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: \"us-east-1\",\n});\n// Create an Elastic Cloud deployment\nconst exampleKeystore = new ec.Deployment(\"example_keystore\", {\n    region: \"us-east-1\",\n    version: latest.then(latest =\u003e latest.version),\n    deploymentTemplateId: \"aws-io-optimized-v2\",\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n    },\n});\n// Create the keystore secret entry\nconst gcsCredential = new ec.DeploymentElasticsearchKeystore(\"gcs_credential\", {\n    deploymentId: exampleKeystore.id,\n    settingName: \"gcs.client.default.credentials_file\",\n    value: std.file({\n        input: \"service-account-key.json\",\n    }).then(invoke =\u003e invoke.result),\n    asFile: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\nimport pulumi_std as std\n\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=\"us-east-1\")\n# Create an Elastic Cloud deployment\nexample_keystore = ec.Deployment(\"example_keystore\",\n    region=\"us-east-1\",\n    version=latest.version,\n    deployment_template_id=\"aws-io-optimized-v2\",\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n    })\n# Create the keystore secret entry\ngcs_credential = ec.DeploymentElasticsearchKeystore(\"gcs_credential\",\n    deployment_id=example_keystore.id,\n    setting_name=\"gcs.client.default.credentials_file\",\n    value=std.file(input=\"service-account-key.json\").result,\n    as_file=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = \"us-east-1\",\n    });\n\n    // Create an Elastic Cloud deployment\n    var exampleKeystore = new ElasticCloud.Deployment(\"example_keystore\", new()\n    {\n        Region = \"us-east-1\",\n        Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n        DeploymentTemplateId = \"aws-io-optimized-v2\",\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n        },\n    });\n\n    // Create the keystore secret entry\n    var gcsCredential = new ElasticCloud.DeploymentElasticsearchKeystore(\"gcs_credential\", new()\n    {\n        DeploymentId = exampleKeystore.Id,\n        SettingName = \"gcs.client.default.credentials_file\",\n        Value = Std.File.Invoke(new()\n        {\n            Input = \"service-account-key.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n        AsFile = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlatest, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an Elastic Cloud deployment\n\t\texampleKeystore, err := ec.NewDeployment(ctx, \"example_keystore\", \u0026ec.DeploymentArgs{\n\t\t\tRegion:               pulumi.String(\"us-east-1\"),\n\t\t\tVersion:              pulumi.String(latest.Version),\n\t\t\tDeploymentTemplateId: pulumi.String(\"aws-io-optimized-v2\"),\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\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\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"service-account-key.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the keystore secret entry\n\t\t_, err = ec.NewDeploymentElasticsearchKeystore(ctx, \"gcs_credential\", \u0026ec.DeploymentElasticsearchKeystoreArgs{\n\t\t\tDeploymentId: exampleKeystore.ID(),\n\t\t\tSettingName:  pulumi.String(\"gcs.client.default.credentials_file\"),\n\t\t\tValue:        pulumi.String(invokeFile.Result),\n\t\t\tAsFile:       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.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport com.pulumi.ec.DeploymentElasticsearchKeystore;\nimport com.pulumi.ec.DeploymentElasticsearchKeystoreArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(\"us-east-1\")\n            .build());\n\n        // Create an Elastic Cloud deployment\n        var exampleKeystore = new Deployment(\"exampleKeystore\", DeploymentArgs.builder()\n            .region(\"us-east-1\")\n            .version(latest.version())\n            .deploymentTemplateId(\"aws-io-optimized-v2\")\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        // Create the keystore secret entry\n        var gcsCredential = new DeploymentElasticsearchKeystore(\"gcsCredential\", DeploymentElasticsearchKeystoreArgs.builder()\n            .deploymentId(exampleKeystore.id())\n            .settingName(\"gcs.client.default.credentials_file\")\n            .value(StdFunctions.file(FileArgs.builder()\n                .input(\"service-account-key.json\")\n                .build()).result())\n            .asFile(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an Elastic Cloud deployment\n  exampleKeystore:\n    type: ec:Deployment\n    name: example_keystore\n    properties:\n      region: us-east-1\n      version: ${latest.version}\n      deploymentTemplateId: aws-io-optimized-v2\n      elasticsearch:\n        hot:\n          autoscaling: {}\n  # Create the keystore secret entry\n  gcsCredential:\n    type: ec:DeploymentElasticsearchKeystore\n    name: gcs_credential\n    properties:\n      deploymentId: ${exampleKeystore.id}\n      settingName: gcs.client.default.credentials_file\n      value:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: service-account-key.json\n          return: result\n      asFile: true\nvariables:\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Adding credentials to use GCS as a snapshot repository\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\nimport * as std from \"@pulumi/std\";\n\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: \"us-east-1\",\n});\n// Create an Elastic Cloud deployment\nconst exampleKeystore = new ec.Deployment(\"example_keystore\", {\n    region: \"us-east-1\",\n    version: latest.then(latest =\u003e latest.version),\n    deploymentTemplateId: \"aws-io-optimized-v2\",\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n    },\n});\n// Create the keystore secret entry\nconst gcsCredential = new ec.DeploymentElasticsearchKeystore(\"gcs_credential\", {\n    deploymentId: exampleKeystore.id,\n    settingName: \"gcs.client.default.credentials_file\",\n    value: std.file({\n        input: \"service-account-key.json\",\n    }).then(invoke =\u003e invoke.result),\n    asFile: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\nimport pulumi_std as std\n\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=\"us-east-1\")\n# Create an Elastic Cloud deployment\nexample_keystore = ec.Deployment(\"example_keystore\",\n    region=\"us-east-1\",\n    version=latest.version,\n    deployment_template_id=\"aws-io-optimized-v2\",\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n    })\n# Create the keystore secret entry\ngcs_credential = ec.DeploymentElasticsearchKeystore(\"gcs_credential\",\n    deployment_id=example_keystore.id,\n    setting_name=\"gcs.client.default.credentials_file\",\n    value=std.file(input=\"service-account-key.json\").result,\n    as_file=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = \"us-east-1\",\n    });\n\n    // Create an Elastic Cloud deployment\n    var exampleKeystore = new ElasticCloud.Deployment(\"example_keystore\", new()\n    {\n        Region = \"us-east-1\",\n        Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n        DeploymentTemplateId = \"aws-io-optimized-v2\",\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n        },\n    });\n\n    // Create the keystore secret entry\n    var gcsCredential = new ElasticCloud.DeploymentElasticsearchKeystore(\"gcs_credential\", new()\n    {\n        DeploymentId = exampleKeystore.Id,\n        SettingName = \"gcs.client.default.credentials_file\",\n        Value = Std.File.Invoke(new()\n        {\n            Input = \"service-account-key.json\",\n        }).Apply(invoke =\u003e invoke.Result),\n        AsFile = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlatest, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an Elastic Cloud deployment\n\t\texampleKeystore, err := ec.NewDeployment(ctx, \"example_keystore\", \u0026ec.DeploymentArgs{\n\t\t\tRegion:               pulumi.String(\"us-east-1\"),\n\t\t\tVersion:              pulumi.String(latest.Version),\n\t\t\tDeploymentTemplateId: pulumi.String(\"aws-io-optimized-v2\"),\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\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\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"service-account-key.json\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create the keystore secret entry\n\t\t_, err = ec.NewDeploymentElasticsearchKeystore(ctx, \"gcs_credential\", \u0026ec.DeploymentElasticsearchKeystoreArgs{\n\t\t\tDeploymentId: exampleKeystore.ID(),\n\t\t\tSettingName:  pulumi.String(\"gcs.client.default.credentials_file\"),\n\t\t\tValue:        pulumi.String(invokeFile.Result),\n\t\t\tAsFile:       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.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport com.pulumi.ec.DeploymentElasticsearchKeystore;\nimport com.pulumi.ec.DeploymentElasticsearchKeystoreArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(\"us-east-1\")\n            .build());\n\n        // Create an Elastic Cloud deployment\n        var exampleKeystore = new Deployment(\"exampleKeystore\", DeploymentArgs.builder()\n            .region(\"us-east-1\")\n            .version(latest.version())\n            .deploymentTemplateId(\"aws-io-optimized-v2\")\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        // Create the keystore secret entry\n        var gcsCredential = new DeploymentElasticsearchKeystore(\"gcsCredential\", DeploymentElasticsearchKeystoreArgs.builder()\n            .deploymentId(exampleKeystore.id())\n            .settingName(\"gcs.client.default.credentials_file\")\n            .value(StdFunctions.file(FileArgs.builder()\n                .input(\"service-account-key.json\")\n                .build()).result())\n            .asFile(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an Elastic Cloud deployment\n  exampleKeystore:\n    type: ec:Deployment\n    name: example_keystore\n    properties:\n      region: us-east-1\n      version: ${latest.version}\n      deploymentTemplateId: aws-io-optimized-v2\n      elasticsearch:\n        hot:\n          autoscaling: {}\n  # Create the keystore secret entry\n  gcsCredential:\n    type: ec:DeploymentElasticsearchKeystore\n    name: gcs_credential\n    properties:\n      deploymentId: ${exampleKeystore.id}\n      settingName: gcs.client.default.credentials_file\n      value:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: service-account-key.json\n          return: result\n      asFile: true\nvariables:\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource cannot be imported\n\n","properties":{"asFile":{"type":"boolean","description":"Indicates the the remote keystore setting should be stored as a file. The default is false, which stores the keystore setting as string when value is a plain string.\n"},"deploymentId":{"type":"string","description":"Deployment ID of the Deployment that holds the Elasticsearch cluster where the keystore setting will be written to.\n"},"settingName":{"type":"string","description":"Name for the keystore setting, if the setting already exists in the Elasticsearch cluster, it will be overridden.\n"},"value":{"type":"string","description":"Value of this setting. This can either be a string or a JSON object that is stored as a JSON string in the keystore.\n","secret":true}},"required":["asFile","deploymentId","settingName","value"],"inputProperties":{"asFile":{"type":"boolean","description":"Indicates the the remote keystore setting should be stored as a file. The default is false, which stores the keystore setting as string when value is a plain string.\n"},"deploymentId":{"type":"string","description":"Deployment ID of the Deployment that holds the Elasticsearch cluster where the keystore setting will be written to.\n"},"settingName":{"type":"string","description":"Name for the keystore setting, if the setting already exists in the Elasticsearch cluster, it will be overridden.\n"},"value":{"type":"string","description":"Value of this setting. This can either be a string or a JSON object that is stored as a JSON string in the keystore.\n","secret":true}},"requiredInputs":["deploymentId","settingName","value"],"stateInputs":{"description":"Input properties used for looking up and filtering DeploymentElasticsearchKeystore resources.\n","properties":{"asFile":{"type":"boolean","description":"Indicates the the remote keystore setting should be stored as a file. The default is false, which stores the keystore setting as string when value is a plain string.\n"},"deploymentId":{"type":"string","description":"Deployment ID of the Deployment that holds the Elasticsearch cluster where the keystore setting will be written to.\n"},"settingName":{"type":"string","description":"Name for the keystore setting, if the setting already exists in the Elasticsearch cluster, it will be overridden.\n"},"value":{"type":"string","description":"Value of this setting. This can either be a string or a JSON object that is stored as a JSON string in the keystore.\n","secret":true}},"type":"object"}},"ec:index/deploymentExtension:DeploymentExtension":{"description":"Provides an Elastic Cloud extension resource, which allows extensions to be created, updated, and deleted.\n\n  Extensions allow users of Elastic Cloud to use custom plugins, scripts, or dictionaries to enhance the core functionality of Elasticsearch. Before you install an extension, be sure to check out the supported and official [Elasticsearch plugins](https://www.elastic.co/guide/en/elasticsearch/plugins/current/index.html) already available.\n\n  **Tip :** If you experience timeouts when uploading an extension through a slow network, you might need to increase the timeout setting.\n\n\n## Example Usage\n\n### With extension file\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\nimport * as std from \"@pulumi/std\";\n\nconst filePath = \"/path/to/plugin.zip\";\nconst exampleExtension = new ec.DeploymentExtension(\"example_extension\", {\n    name: \"my_extension\",\n    description: \"my extension\",\n    version: \"*\",\n    extensionType: \"bundle\",\n    filePath: filePath,\n    fileHash: std.filebase64sha256({\n        input: filePath,\n    }).then(invoke =\u003e invoke.result),\n});\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: \"us-east-1\",\n});\nconst withExtension = new ec.Deployment(\"with_extension\", {\n    name: \"my_example_deployment\",\n    region: \"us-east-1\",\n    version: latest.then(latest =\u003e latest.version),\n    deploymentTemplateId: \"aws-io-optimized-v2\",\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n        extensions: [{\n            name: exampleExtension.name,\n            type: \"bundle\",\n            version: latest.then(latest =\u003e latest.version),\n            url: exampleExtension.url,\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\nimport pulumi_std as std\n\nfile_path = \"/path/to/plugin.zip\"\nexample_extension = ec.DeploymentExtension(\"example_extension\",\n    name=\"my_extension\",\n    description=\"my extension\",\n    version=\"*\",\n    extension_type=\"bundle\",\n    file_path=file_path,\n    file_hash=std.filebase64sha256(input=file_path).result)\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=\"us-east-1\")\nwith_extension = ec.Deployment(\"with_extension\",\n    name=\"my_example_deployment\",\n    region=\"us-east-1\",\n    version=latest.version,\n    deployment_template_id=\"aws-io-optimized-v2\",\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n        \"extensions\": [{\n            \"name\": example_extension.name,\n            \"type\": \"bundle\",\n            \"version\": latest.version,\n            \"url\": example_extension.url,\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var filePath = \"/path/to/plugin.zip\";\n\n    var exampleExtension = new ElasticCloud.DeploymentExtension(\"example_extension\", new()\n    {\n        Name = \"my_extension\",\n        Description = \"my extension\",\n        Version = \"*\",\n        ExtensionType = \"bundle\",\n        FilePath = filePath,\n        FileHash = Std.Filebase64sha256.Invoke(new()\n        {\n            Input = filePath,\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = \"us-east-1\",\n    });\n\n    var withExtension = new ElasticCloud.Deployment(\"with_extension\", new()\n    {\n        Name = \"my_example_deployment\",\n        Region = \"us-east-1\",\n        Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n        DeploymentTemplateId = \"aws-io-optimized-v2\",\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n            Extensions = new[]\n            {\n                new ElasticCloud.Inputs.DeploymentElasticsearchExtensionArgs\n                {\n                    Name = exampleExtension.Name,\n                    Type = \"bundle\",\n                    Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n                    Url = exampleExtension.Url,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfilePath := \"/path/to/plugin.zip\"\n\t\tinvokeFilebase64sha256, err := std.Filebase64sha256(ctx, \u0026std.Filebase64sha256Args{\n\t\t\tInput: filePath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleExtension, err := ec.NewDeploymentExtension(ctx, \"example_extension\", \u0026ec.DeploymentExtensionArgs{\n\t\t\tName:          pulumi.String(\"my_extension\"),\n\t\t\tDescription:   pulumi.String(\"my extension\"),\n\t\t\tVersion:       pulumi.String(\"*\"),\n\t\t\tExtensionType: pulumi.String(\"bundle\"),\n\t\t\tFilePath:      pulumi.String(filePath),\n\t\t\tFileHash:      pulumi.String(invokeFilebase64sha256.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec.NewDeployment(ctx, \"with_extension\", \u0026ec.DeploymentArgs{\n\t\t\tName:                 pulumi.String(\"my_example_deployment\"),\n\t\t\tRegion:               pulumi.String(\"us-east-1\"),\n\t\t\tVersion:              pulumi.String(latest.Version),\n\t\t\tDeploymentTemplateId: pulumi.String(\"aws-io-optimized-v2\"),\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\n\t\t\t\t},\n\t\t\t\tExtensions: ec.DeploymentElasticsearchExtensionArray{\n\t\t\t\t\t\u0026ec.DeploymentElasticsearchExtensionArgs{\n\t\t\t\t\t\tName:    exampleExtension.Name,\n\t\t\t\t\t\tType:    pulumi.String(\"bundle\"),\n\t\t\t\t\t\tVersion: pulumi.String(latest.Version),\n\t\t\t\t\t\tUrl:     exampleExtension.Url,\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.ec.DeploymentExtension;\nimport com.pulumi.ec.DeploymentExtensionArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Filebase64sha256Args;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var filePath = \"/path/to/plugin.zip\";\n\n        var exampleExtension = new DeploymentExtension(\"exampleExtension\", DeploymentExtensionArgs.builder()\n            .name(\"my_extension\")\n            .description(\"my extension\")\n            .version(\"*\")\n            .extensionType(\"bundle\")\n            .filePath(filePath)\n            .fileHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()\n                .input(filePath)\n                .build()).result())\n            .build());\n\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(\"us-east-1\")\n            .build());\n\n        var withExtension = new Deployment(\"withExtension\", DeploymentArgs.builder()\n            .name(\"my_example_deployment\")\n            .region(\"us-east-1\")\n            .version(latest.version())\n            .deploymentTemplateId(\"aws-io-optimized-v2\")\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .extensions(DeploymentElasticsearchExtensionArgs.builder()\n                    .name(exampleExtension.name())\n                    .type(\"bundle\")\n                    .version(latest.version())\n                    .url(exampleExtension.url())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleExtension:\n    type: ec:DeploymentExtension\n    name: example_extension\n    properties:\n      name: my_extension\n      description: my extension\n      version: '*'\n      extensionType: bundle\n      filePath: ${filePath}\n      fileHash:\n        fn::invoke:\n          function: std:filebase64sha256\n          arguments:\n            input: ${filePath}\n          return: result\n  withExtension:\n    type: ec:Deployment\n    name: with_extension\n    properties:\n      name: my_example_deployment\n      region: us-east-1\n      version: ${latest.version}\n      deploymentTemplateId: aws-io-optimized-v2\n      elasticsearch:\n        hot:\n          autoscaling: {}\n        extensions:\n          - name: ${exampleExtension.name}\n            type: bundle\n            version: ${latest.version}\n            url: ${exampleExtension.url}\nvariables:\n  filePath: /path/to/plugin.zip\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With download URL\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst exampleExtension = new ec.DeploymentExtension(\"example_extension\", {\n    name: \"my_extension\",\n    description: \"my extension\",\n    version: \"*\",\n    extensionType: \"bundle\",\n    downloadUrl: \"https://example.net\",\n});\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: \"us-east-1\",\n});\nconst withExtension = new ec.Deployment(\"with_extension\", {\n    name: \"my_example_deployment\",\n    region: \"us-east-1\",\n    version: latest.then(latest =\u003e latest.version),\n    deploymentTemplateId: \"aws-io-optimized-v2\",\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n        extensions: [{\n            name: exampleExtension.name,\n            type: \"bundle\",\n            version: latest.then(latest =\u003e latest.version),\n            url: exampleExtension.url,\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nexample_extension = ec.DeploymentExtension(\"example_extension\",\n    name=\"my_extension\",\n    description=\"my extension\",\n    version=\"*\",\n    extension_type=\"bundle\",\n    download_url=\"https://example.net\")\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=\"us-east-1\")\nwith_extension = ec.Deployment(\"with_extension\",\n    name=\"my_example_deployment\",\n    region=\"us-east-1\",\n    version=latest.version,\n    deployment_template_id=\"aws-io-optimized-v2\",\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n        \"extensions\": [{\n            \"name\": example_extension.name,\n            \"type\": \"bundle\",\n            \"version\": latest.version,\n            \"url\": example_extension.url,\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleExtension = new ElasticCloud.DeploymentExtension(\"example_extension\", new()\n    {\n        Name = \"my_extension\",\n        Description = \"my extension\",\n        Version = \"*\",\n        ExtensionType = \"bundle\",\n        DownloadUrl = \"https://example.net\",\n    });\n\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = \"us-east-1\",\n    });\n\n    var withExtension = new ElasticCloud.Deployment(\"with_extension\", new()\n    {\n        Name = \"my_example_deployment\",\n        Region = \"us-east-1\",\n        Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n        DeploymentTemplateId = \"aws-io-optimized-v2\",\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n            Extensions = new[]\n            {\n                new ElasticCloud.Inputs.DeploymentElasticsearchExtensionArgs\n                {\n                    Name = exampleExtension.Name,\n                    Type = \"bundle\",\n                    Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n                    Url = exampleExtension.Url,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleExtension, err := ec.NewDeploymentExtension(ctx, \"example_extension\", \u0026ec.DeploymentExtensionArgs{\n\t\t\tName:          pulumi.String(\"my_extension\"),\n\t\t\tDescription:   pulumi.String(\"my extension\"),\n\t\t\tVersion:       pulumi.String(\"*\"),\n\t\t\tExtensionType: pulumi.String(\"bundle\"),\n\t\t\tDownloadUrl:   pulumi.String(\"https://example.net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec.NewDeployment(ctx, \"with_extension\", \u0026ec.DeploymentArgs{\n\t\t\tName:                 pulumi.String(\"my_example_deployment\"),\n\t\t\tRegion:               pulumi.String(\"us-east-1\"),\n\t\t\tVersion:              pulumi.String(latest.Version),\n\t\t\tDeploymentTemplateId: pulumi.String(\"aws-io-optimized-v2\"),\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\n\t\t\t\t},\n\t\t\t\tExtensions: ec.DeploymentElasticsearchExtensionArray{\n\t\t\t\t\t\u0026ec.DeploymentElasticsearchExtensionArgs{\n\t\t\t\t\t\tName:    exampleExtension.Name,\n\t\t\t\t\t\tType:    pulumi.String(\"bundle\"),\n\t\t\t\t\t\tVersion: pulumi.String(latest.Version),\n\t\t\t\t\t\tUrl:     exampleExtension.Url,\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.ec.DeploymentExtension;\nimport com.pulumi.ec.DeploymentExtensionArgs;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleExtension = new DeploymentExtension(\"exampleExtension\", DeploymentExtensionArgs.builder()\n            .name(\"my_extension\")\n            .description(\"my extension\")\n            .version(\"*\")\n            .extensionType(\"bundle\")\n            .downloadUrl(\"https://example.net\")\n            .build());\n\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(\"us-east-1\")\n            .build());\n\n        var withExtension = new Deployment(\"withExtension\", DeploymentArgs.builder()\n            .name(\"my_example_deployment\")\n            .region(\"us-east-1\")\n            .version(latest.version())\n            .deploymentTemplateId(\"aws-io-optimized-v2\")\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .extensions(DeploymentElasticsearchExtensionArgs.builder()\n                    .name(exampleExtension.name())\n                    .type(\"bundle\")\n                    .version(latest.version())\n                    .url(exampleExtension.url())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleExtension:\n    type: ec:DeploymentExtension\n    name: example_extension\n    properties:\n      name: my_extension\n      description: my extension\n      version: '*'\n      extensionType: bundle\n      downloadUrl: https://example.net\n  withExtension:\n    type: ec:Deployment\n    name: with_extension\n    properties:\n      name: my_example_deployment\n      region: us-east-1\n      version: ${latest.version}\n      deploymentTemplateId: aws-io-optimized-v2\n      elasticsearch:\n        hot:\n          autoscaling: {}\n        extensions:\n          - name: ${exampleExtension.name}\n            type: bundle\n            version: ${latest.version}\n            url: ${exampleExtension.url}\nvariables:\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nExtensions can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, for example:\n\n```sh\n$ pulumi import ec:index/deploymentExtension:DeploymentExtension name 320b7b540dfc967a7a649c18e2fce4ed\n```\n\n","properties":{"description":{"type":"string","description":"Description for the extension\n"},"downloadUrl":{"type":"string","description":"The URL to download the extension archive.\n"},"extensionType":{"type":"string","description":"Extension type. Must be \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\"\u003e`bundle`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`plugin`\" pulumi-lang-dotnet=\"`Plugin`\" pulumi-lang-go=\"`plugin`\" pulumi-lang-python=\"`plugin`\" pulumi-lang-yaml=\"`plugin`\" pulumi-lang-java=\"`plugin`\"\u003e`plugin`\u003c/span\u003e. A \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\"\u003e`bundle`\u003c/span\u003e will usually contain a dictionary or script, where a \u003cspan pulumi-lang-nodejs=\"`plugin`\" pulumi-lang-dotnet=\"`Plugin`\" pulumi-lang-go=\"`plugin`\" pulumi-lang-python=\"`plugin`\" pulumi-lang-yaml=\"`plugin`\" pulumi-lang-java=\"`plugin`\"\u003e`plugin`\u003c/span\u003e is compiled from source.\n"},"fileHash":{"type":"string","description":"Hash value of the file. Triggers re-uploading the file on change.\n"},"filePath":{"type":"string","description":"Local file path to upload as the extension.\n"},"lastModified":{"type":"string","description":"The datatime the extension was last modified.\n"},"name":{"type":"string","description":"Name of the extension\n"},"size":{"type":"integer","description":"The size of the extension file in bytes.\n"},"url":{"type":"string","description":"The extension URL which will be used in the Elastic Cloud deployment plan.\n"},"version":{"type":"string","description":"Elastic stack version. A full version (e.g 8.7.0) should be set for plugins. A wildcard (e.g 8.*) may be used for bundles.\n"}},"required":["description","downloadUrl","extensionType","lastModified","name","size","url","version"],"inputProperties":{"description":{"type":"string","description":"Description for the extension\n"},"downloadUrl":{"type":"string","description":"The URL to download the extension archive.\n"},"extensionType":{"type":"string","description":"Extension type. Must be \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\"\u003e`bundle`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`plugin`\" pulumi-lang-dotnet=\"`Plugin`\" pulumi-lang-go=\"`plugin`\" pulumi-lang-python=\"`plugin`\" pulumi-lang-yaml=\"`plugin`\" pulumi-lang-java=\"`plugin`\"\u003e`plugin`\u003c/span\u003e. A \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\"\u003e`bundle`\u003c/span\u003e will usually contain a dictionary or script, where a \u003cspan pulumi-lang-nodejs=\"`plugin`\" pulumi-lang-dotnet=\"`Plugin`\" pulumi-lang-go=\"`plugin`\" pulumi-lang-python=\"`plugin`\" pulumi-lang-yaml=\"`plugin`\" pulumi-lang-java=\"`plugin`\"\u003e`plugin`\u003c/span\u003e is compiled from source.\n"},"fileHash":{"type":"string","description":"Hash value of the file. Triggers re-uploading the file on change.\n"},"filePath":{"type":"string","description":"Local file path to upload as the extension.\n"},"name":{"type":"string","description":"Name of the extension\n"},"version":{"type":"string","description":"Elastic stack version. A full version (e.g 8.7.0) should be set for plugins. A wildcard (e.g 8.*) may be used for bundles.\n"}},"requiredInputs":["extensionType","version"],"stateInputs":{"description":"Input properties used for looking up and filtering DeploymentExtension resources.\n","properties":{"description":{"type":"string","description":"Description for the extension\n"},"downloadUrl":{"type":"string","description":"The URL to download the extension archive.\n"},"extensionType":{"type":"string","description":"Extension type. Must be \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\"\u003e`bundle`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`plugin`\" pulumi-lang-dotnet=\"`Plugin`\" pulumi-lang-go=\"`plugin`\" pulumi-lang-python=\"`plugin`\" pulumi-lang-yaml=\"`plugin`\" pulumi-lang-java=\"`plugin`\"\u003e`plugin`\u003c/span\u003e. A \u003cspan pulumi-lang-nodejs=\"`bundle`\" pulumi-lang-dotnet=\"`Bundle`\" pulumi-lang-go=\"`bundle`\" pulumi-lang-python=\"`bundle`\" pulumi-lang-yaml=\"`bundle`\" pulumi-lang-java=\"`bundle`\"\u003e`bundle`\u003c/span\u003e will usually contain a dictionary or script, where a \u003cspan pulumi-lang-nodejs=\"`plugin`\" pulumi-lang-dotnet=\"`Plugin`\" pulumi-lang-go=\"`plugin`\" pulumi-lang-python=\"`plugin`\" pulumi-lang-yaml=\"`plugin`\" pulumi-lang-java=\"`plugin`\"\u003e`plugin`\u003c/span\u003e is compiled from source.\n"},"fileHash":{"type":"string","description":"Hash value of the file. Triggers re-uploading the file on change.\n"},"filePath":{"type":"string","description":"Local file path to upload as the extension.\n"},"lastModified":{"type":"string","description":"The datatime the extension was last modified.\n"},"name":{"type":"string","description":"Name of the extension\n"},"size":{"type":"integer","description":"The size of the extension file in bytes.\n"},"url":{"type":"string","description":"The extension URL which will be used in the Elastic Cloud deployment plan.\n"},"version":{"type":"string","description":"Elastic stack version. A full version (e.g 8.7.0) should be set for plugins. A wildcard (e.g 8.*) may be used for bundles.\n"}},"type":"object"}},"ec:index/deploymentTrafficFilter:DeploymentTrafficFilter":{"description":"Provides an Elastic Cloud traffic filter resource, which allows traffic filter rules to be created, updated, and deleted. Traffic filter rules are used to limit inbound traffic to deployment resources.\n\n  \u003e **Note on traffic filters** If you use\u003cspan pulumi-lang-nodejs=\" trafficFilter \" pulumi-lang-dotnet=\" TrafficFilter \" pulumi-lang-go=\" trafficFilter \" pulumi-lang-python=\" traffic_filter \" pulumi-lang-yaml=\" trafficFilter \" pulumi-lang-java=\" trafficFilter \"\u003e traffic_filter \u003c/span\u003eon an ec_deployment, Terraform will manage the full set of traffic rules for the deployment, and treat additional traffic filters as drift. For this reason,\u003cspan pulumi-lang-nodejs=\" trafficFilter \" pulumi-lang-dotnet=\" TrafficFilter \" pulumi-lang-go=\" trafficFilter \" pulumi-lang-python=\" traffic_filter \" pulumi-lang-yaml=\" trafficFilter \" pulumi-lang-java=\" trafficFilter \"\u003e traffic_filter \u003c/span\u003ecannot be mixed with the\u003cspan pulumi-lang-nodejs=\" ec.DeploymentTrafficFilterAssociation \" pulumi-lang-dotnet=\" ec.DeploymentTrafficFilterAssociation \" pulumi-lang-go=\" DeploymentTrafficFilterAssociation \" pulumi-lang-python=\" DeploymentTrafficFilterAssociation \" pulumi-lang-yaml=\" ec.DeploymentTrafficFilterAssociation \" pulumi-lang-java=\" ec.DeploymentTrafficFilterAssociation \"\u003e ec.DeploymentTrafficFilterAssociation \u003c/span\u003eresource for a given deployment.\n\n## Example Usage\n\n### IP based traffic filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: \"us-east-1\",\n});\nconst example = new ec.DeploymentTrafficFilter(\"example\", {\n    name: \"my traffic filter name\",\n    region: \"us-east-1\",\n    type: \"ip\",\n    rules: [{\n        source: \"0.0.0.0/0\",\n    }],\n});\n// Create an Elastic Cloud deployment\nconst exampleMinimal = new ec.Deployment(\"example_minimal\", {\n    name: \"my_example_deployment\",\n    region: \"us-east-1\",\n    version: latest.then(latest =\u003e latest.version),\n    deploymentTemplateId: \"aws-io-optimized-v2\",\n    trafficFilters: [example.id],\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n    },\n    kibana: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=\"us-east-1\")\nexample = ec.DeploymentTrafficFilter(\"example\",\n    name=\"my traffic filter name\",\n    region=\"us-east-1\",\n    type=\"ip\",\n    rules=[{\n        \"source\": \"0.0.0.0/0\",\n    }])\n# Create an Elastic Cloud deployment\nexample_minimal = ec.Deployment(\"example_minimal\",\n    name=\"my_example_deployment\",\n    region=\"us-east-1\",\n    version=latest.version,\n    deployment_template_id=\"aws-io-optimized-v2\",\n    traffic_filters=[example.id],\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n    },\n    kibana={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = \"us-east-1\",\n    });\n\n    var example = new ElasticCloud.DeploymentTrafficFilter(\"example\", new()\n    {\n        Name = \"my traffic filter name\",\n        Region = \"us-east-1\",\n        Type = \"ip\",\n        Rules = new[]\n        {\n            new ElasticCloud.Inputs.DeploymentTrafficFilterRuleArgs\n            {\n                Source = \"0.0.0.0/0\",\n            },\n        },\n    });\n\n    // Create an Elastic Cloud deployment\n    var exampleMinimal = new ElasticCloud.Deployment(\"example_minimal\", new()\n    {\n        Name = \"my_example_deployment\",\n        Region = \"us-east-1\",\n        Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n        DeploymentTemplateId = \"aws-io-optimized-v2\",\n        TrafficFilters = new[]\n        {\n            example.Id,\n        },\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n        },\n        Kibana = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlatest, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec.NewDeploymentTrafficFilter(ctx, \"example\", \u0026ec.DeploymentTrafficFilterArgs{\n\t\t\tName:   pulumi.String(\"my traffic filter name\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tType:   pulumi.String(\"ip\"),\n\t\t\tRules: ec.DeploymentTrafficFilterRuleArray{\n\t\t\t\t\u0026ec.DeploymentTrafficFilterRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an Elastic Cloud deployment\n\t\t_, err = ec.NewDeployment(ctx, \"example_minimal\", \u0026ec.DeploymentArgs{\n\t\t\tName:                 pulumi.String(\"my_example_deployment\"),\n\t\t\tRegion:               pulumi.String(\"us-east-1\"),\n\t\t\tVersion:              pulumi.String(latest.Version),\n\t\t\tDeploymentTemplateId: pulumi.String(\"aws-io-optimized-v2\"),\n\t\t\tTrafficFilters: pulumi.StringArray{\n\t\t\t\texample.ID(),\n\t\t\t},\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tKibana: \u0026ec.DeploymentKibanaArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport com.pulumi.ec.DeploymentTrafficFilter;\nimport com.pulumi.ec.DeploymentTrafficFilterArgs;\nimport com.pulumi.ec.inputs.DeploymentTrafficFilterRuleArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport com.pulumi.ec.inputs.DeploymentKibanaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(\"us-east-1\")\n            .build());\n\n        var example = new DeploymentTrafficFilter(\"example\", DeploymentTrafficFilterArgs.builder()\n            .name(\"my traffic filter name\")\n            .region(\"us-east-1\")\n            .type(\"ip\")\n            .rules(DeploymentTrafficFilterRuleArgs.builder()\n                .source(\"0.0.0.0/0\")\n                .build())\n            .build());\n\n        // Create an Elastic Cloud deployment\n        var exampleMinimal = new Deployment(\"exampleMinimal\", DeploymentArgs.builder()\n            .name(\"my_example_deployment\")\n            .region(\"us-east-1\")\n            .version(latest.version())\n            .deploymentTemplateId(\"aws-io-optimized-v2\")\n            .trafficFilters(example.id())\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .build())\n            .kibana(DeploymentKibanaArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an Elastic Cloud deployment\n  exampleMinimal:\n    type: ec:Deployment\n    name: example_minimal\n    properties:\n      name: my_example_deployment\n      region: us-east-1\n      version: ${latest.version}\n      deploymentTemplateId: aws-io-optimized-v2\n      trafficFilters:\n        - ${example.id}\n      elasticsearch:\n        hot:\n          autoscaling: {}\n      kibana: {}\n  example:\n    type: ec:DeploymentTrafficFilter\n    properties:\n      name: my traffic filter name\n      region: us-east-1\n      type: ip\n      rules:\n        - source: 0.0.0.0/0\nvariables:\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure Private Link traffic filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst region = azure_australiaeast;\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: region,\n});\nconst azure = new ec.DeploymentTrafficFilter(\"azure\", {\n    name: \"my traffic filter name\",\n    region: region,\n    type: \"azure_private_endpoint\",\n    rules: [{\n        azureEndpointName: \"my-azure-pl\",\n        azureEndpointGuid: \"78c64959-fd88-41cc-81ac-1cfcdb1ac32e\",\n    }],\n});\n// Create an Elastic Cloud deployment\nconst exampleMinimal = new ec.Deployment(\"example_minimal\", {\n    name: \"my_example_deployment\",\n    region: region,\n    version: latest.then(latest =\u003e latest.version),\n    deploymentTemplateId: \"azure-io-optimized-v3\",\n    trafficFilters: [azure.id],\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n    },\n    kibana: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nregion = azure_australiaeast\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=region)\nazure = ec.DeploymentTrafficFilter(\"azure\",\n    name=\"my traffic filter name\",\n    region=region,\n    type=\"azure_private_endpoint\",\n    rules=[{\n        \"azure_endpoint_name\": \"my-azure-pl\",\n        \"azure_endpoint_guid\": \"78c64959-fd88-41cc-81ac-1cfcdb1ac32e\",\n    }])\n# Create an Elastic Cloud deployment\nexample_minimal = ec.Deployment(\"example_minimal\",\n    name=\"my_example_deployment\",\n    region=region,\n    version=latest.version,\n    deployment_template_id=\"azure-io-optimized-v3\",\n    traffic_filters=[azure.id],\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n    },\n    kibana={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var region = azure_australiaeast;\n\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = region,\n    });\n\n    var azure = new ElasticCloud.DeploymentTrafficFilter(\"azure\", new()\n    {\n        Name = \"my traffic filter name\",\n        Region = region,\n        Type = \"azure_private_endpoint\",\n        Rules = new[]\n        {\n            new ElasticCloud.Inputs.DeploymentTrafficFilterRuleArgs\n            {\n                AzureEndpointName = \"my-azure-pl\",\n                AzureEndpointGuid = \"78c64959-fd88-41cc-81ac-1cfcdb1ac32e\",\n            },\n        },\n    });\n\n    // Create an Elastic Cloud deployment\n    var exampleMinimal = new ElasticCloud.Deployment(\"example_minimal\", new()\n    {\n        Name = \"my_example_deployment\",\n        Region = region,\n        Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n        DeploymentTemplateId = \"azure-io-optimized-v3\",\n        TrafficFilters = new[]\n        {\n            azure.Id,\n        },\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n        },\n        Kibana = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tregion := azure_australiaeast\n\t\tlatest, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       region,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tazure, err := ec.NewDeploymentTrafficFilter(ctx, \"azure\", \u0026ec.DeploymentTrafficFilterArgs{\n\t\t\tName:   pulumi.String(\"my traffic filter name\"),\n\t\t\tRegion: pulumi.Any(region),\n\t\t\tType:   pulumi.String(\"azure_private_endpoint\"),\n\t\t\tRules: ec.DeploymentTrafficFilterRuleArray{\n\t\t\t\t\u0026ec.DeploymentTrafficFilterRuleArgs{\n\t\t\t\t\tAzureEndpointName: pulumi.String(\"my-azure-pl\"),\n\t\t\t\t\tAzureEndpointGuid: pulumi.String(\"78c64959-fd88-41cc-81ac-1cfcdb1ac32e\"),\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// Create an Elastic Cloud deployment\n\t\t_, err = ec.NewDeployment(ctx, \"example_minimal\", \u0026ec.DeploymentArgs{\n\t\t\tName:                 pulumi.String(\"my_example_deployment\"),\n\t\t\tRegion:               pulumi.Any(region),\n\t\t\tVersion:              pulumi.String(latest.Version),\n\t\t\tDeploymentTemplateId: pulumi.String(\"azure-io-optimized-v3\"),\n\t\t\tTrafficFilters: pulumi.StringArray{\n\t\t\t\tazure.ID(),\n\t\t\t},\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tKibana: \u0026ec.DeploymentKibanaArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport com.pulumi.ec.DeploymentTrafficFilter;\nimport com.pulumi.ec.DeploymentTrafficFilterArgs;\nimport com.pulumi.ec.inputs.DeploymentTrafficFilterRuleArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport com.pulumi.ec.inputs.DeploymentKibanaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var region = azure_australiaeast;\n\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(region)\n            .build());\n\n        var azure = new DeploymentTrafficFilter(\"azure\", DeploymentTrafficFilterArgs.builder()\n            .name(\"my traffic filter name\")\n            .region(region)\n            .type(\"azure_private_endpoint\")\n            .rules(DeploymentTrafficFilterRuleArgs.builder()\n                .azureEndpointName(\"my-azure-pl\")\n                .azureEndpointGuid(\"78c64959-fd88-41cc-81ac-1cfcdb1ac32e\")\n                .build())\n            .build());\n\n        // Create an Elastic Cloud deployment\n        var exampleMinimal = new Deployment(\"exampleMinimal\", DeploymentArgs.builder()\n            .name(\"my_example_deployment\")\n            .region(region)\n            .version(latest.version())\n            .deploymentTemplateId(\"azure-io-optimized-v3\")\n            .trafficFilters(azure.id())\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .build())\n            .kibana(DeploymentKibanaArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an Elastic Cloud deployment\n  exampleMinimal:\n    type: ec:Deployment\n    name: example_minimal\n    properties:\n      name: my_example_deployment\n      region: ${region}\n      version: ${latest.version}\n      deploymentTemplateId: azure-io-optimized-v3\n      trafficFilters:\n        - ${azure.id}\n      elasticsearch:\n        hot:\n          autoscaling: {}\n      kibana: {}\n  azure:\n    type: ec:DeploymentTrafficFilter\n    properties:\n      name: my traffic filter name\n      region: ${region}\n      type: azure_private_endpoint\n      rules:\n        - azureEndpointName: my-azure-pl\n          azureEndpointGuid: 78c64959-fd88-41cc-81ac-1cfcdb1ac32e\nvariables:\n  region: ${[\"azure-australiaeast\"]}\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: ${region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GCP Private Service Connect traffic filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst region = asia_east1;\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: region,\n});\nconst gcpPsc = new ec.DeploymentTrafficFilter(\"gcp_psc\", {\n    name: \"my traffic filter name\",\n    region: region,\n    type: \"gcp_private_service_connect_endpoint\",\n    rules: [{\n        source: \"18446744072646845332\",\n    }],\n});\n// Create an Elastic Cloud deployment\nconst exampleMinimal = new ec.Deployment(\"example_minimal\", {\n    name: \"my_example_deployment\",\n    region: region,\n    version: latest.then(latest =\u003e latest.version),\n    deploymentTemplateId: \"gcp-storage-optimized\",\n    trafficFilters: [gcpPsc.id],\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n    },\n    kibana: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nregion = asia_east1\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=region)\ngcp_psc = ec.DeploymentTrafficFilter(\"gcp_psc\",\n    name=\"my traffic filter name\",\n    region=region,\n    type=\"gcp_private_service_connect_endpoint\",\n    rules=[{\n        \"source\": \"18446744072646845332\",\n    }])\n# Create an Elastic Cloud deployment\nexample_minimal = ec.Deployment(\"example_minimal\",\n    name=\"my_example_deployment\",\n    region=region,\n    version=latest.version,\n    deployment_template_id=\"gcp-storage-optimized\",\n    traffic_filters=[gcp_psc.id],\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n    },\n    kibana={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var region = asia_east1;\n\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = region,\n    });\n\n    var gcpPsc = new ElasticCloud.DeploymentTrafficFilter(\"gcp_psc\", new()\n    {\n        Name = \"my traffic filter name\",\n        Region = region,\n        Type = \"gcp_private_service_connect_endpoint\",\n        Rules = new[]\n        {\n            new ElasticCloud.Inputs.DeploymentTrafficFilterRuleArgs\n            {\n                Source = \"18446744072646845332\",\n            },\n        },\n    });\n\n    // Create an Elastic Cloud deployment\n    var exampleMinimal = new ElasticCloud.Deployment(\"example_minimal\", new()\n    {\n        Name = \"my_example_deployment\",\n        Region = region,\n        Version = latest.Apply(getStackResult =\u003e getStackResult.Version),\n        DeploymentTemplateId = \"gcp-storage-optimized\",\n        TrafficFilters = new[]\n        {\n            gcpPsc.Id,\n        },\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n        },\n        Kibana = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tregion := asia_east1\n\t\tlatest, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       region,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgcpPsc, err := ec.NewDeploymentTrafficFilter(ctx, \"gcp_psc\", \u0026ec.DeploymentTrafficFilterArgs{\n\t\t\tName:   pulumi.String(\"my traffic filter name\"),\n\t\t\tRegion: pulumi.Any(region),\n\t\t\tType:   pulumi.String(\"gcp_private_service_connect_endpoint\"),\n\t\t\tRules: ec.DeploymentTrafficFilterRuleArray{\n\t\t\t\t\u0026ec.DeploymentTrafficFilterRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"18446744072646845332\"),\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// Create an Elastic Cloud deployment\n\t\t_, err = ec.NewDeployment(ctx, \"example_minimal\", \u0026ec.DeploymentArgs{\n\t\t\tName:                 pulumi.String(\"my_example_deployment\"),\n\t\t\tRegion:               pulumi.Any(region),\n\t\t\tVersion:              pulumi.String(latest.Version),\n\t\t\tDeploymentTemplateId: pulumi.String(\"gcp-storage-optimized\"),\n\t\t\tTrafficFilters: pulumi.StringArray{\n\t\t\t\tgcpPsc.ID(),\n\t\t\t},\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tKibana: \u0026ec.DeploymentKibanaArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport com.pulumi.ec.DeploymentTrafficFilter;\nimport com.pulumi.ec.DeploymentTrafficFilterArgs;\nimport com.pulumi.ec.inputs.DeploymentTrafficFilterRuleArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport com.pulumi.ec.inputs.DeploymentKibanaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var region = asia_east1;\n\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(region)\n            .build());\n\n        var gcpPsc = new DeploymentTrafficFilter(\"gcpPsc\", DeploymentTrafficFilterArgs.builder()\n            .name(\"my traffic filter name\")\n            .region(region)\n            .type(\"gcp_private_service_connect_endpoint\")\n            .rules(DeploymentTrafficFilterRuleArgs.builder()\n                .source(\"18446744072646845332\")\n                .build())\n            .build());\n\n        // Create an Elastic Cloud deployment\n        var exampleMinimal = new Deployment(\"exampleMinimal\", DeploymentArgs.builder()\n            .name(\"my_example_deployment\")\n            .region(region)\n            .version(latest.version())\n            .deploymentTemplateId(\"gcp-storage-optimized\")\n            .trafficFilters(gcpPsc.id())\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .build())\n            .kibana(DeploymentKibanaArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an Elastic Cloud deployment\n  exampleMinimal:\n    type: ec:Deployment\n    name: example_minimal\n    properties:\n      name: my_example_deployment\n      region: ${region}\n      version: ${latest.version}\n      deploymentTemplateId: gcp-storage-optimized\n      trafficFilters:\n        - ${gcpPsc.id}\n      elasticsearch:\n        hot:\n          autoscaling: {}\n      kibana: {}\n  gcpPsc:\n    type: ec:DeploymentTrafficFilter\n    name: gcp_psc\n    properties:\n      name: my traffic filter name\n      region: ${region}\n      type: gcp_private_service_connect_endpoint\n      rules:\n        - source: '18446744072646845332'\nvariables:\n  region: ${[\"asia-east1\"]}\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: ${region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTraffic filters can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, for example:\n\n```sh\n$ pulumi import ec:index/deploymentTrafficFilter:DeploymentTrafficFilter name 320b7b540dfc967a7a649c18e2fce4ed\n```\n\n","properties":{"description":{"type":"string","description":"Ruleset description\n"},"includeByDefault":{"type":"boolean","description":"Indicates that the ruleset should be automatically included in new deployments (Defaults to false)\n"},"name":{"type":"string","description":"Name of the ruleset\n"},"region":{"type":"string","description":"Filter region, the ruleset can only be attached to deployments in the specific region\n"},"rules":{"type":"array","items":{"$ref":"#/types/ec:index/DeploymentTrafficFilterRule:DeploymentTrafficFilterRule"},"description":"Set of rules, which the ruleset is made of.\n"},"type":{"type":"string","description":"Type of the ruleset. It can be \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpce`\" pulumi-lang-dotnet=\"`Vpce`\" pulumi-lang-go=\"`vpce`\" pulumi-lang-python=\"`vpce`\" pulumi-lang-yaml=\"`vpce`\" pulumi-lang-java=\"`vpce`\"\u003e`vpce`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azurePrivateEndpoint`\" pulumi-lang-dotnet=\"`AzurePrivateEndpoint`\" pulumi-lang-go=\"`azurePrivateEndpoint`\" pulumi-lang-python=\"`azure_private_endpoint`\" pulumi-lang-yaml=\"`azurePrivateEndpoint`\" pulumi-lang-java=\"`azurePrivateEndpoint`\"\u003e`azure_private_endpoint`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-dotnet=\"`GcpPrivateServiceConnectEndpoint`\" pulumi-lang-go=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-python=\"`gcp_private_service_connect_endpoint`\" pulumi-lang-yaml=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-java=\"`gcpPrivateServiceConnectEndpoint`\"\u003e`gcp_private_service_connect_endpoint`\u003c/span\u003e\n"}},"required":["includeByDefault","name","region","type"],"inputProperties":{"description":{"type":"string","description":"Ruleset description\n"},"includeByDefault":{"type":"boolean","description":"Indicates that the ruleset should be automatically included in new deployments (Defaults to false)\n"},"name":{"type":"string","description":"Name of the ruleset\n"},"region":{"type":"string","description":"Filter region, the ruleset can only be attached to deployments in the specific region\n"},"rules":{"type":"array","items":{"$ref":"#/types/ec:index/DeploymentTrafficFilterRule:DeploymentTrafficFilterRule"},"description":"Set of rules, which the ruleset is made of.\n"},"type":{"type":"string","description":"Type of the ruleset. It can be \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpce`\" pulumi-lang-dotnet=\"`Vpce`\" pulumi-lang-go=\"`vpce`\" pulumi-lang-python=\"`vpce`\" pulumi-lang-yaml=\"`vpce`\" pulumi-lang-java=\"`vpce`\"\u003e`vpce`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azurePrivateEndpoint`\" pulumi-lang-dotnet=\"`AzurePrivateEndpoint`\" pulumi-lang-go=\"`azurePrivateEndpoint`\" pulumi-lang-python=\"`azure_private_endpoint`\" pulumi-lang-yaml=\"`azurePrivateEndpoint`\" pulumi-lang-java=\"`azurePrivateEndpoint`\"\u003e`azure_private_endpoint`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-dotnet=\"`GcpPrivateServiceConnectEndpoint`\" pulumi-lang-go=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-python=\"`gcp_private_service_connect_endpoint`\" pulumi-lang-yaml=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-java=\"`gcpPrivateServiceConnectEndpoint`\"\u003e`gcp_private_service_connect_endpoint`\u003c/span\u003e\n"}},"requiredInputs":["region","type"],"stateInputs":{"description":"Input properties used for looking up and filtering DeploymentTrafficFilter resources.\n","properties":{"description":{"type":"string","description":"Ruleset description\n"},"includeByDefault":{"type":"boolean","description":"Indicates that the ruleset should be automatically included in new deployments (Defaults to false)\n"},"name":{"type":"string","description":"Name of the ruleset\n"},"region":{"type":"string","description":"Filter region, the ruleset can only be attached to deployments in the specific region\n"},"rules":{"type":"array","items":{"$ref":"#/types/ec:index/DeploymentTrafficFilterRule:DeploymentTrafficFilterRule"},"description":"Set of rules, which the ruleset is made of.\n"},"type":{"type":"string","description":"Type of the ruleset. It can be \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vpce`\" pulumi-lang-dotnet=\"`Vpce`\" pulumi-lang-go=\"`vpce`\" pulumi-lang-python=\"`vpce`\" pulumi-lang-yaml=\"`vpce`\" pulumi-lang-java=\"`vpce`\"\u003e`vpce`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azurePrivateEndpoint`\" pulumi-lang-dotnet=\"`AzurePrivateEndpoint`\" pulumi-lang-go=\"`azurePrivateEndpoint`\" pulumi-lang-python=\"`azure_private_endpoint`\" pulumi-lang-yaml=\"`azurePrivateEndpoint`\" pulumi-lang-java=\"`azurePrivateEndpoint`\"\u003e`azure_private_endpoint`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-dotnet=\"`GcpPrivateServiceConnectEndpoint`\" pulumi-lang-go=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-python=\"`gcp_private_service_connect_endpoint`\" pulumi-lang-yaml=\"`gcpPrivateServiceConnectEndpoint`\" pulumi-lang-java=\"`gcpPrivateServiceConnectEndpoint`\"\u003e`gcp_private_service_connect_endpoint`\u003c/span\u003e\n"}},"type":"object"}},"ec:index/deploymentTrafficFilterAssociation:DeploymentTrafficFilterAssociation":{"description":"Provides an Elastic Cloud traffic filter association resource, which allows traffic filter rules to be associated to an Elastic Cloud deployment outside of the control of Terraform. Associations can be created and deleted.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst example = ec.getDeployment({\n    id: \"320b7b540dfc967a7a649c18e2fce4ed\",\n});\nconst exampleDeploymentTrafficFilter = new ec.DeploymentTrafficFilter(\"example\", {\n    name: \"my traffic filter name\",\n    region: \"us-east-1\",\n    type: \"ip\",\n    rules: [{\n        source: \"0.0.0.0/0\",\n    }],\n});\nconst exampleDeploymentTrafficFilterAssociation = new ec.DeploymentTrafficFilterAssociation(\"example\", {\n    trafficFilterId: exampleDeploymentTrafficFilter.id,\n    deploymentId: exampleEcDeployment.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nexample = ec.get_deployment(id=\"320b7b540dfc967a7a649c18e2fce4ed\")\nexample_deployment_traffic_filter = ec.DeploymentTrafficFilter(\"example\",\n    name=\"my traffic filter name\",\n    region=\"us-east-1\",\n    type=\"ip\",\n    rules=[{\n        \"source\": \"0.0.0.0/0\",\n    }])\nexample_deployment_traffic_filter_association = ec.DeploymentTrafficFilterAssociation(\"example\",\n    traffic_filter_id=example_deployment_traffic_filter.id,\n    deployment_id=example_ec_deployment[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = ElasticCloud.GetDeployment.Invoke(new()\n    {\n        Id = \"320b7b540dfc967a7a649c18e2fce4ed\",\n    });\n\n    var exampleDeploymentTrafficFilter = new ElasticCloud.DeploymentTrafficFilter(\"example\", new()\n    {\n        Name = \"my traffic filter name\",\n        Region = \"us-east-1\",\n        Type = \"ip\",\n        Rules = new[]\n        {\n            new ElasticCloud.Inputs.DeploymentTrafficFilterRuleArgs\n            {\n                Source = \"0.0.0.0/0\",\n            },\n        },\n    });\n\n    var exampleDeploymentTrafficFilterAssociation = new ElasticCloud.DeploymentTrafficFilterAssociation(\"example\", new()\n    {\n        TrafficFilterId = exampleDeploymentTrafficFilter.Id,\n        DeploymentId = exampleEcDeployment.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.LookupDeployment(ctx, \u0026ec.LookupDeploymentArgs{\n\t\t\tId: \"320b7b540dfc967a7a649c18e2fce4ed\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDeploymentTrafficFilter, err := ec.NewDeploymentTrafficFilter(ctx, \"example\", \u0026ec.DeploymentTrafficFilterArgs{\n\t\t\tName:   pulumi.String(\"my traffic filter name\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tType:   pulumi.String(\"ip\"),\n\t\t\tRules: ec.DeploymentTrafficFilterRuleArray{\n\t\t\t\t\u0026ec.DeploymentTrafficFilterRuleArgs{\n\t\t\t\t\tSource: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec.NewDeploymentTrafficFilterAssociation(ctx, \"example\", \u0026ec.DeploymentTrafficFilterAssociationArgs{\n\t\t\tTrafficFilterId: exampleDeploymentTrafficFilter.ID(),\n\t\t\tDeploymentId:    pulumi.Any(exampleEcDeployment.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.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetDeploymentArgs;\nimport com.pulumi.ec.DeploymentTrafficFilter;\nimport com.pulumi.ec.DeploymentTrafficFilterArgs;\nimport com.pulumi.ec.inputs.DeploymentTrafficFilterRuleArgs;\nimport com.pulumi.ec.DeploymentTrafficFilterAssociation;\nimport com.pulumi.ec.DeploymentTrafficFilterAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EcFunctions.getDeployment(GetDeploymentArgs.builder()\n            .id(\"320b7b540dfc967a7a649c18e2fce4ed\")\n            .build());\n\n        var exampleDeploymentTrafficFilter = new DeploymentTrafficFilter(\"exampleDeploymentTrafficFilter\", DeploymentTrafficFilterArgs.builder()\n            .name(\"my traffic filter name\")\n            .region(\"us-east-1\")\n            .type(\"ip\")\n            .rules(DeploymentTrafficFilterRuleArgs.builder()\n                .source(\"0.0.0.0/0\")\n                .build())\n            .build());\n\n        var exampleDeploymentTrafficFilterAssociation = new DeploymentTrafficFilterAssociation(\"exampleDeploymentTrafficFilterAssociation\", DeploymentTrafficFilterAssociationArgs.builder()\n            .trafficFilterId(exampleDeploymentTrafficFilter.id())\n            .deploymentId(exampleEcDeployment.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleDeploymentTrafficFilter:\n    type: ec:DeploymentTrafficFilter\n    name: example\n    properties:\n      name: my traffic filter name\n      region: us-east-1\n      type: ip\n      rules:\n        - source: 0.0.0.0/0\n  exampleDeploymentTrafficFilterAssociation:\n    type: ec:DeploymentTrafficFilterAssociation\n    name: example\n    properties:\n      trafficFilterId: ${exampleDeploymentTrafficFilter.id}\n      deploymentId: ${exampleEcDeployment.id}\nvariables:\n  example:\n    fn::invoke:\n      function: ec:getDeployment\n      arguments:\n        id: 320b7b540dfc967a7a649c18e2fce4ed\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport is not supported on this resource\n\n","properties":{"deploymentId":{"type":"string","description":"Required deployment ID where the traffic filter will be associated\n"},"trafficFilterId":{"type":"string","description":"Required traffic filter ruleset ID to tie to a deployment\n"}},"required":["deploymentId","trafficFilterId"],"inputProperties":{"deploymentId":{"type":"string","description":"Required deployment ID where the traffic filter will be associated\n"},"trafficFilterId":{"type":"string","description":"Required traffic filter ruleset ID to tie to a deployment\n"}},"requiredInputs":["deploymentId","trafficFilterId"],"stateInputs":{"description":"Input properties used for looking up and filtering DeploymentTrafficFilterAssociation resources.\n","properties":{"deploymentId":{"type":"string","description":"Required deployment ID where the traffic filter will be associated\n"},"trafficFilterId":{"type":"string","description":"Required traffic filter ruleset ID to tie to a deployment\n"}},"type":"object"}},"ec:index/elasticsearchProject:ElasticsearchProject":{"description":"## Technical preview\n\nThis functionality is in technical preview and may be changed or removed in a future release.\nElastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst myProject = new ec.ElasticsearchProject(\"my_project\", {\n    name: \"my_project\",\n    regionId: \"aws-us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nmy_project = ec.ElasticsearchProject(\"my_project\",\n    name=\"my_project\",\n    region_id=\"aws-us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myProject = new ElasticCloud.ElasticsearchProject(\"my_project\", new()\n    {\n        Name = \"my_project\",\n        RegionId = \"aws-us-east-1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.NewElasticsearchProject(ctx, \"my_project\", \u0026ec.ElasticsearchProjectArgs{\n\t\t\tName:     pulumi.String(\"my_project\"),\n\t\t\tRegionId: pulumi.String(\"aws-us-east-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.ec.ElasticsearchProject;\nimport com.pulumi.ec.ElasticsearchProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myProject = new ElasticsearchProject(\"myProject\", ElasticsearchProjectArgs.builder()\n            .name(\"my_project\")\n            .regionId(\"aws-us-east-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myProject:\n    type: ec:ElasticsearchProject\n    name: my_project\n    properties:\n      name: my_project\n      regionId: aws-us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, for example:\n\n```sh\n$ pulumi import ec:index/elasticsearchProject:ElasticsearchProject id 320b7b540dfc967a7a649c18e2fce4ed\n```\n\n","properties":{"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"cloudId":{"type":"string","description":"The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.\n"},"credentials":{"$ref":"#/types/ec:index/ElasticsearchProjectCredentials:ElasticsearchProjectCredentials","description":"Basic auth credentials to access the Elasticsearch API.\n"},"endpoints":{"$ref":"#/types/ec:index/ElasticsearchProjectEndpoints:ElasticsearchProjectEndpoints","description":"The endpoints to access the different apps of the project.\n"},"metadata":{"$ref":"#/types/ec:index/ElasticsearchProjectMetadata:ElasticsearchProjectMetadata","description":"Additional details about the project.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"optimizedFor":{"type":"string","description":"The purpose for which the hardware of this elasticsearch project is optimized for. Also known as the Elasticsearch project subtype.\n"},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"},"searchLake":{"$ref":"#/types/ec:index/ElasticsearchProjectSearchLake:ElasticsearchProjectSearchLake","description":"Configuration for entire set of capabilities that make the data searchable in Elasticsearch.\n"},"type":{"type":"string","description":"the type of the project\n"}},"required":["alias","cloudId","credentials","endpoints","metadata","name","optimizedFor","regionId","searchLake","type"],"inputProperties":{"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"optimizedFor":{"type":"string","description":"The purpose for which the hardware of this elasticsearch project is optimized for. Also known as the Elasticsearch project subtype.\n"},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"},"searchLake":{"$ref":"#/types/ec:index/ElasticsearchProjectSearchLake:ElasticsearchProjectSearchLake","description":"Configuration for entire set of capabilities that make the data searchable in Elasticsearch.\n"}},"requiredInputs":["regionId"],"stateInputs":{"description":"Input properties used for looking up and filtering ElasticsearchProject resources.\n","properties":{"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"cloudId":{"type":"string","description":"The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.\n"},"credentials":{"$ref":"#/types/ec:index/ElasticsearchProjectCredentials:ElasticsearchProjectCredentials","description":"Basic auth credentials to access the Elasticsearch API.\n"},"endpoints":{"$ref":"#/types/ec:index/ElasticsearchProjectEndpoints:ElasticsearchProjectEndpoints","description":"The endpoints to access the different apps of the project.\n"},"metadata":{"$ref":"#/types/ec:index/ElasticsearchProjectMetadata:ElasticsearchProjectMetadata","description":"Additional details about the project.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"optimizedFor":{"type":"string","description":"The purpose for which the hardware of this elasticsearch project is optimized for. Also known as the Elasticsearch project subtype.\n"},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"},"searchLake":{"$ref":"#/types/ec:index/ElasticsearchProjectSearchLake:ElasticsearchProjectSearchLake","description":"Configuration for entire set of capabilities that make the data searchable in Elasticsearch.\n"},"type":{"type":"string","description":"the type of the project\n"}},"type":"object"}},"ec:index/observabilityProject:ObservabilityProject":{"description":"## Technical preview\n\nThis functionality is in technical preview and may be changed or removed in a future release.\nElastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst myProject = new ec.ObservabilityProject(\"my_project\", {\n    name: \"my_project\",\n    regionId: \"aws-us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nmy_project = ec.ObservabilityProject(\"my_project\",\n    name=\"my_project\",\n    region_id=\"aws-us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myProject = new ElasticCloud.ObservabilityProject(\"my_project\", new()\n    {\n        Name = \"my_project\",\n        RegionId = \"aws-us-east-1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.NewObservabilityProject(ctx, \"my_project\", \u0026ec.ObservabilityProjectArgs{\n\t\t\tName:     pulumi.String(\"my_project\"),\n\t\t\tRegionId: pulumi.String(\"aws-us-east-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.ec.ObservabilityProject;\nimport com.pulumi.ec.ObservabilityProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myProject = new ObservabilityProject(\"myProject\", ObservabilityProjectArgs.builder()\n            .name(\"my_project\")\n            .regionId(\"aws-us-east-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myProject:\n    type: ec:ObservabilityProject\n    name: my_project\n    properties:\n      name: my_project\n      regionId: aws-us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, for example:\n\n```sh\n$ pulumi import ec:index/observabilityProject:ObservabilityProject id 320b7b540dfc967a7a649c18e2fce4ed\n```\n\n","properties":{"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"cloudId":{"type":"string","description":"The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.\n"},"credentials":{"$ref":"#/types/ec:index/ObservabilityProjectCredentials:ObservabilityProjectCredentials","description":"Basic auth credentials to access the Elasticsearch API.\n"},"endpoints":{"$ref":"#/types/ec:index/ObservabilityProjectEndpoints:ObservabilityProjectEndpoints","description":"The endpoints to access the different apps of the project.\n"},"metadata":{"$ref":"#/types/ec:index/ObservabilityProjectMetadata:ObservabilityProjectMetadata","description":"Additional details about the project.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"productTier":{"type":"string","description":"the tier of the observability project"},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"},"type":{"type":"string","description":"the type of the project\n"}},"required":["alias","cloudId","credentials","endpoints","metadata","name","productTier","regionId","type"],"inputProperties":{"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"productTier":{"type":"string","description":"the tier of the observability project"},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"}},"requiredInputs":["regionId"],"stateInputs":{"description":"Input properties used for looking up and filtering ObservabilityProject resources.\n","properties":{"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"cloudId":{"type":"string","description":"The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.\n"},"credentials":{"$ref":"#/types/ec:index/ObservabilityProjectCredentials:ObservabilityProjectCredentials","description":"Basic auth credentials to access the Elasticsearch API.\n"},"endpoints":{"$ref":"#/types/ec:index/ObservabilityProjectEndpoints:ObservabilityProjectEndpoints","description":"The endpoints to access the different apps of the project.\n"},"metadata":{"$ref":"#/types/ec:index/ObservabilityProjectMetadata:ObservabilityProjectMetadata","description":"Additional details about the project.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"productTier":{"type":"string","description":"the tier of the observability project"},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"},"type":{"type":"string","description":"the type of the project\n"}},"type":"object"}},"ec:index/organization:Organization":{"description":"Manages an Elastic Cloud organization membership.\n\n  \u003e **This resource can only be used with Elastic Cloud SaaS**\n\n## Example Usage\n\n### Import\n\nTo import an organization into terraform, first define your organization configuration in your terraform file. For example:\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst myorg = new ec.Organization(\"myorg\", {});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nmyorg = ec.Organization(\"myorg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myorg = new ElasticCloud.Organization(\"myorg\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.NewOrganization(ctx, \"myorg\", 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.ec.Organization;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myorg = new Organization(\"myorg\");\n\n    }\n}\n```\n```yaml\nresources:\n  myorg:\n    type: ec:Organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThen import the organization using your organization-id (The organization id can be found on [the organization page](https://cloud.elastic.co/account/members))\n```bash\nterraform import ec_organization.myorg \u003corganization-id\u003e\n```\n\nNow you can run `pulumi preview` to see if there are any diffs between your config and how your organization is currently configured.\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst myOrg = new ec.Organization(\"my_org\", {members: {\n    \"a.member@example.com\": {\n        organizationRole: \"billing-admin\",\n        deploymentRoles: [\n            {\n                role: \"editor\",\n                allDeployments: true,\n            },\n            {\n                role: \"editor\",\n                deploymentIds: [\"ce03a623751b4fc98d48400fec58b9c0\"],\n            },\n        ],\n        projectElasticsearchRoles: [\n            {\n                role: \"admin\",\n                allProjects: true,\n            },\n            {\n                role: \"admin\",\n                projectIds: [\"c866244b611442d585e23a0cc8c9434c\"],\n            },\n        ],\n        projectObservabilityRoles: [],\n        projectSecurityRoles: [],\n    },\n}});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nmy_org = ec.Organization(\"my_org\", members={\n    \"a.member@example.com\": {\n        \"organization_role\": \"billing-admin\",\n        \"deployment_roles\": [\n            {\n                \"role\": \"editor\",\n                \"all_deployments\": True,\n            },\n            {\n                \"role\": \"editor\",\n                \"deployment_ids\": [\"ce03a623751b4fc98d48400fec58b9c0\"],\n            },\n        ],\n        \"project_elasticsearch_roles\": [\n            {\n                \"role\": \"admin\",\n                \"all_projects\": True,\n            },\n            {\n                \"role\": \"admin\",\n                \"project_ids\": [\"c866244b611442d585e23a0cc8c9434c\"],\n            },\n        ],\n        \"project_observability_roles\": [],\n        \"project_security_roles\": [],\n    },\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myOrg = new ElasticCloud.Organization(\"my_org\", new()\n    {\n        Members = \n        {\n            { \"a.member@example.com\", new ElasticCloud.Inputs.OrganizationMembersArgs\n            {\n                OrganizationRole = \"billing-admin\",\n                DeploymentRoles = new[]\n                {\n                    new ElasticCloud.Inputs.OrganizationMembersDeploymentRoleArgs\n                    {\n                        Role = \"editor\",\n                        AllDeployments = true,\n                    },\n                    new ElasticCloud.Inputs.OrganizationMembersDeploymentRoleArgs\n                    {\n                        Role = \"editor\",\n                        DeploymentIds = new[]\n                        {\n                            \"ce03a623751b4fc98d48400fec58b9c0\",\n                        },\n                    },\n                },\n                ProjectElasticsearchRoles = new[]\n                {\n                    new ElasticCloud.Inputs.OrganizationMembersProjectElasticsearchRoleArgs\n                    {\n                        Role = \"admin\",\n                        AllProjects = true,\n                    },\n                    new ElasticCloud.Inputs.OrganizationMembersProjectElasticsearchRoleArgs\n                    {\n                        Role = \"admin\",\n                        ProjectIds = new[]\n                        {\n                            \"c866244b611442d585e23a0cc8c9434c\",\n                        },\n                    },\n                },\n                ProjectObservabilityRoles = new() { },\n                ProjectSecurityRoles = new() { },\n            } },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.NewOrganization(ctx, \"my_org\", \u0026ec.OrganizationArgs{\n\t\t\tMembers: ec.OrganizationMembersMap{\n\t\t\t\t\"a.member@example.com\": \u0026ec.OrganizationMembersArgs{\n\t\t\t\t\tOrganizationRole: pulumi.String(\"billing-admin\"),\n\t\t\t\t\tDeploymentRoles: ec.OrganizationMembersDeploymentRoleArray{\n\t\t\t\t\t\t\u0026ec.OrganizationMembersDeploymentRoleArgs{\n\t\t\t\t\t\t\tRole:           pulumi.String(\"editor\"),\n\t\t\t\t\t\t\tAllDeployments: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ec.OrganizationMembersDeploymentRoleArgs{\n\t\t\t\t\t\t\tRole: pulumi.String(\"editor\"),\n\t\t\t\t\t\t\tDeploymentIds: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ce03a623751b4fc98d48400fec58b9c0\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tProjectElasticsearchRoles: ec.OrganizationMembersProjectElasticsearchRoleArray{\n\t\t\t\t\t\t\u0026ec.OrganizationMembersProjectElasticsearchRoleArgs{\n\t\t\t\t\t\t\tRole:        pulumi.String(\"admin\"),\n\t\t\t\t\t\t\tAllProjects: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ec.OrganizationMembersProjectElasticsearchRoleArgs{\n\t\t\t\t\t\t\tRole: pulumi.String(\"admin\"),\n\t\t\t\t\t\t\tProjectIds: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"c866244b611442d585e23a0cc8c9434c\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tProjectObservabilityRoles: ec.OrganizationMembersProjectObservabilityRoleArray{},\n\t\t\t\t\tProjectSecurityRoles:      ec.OrganizationMembersProjectSecurityRoleArray{},\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.ec.Organization;\nimport com.pulumi.ec.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myOrg = new Organization(\"myOrg\", OrganizationArgs.builder()\n            .members(Map.of(\"a.member@example.com\", OrganizationMembersArgs.builder()\n                .organizationRole(\"billing-admin\")\n                .deploymentRoles(                \n                    OrganizationMembersDeploymentRoleArgs.builder()\n                        .role(\"editor\")\n                        .allDeployments(true)\n                        .build(),\n                    OrganizationMembersDeploymentRoleArgs.builder()\n                        .role(\"editor\")\n                        .deploymentIds(\"ce03a623751b4fc98d48400fec58b9c0\")\n                        .build())\n                .projectElasticsearchRoles(                \n                    OrganizationMembersProjectElasticsearchRoleArgs.builder()\n                        .role(\"admin\")\n                        .allProjects(true)\n                        .build(),\n                    OrganizationMembersProjectElasticsearchRoleArgs.builder()\n                        .role(\"admin\")\n                        .projectIds(\"c866244b611442d585e23a0cc8c9434c\")\n                        .build())\n                .projectObservabilityRoles()\n                .projectSecurityRoles()\n                .build()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myOrg:\n    type: ec:Organization\n    name: my_org\n    properties:\n      members:\n        a.member@example.com:\n          organizationRole: billing-admin\n          deploymentRoles:\n            - role: editor\n              allDeployments: true\n            - role: editor\n              deploymentIds:\n                - ce03a623751b4fc98d48400fec58b9c0\n          projectElasticsearchRoles:\n            - role: admin\n              allProjects: true\n            - role: admin\n              projectIds:\n                - c866244b611442d585e23a0cc8c9434c\n          projectObservabilityRoles: []\n          projectSecurityRoles: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use variables to give the same roles to multiple users\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst deploymentAdmin = {\n    deploymentRoles: [{\n        role: \"admin\",\n        allDeployments: true,\n    }],\n};\nconst deploymentViewer = {\n    deploymentRoles: [{\n        role: \"viewer\",\n        allDeployments: true,\n    }],\n};\nconst myOrg = new ec.Organization(\"my_org\", {members: {\n    \"admin@example.com\": deploymentAdmin,\n    \"viewer@example.com\": deploymentViewer,\n    \"another.viewer@example.com\": deploymentViewer,\n}});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\ndeployment_admin = {\n    \"deploymentRoles\": [{\n        \"role\": \"admin\",\n        \"allDeployments\": True,\n    }],\n}\ndeployment_viewer = {\n    \"deploymentRoles\": [{\n        \"role\": \"viewer\",\n        \"allDeployments\": True,\n    }],\n}\nmy_org = ec.Organization(\"my_org\", members={\n    \"admin@example.com\": deployment_admin,\n    \"viewer@example.com\": deployment_viewer,\n    \"another.viewer@example.com\": deployment_viewer,\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var deploymentAdmin = \n    {\n        { \"deploymentRoles\", new[]\n        {\n            \n            {\n                { \"role\", \"admin\" },\n                { \"allDeployments\", true },\n            },\n        } },\n    };\n\n    var deploymentViewer = \n    {\n        { \"deploymentRoles\", new[]\n        {\n            \n            {\n                { \"role\", \"viewer\" },\n                { \"allDeployments\", true },\n            },\n        } },\n    };\n\n    var myOrg = new ElasticCloud.Organization(\"my_org\", new()\n    {\n        Members = \n        {\n            { \"admin@example.com\", deploymentAdmin },\n            { \"viewer@example.com\", deploymentViewer },\n            { \"another.viewer@example.com\", deploymentViewer },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdeploymentAdmin := map[string]interface{}{\n\t\t\t\"deploymentRoles\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"role\":           \"admin\",\n\t\t\t\t\t\"allDeployments\": true,\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t\tdeploymentViewer := map[string]interface{}{\n\t\t\t\"deploymentRoles\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"role\":           \"viewer\",\n\t\t\t\t\t\"allDeployments\": true,\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t\t_, err := ec.NewOrganization(ctx, \"my_org\", \u0026ec.OrganizationArgs{\n\t\t\tMembers: ec.OrganizationMembersMap{\n\t\t\t\t\"admin@example.com\":          pulumi.MapArrayMap(deploymentAdmin),\n\t\t\t\t\"viewer@example.com\":         pulumi.MapArrayMap(deploymentViewer),\n\t\t\t\t\"another.viewer@example.com\": pulumi.MapArrayMap(deploymentViewer),\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.ec.Organization;\nimport com.pulumi.ec.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var deploymentAdmin = Map.of(\"deploymentRoles\", List.of(Map.ofEntries(\n            Map.entry(\"role\", \"admin\"),\n            Map.entry(\"allDeployments\", true)\n        )));\n\n        final var deploymentViewer = Map.of(\"deploymentRoles\", List.of(Map.ofEntries(\n            Map.entry(\"role\", \"viewer\"),\n            Map.entry(\"allDeployments\", true)\n        )));\n\n        var myOrg = new Organization(\"myOrg\", OrganizationArgs.builder()\n            .members(Map.ofEntries(\n                Map.entry(\"admin@example.com\", deploymentAdmin),\n                Map.entry(\"viewer@example.com\", deploymentViewer),\n                Map.entry(\"another.viewer@example.com\", deploymentViewer)\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myOrg:\n    type: ec:Organization\n    name: my_org\n    properties:\n      members:\n        admin@example.com: ${deploymentAdmin}\n        viewer@example.com: ${deploymentViewer}\n        another.viewer@example.com: ${deploymentViewer}\nvariables:\n  deploymentAdmin:\n    deploymentRoles:\n      - role: admin\n        allDeployments: true\n  deploymentViewer:\n    deploymentRoles:\n      - role: viewer\n        allDeployments: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"members":{"type":"object","additionalProperties":{"$ref":"#/types/ec:index/OrganizationMembers:OrganizationMembers"},"description":"Manages the members of an Elastic Cloud organization. The key of each entry should be the email of the member.\n"}},"inputProperties":{"members":{"type":"object","additionalProperties":{"$ref":"#/types/ec:index/OrganizationMembers:OrganizationMembers"},"description":"Manages the members of an Elastic Cloud organization. The key of each entry should be the email of the member.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Organization resources.\n","properties":{"members":{"type":"object","additionalProperties":{"$ref":"#/types/ec:index/OrganizationMembers:OrganizationMembers"},"description":"Manages the members of an Elastic Cloud organization. The key of each entry should be the email of the member.\n"}},"type":"object"}},"ec:index/securityProject:SecurityProject":{"description":"## Technical preview\n\nThis functionality is in technical preview and may be changed or removed in a future release.\nElastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst myProject = new ec.SecurityProject(\"my_project\", {\n    name: \"my_project\",\n    regionId: \"aws-us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nmy_project = ec.SecurityProject(\"my_project\",\n    name=\"my_project\",\n    region_id=\"aws-us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myProject = new ElasticCloud.SecurityProject(\"my_project\", new()\n    {\n        Name = \"my_project\",\n        RegionId = \"aws-us-east-1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.NewSecurityProject(ctx, \"my_project\", \u0026ec.SecurityProjectArgs{\n\t\t\tName:     pulumi.String(\"my_project\"),\n\t\t\tRegionId: pulumi.String(\"aws-us-east-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.ec.SecurityProject;\nimport com.pulumi.ec.SecurityProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myProject = new SecurityProject(\"myProject\", SecurityProjectArgs.builder()\n            .name(\"my_project\")\n            .regionId(\"aws-us-east-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myProject:\n    type: ec:SecurityProject\n    name: my_project\n    properties:\n      name: my_project\n      regionId: aws-us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e, for example:\n\n```sh\n$ pulumi import ec:index/securityProject:SecurityProject id 320b7b540dfc967a7a649c18e2fce4ed\n```\n\n","properties":{"adminFeaturesPackage":{"type":"string","description":"admin features package (BYOK, BYOIDP, CCS, CCR)\n"},"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"cloudId":{"type":"string","description":"The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.\n"},"credentials":{"$ref":"#/types/ec:index/SecurityProjectCredentials:SecurityProjectCredentials","description":"Basic auth credentials to access the Elasticsearch API.\n"},"endpoints":{"$ref":"#/types/ec:index/SecurityProjectEndpoints:SecurityProjectEndpoints","description":"The endpoints to access the different apps of the project.\n"},"metadata":{"$ref":"#/types/ec:index/SecurityProjectMetadata:SecurityProjectMetadata","description":"Additional details about the project.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"productTypes":{"type":"array","items":{"$ref":"#/types/ec:index/SecurityProjectProductType:SecurityProjectProductType"}},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"},"type":{"type":"string","description":"the type of the project\n"}},"required":["adminFeaturesPackage","alias","cloudId","credentials","endpoints","metadata","name","productTypes","regionId","type"],"inputProperties":{"adminFeaturesPackage":{"type":"string","description":"admin features package (BYOK, BYOIDP, CCS, CCR)\n"},"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"productTypes":{"type":"array","items":{"$ref":"#/types/ec:index/SecurityProjectProductType:SecurityProjectProductType"}},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"}},"requiredInputs":["regionId"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityProject resources.\n","properties":{"adminFeaturesPackage":{"type":"string","description":"admin features package (BYOK, BYOIDP, CCS, CCR)\n"},"alias":{"type":"string","description":"A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.\n"},"cloudId":{"type":"string","description":"The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.\n"},"credentials":{"$ref":"#/types/ec:index/SecurityProjectCredentials:SecurityProjectCredentials","description":"Basic auth credentials to access the Elasticsearch API.\n"},"endpoints":{"$ref":"#/types/ec:index/SecurityProjectEndpoints:SecurityProjectEndpoints","description":"The endpoints to access the different apps of the project.\n"},"metadata":{"$ref":"#/types/ec:index/SecurityProjectMetadata:SecurityProjectMetadata","description":"Additional details about the project.\n"},"name":{"type":"string","description":"Descriptive name for a project.\n"},"productTypes":{"type":"array","items":{"$ref":"#/types/ec:index/SecurityProjectProductType:SecurityProjectProductType"}},"regionId":{"type":"string","description":"Unique human-readable identifier for a region in Elastic Cloud.\n"},"type":{"type":"string","description":"the type of the project\n"}},"type":"object"}},"ec:index/snapshotRepository:SnapshotRepository":{"description":"Manages Elastic Cloud Enterprise snapshot repositories.\n\n  \u003e **This resource can only be used with Elastic Cloud Enterprise** For Elastic Cloud SaaS please use the\u003cspan pulumi-lang-nodejs=\" elasticstackElasticsearchSnapshotRepository \" pulumi-lang-dotnet=\" ElasticstackElasticsearchSnapshotRepository \" pulumi-lang-go=\" elasticstackElasticsearchSnapshotRepository \" pulumi-lang-python=\" elasticstack_elasticsearch_snapshot_repository \" pulumi-lang-yaml=\" elasticstackElasticsearchSnapshotRepository \" pulumi-lang-java=\" elasticstackElasticsearchSnapshotRepository \"\u003e elasticstack_elasticsearch_snapshot_repository \u003c/span\u003eresource from the Elastic Stack terraform provider.\n\n## Example Usage\n\n### S3 style\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst _this = new ec.SnapshotRepository(\"this\", {\n    name: \"my-snapshot-repository\",\n    s3: {\n        bucket: \"my-bucket\",\n        accessKey: \"my-access-key\",\n        secretKey: \"my-secret-key\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nthis = ec.SnapshotRepository(\"this\",\n    name=\"my-snapshot-repository\",\n    s3={\n        \"bucket\": \"my-bucket\",\n        \"access_key\": \"my-access-key\",\n        \"secret_key\": \"my-secret-key\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new ElasticCloud.SnapshotRepository(\"this\", new()\n    {\n        Name = \"my-snapshot-repository\",\n        S3 = new ElasticCloud.Inputs.SnapshotRepositoryS3Args\n        {\n            Bucket = \"my-bucket\",\n            AccessKey = \"my-access-key\",\n            SecretKey = \"my-secret-key\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.NewSnapshotRepository(ctx, \"this\", \u0026ec.SnapshotRepositoryArgs{\n\t\t\tName: pulumi.String(\"my-snapshot-repository\"),\n\t\t\tS3: \u0026ec.SnapshotRepositoryS3Args{\n\t\t\t\tBucket:    pulumi.String(\"my-bucket\"),\n\t\t\t\tAccessKey: pulumi.String(\"my-access-key\"),\n\t\t\t\tSecretKey: pulumi.String(\"my-secret-key\"),\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.ec.SnapshotRepository;\nimport com.pulumi.ec.SnapshotRepositoryArgs;\nimport com.pulumi.ec.inputs.SnapshotRepositoryS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new SnapshotRepository(\"this\", SnapshotRepositoryArgs.builder()\n            .name(\"my-snapshot-repository\")\n            .s3(SnapshotRepositoryS3Args.builder()\n                .bucket(\"my-bucket\")\n                .accessKey(\"my-access-key\")\n                .secretKey(\"my-secret-key\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: ec:SnapshotRepository\n    properties:\n      name: my-snapshot-repository\n      s3:\n        bucket: my-bucket\n        accessKey: my-access-key\n        secretKey: my-secret-key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst _this = new ec.SnapshotRepository(\"this\", {\n    name: \"my-snapshot-repository\",\n    generic: {\n        type: \"azure\",\n        settings: JSON.stringify({\n            container: \"my_container\",\n            client: \"my_alternate_client\",\n            compress: false,\n        }),\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_ec as ec\n\nthis = ec.SnapshotRepository(\"this\",\n    name=\"my-snapshot-repository\",\n    generic={\n        \"type\": \"azure\",\n        \"settings\": json.dumps({\n            \"container\": \"my_container\",\n            \"client\": \"my_alternate_client\",\n            \"compress\": False,\n        }),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new ElasticCloud.SnapshotRepository(\"this\", new()\n    {\n        Name = \"my-snapshot-repository\",\n        Generic = new ElasticCloud.Inputs.SnapshotRepositoryGenericArgs\n        {\n            Type = \"azure\",\n            Settings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n            {\n                [\"container\"] = \"my_container\",\n                [\"client\"] = \"my_alternate_client\",\n                [\"compress\"] = false,\n            }),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"container\": \"my_container\",\n\t\t\t\"client\":    \"my_alternate_client\",\n\t\t\t\"compress\":  false,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = ec.NewSnapshotRepository(ctx, \"this\", \u0026ec.SnapshotRepositoryArgs{\n\t\t\tName: pulumi.String(\"my-snapshot-repository\"),\n\t\t\tGeneric: \u0026ec.SnapshotRepositoryGenericArgs{\n\t\t\t\tType:     pulumi.String(\"azure\"),\n\t\t\t\tSettings: pulumi.String(json0),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.SnapshotRepository;\nimport com.pulumi.ec.SnapshotRepositoryArgs;\nimport com.pulumi.ec.inputs.SnapshotRepositoryGenericArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new SnapshotRepository(\"this\", SnapshotRepositoryArgs.builder()\n            .name(\"my-snapshot-repository\")\n            .generic(SnapshotRepositoryGenericArgs.builder()\n                .type(\"azure\")\n                .settings(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"container\", \"my_container\"),\n                        jsonProperty(\"client\", \"my_alternate_client\"),\n                        jsonProperty(\"compress\", false)\n                    )))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: ec:SnapshotRepository\n    properties:\n      name: my-snapshot-repository\n      generic:\n        type: azure\n        settings:\n          fn::toJSON:\n            container: my_container\n            client: my_alternate_client\n            compress: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GCS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst _this = new ec.SnapshotRepository(\"this\", {\n    name: \"my-snapshot-repository\",\n    generic: {\n        type: \"gcs\",\n        settings: JSON.stringify({\n            bucket: \"my_bucket\",\n            client: \"my_alternate_client\",\n            compress: false,\n        }),\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_ec as ec\n\nthis = ec.SnapshotRepository(\"this\",\n    name=\"my-snapshot-repository\",\n    generic={\n        \"type\": \"gcs\",\n        \"settings\": json.dumps({\n            \"bucket\": \"my_bucket\",\n            \"client\": \"my_alternate_client\",\n            \"compress\": False,\n        }),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new ElasticCloud.SnapshotRepository(\"this\", new()\n    {\n        Name = \"my-snapshot-repository\",\n        Generic = new ElasticCloud.Inputs.SnapshotRepositoryGenericArgs\n        {\n            Type = \"gcs\",\n            Settings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n            {\n                [\"bucket\"] = \"my_bucket\",\n                [\"client\"] = \"my_alternate_client\",\n                [\"compress\"] = false,\n            }),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"bucket\":   \"my_bucket\",\n\t\t\t\"client\":   \"my_alternate_client\",\n\t\t\t\"compress\": false,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = ec.NewSnapshotRepository(ctx, \"this\", \u0026ec.SnapshotRepositoryArgs{\n\t\t\tName: pulumi.String(\"my-snapshot-repository\"),\n\t\t\tGeneric: \u0026ec.SnapshotRepositoryGenericArgs{\n\t\t\t\tType:     pulumi.String(\"gcs\"),\n\t\t\t\tSettings: pulumi.String(json0),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.SnapshotRepository;\nimport com.pulumi.ec.SnapshotRepositoryArgs;\nimport com.pulumi.ec.inputs.SnapshotRepositoryGenericArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new SnapshotRepository(\"this\", SnapshotRepositoryArgs.builder()\n            .name(\"my-snapshot-repository\")\n            .generic(SnapshotRepositoryGenericArgs.builder()\n                .type(\"gcs\")\n                .settings(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"bucket\", \"my_bucket\"),\n                        jsonProperty(\"client\", \"my_alternate_client\"),\n                        jsonProperty(\"compress\", false)\n                    )))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: ec:SnapshotRepository\n    properties:\n      name: my-snapshot-repository\n      generic:\n        type: gcs\n        settings:\n          fn::toJSON:\n            bucket: my_bucket\n            client: my_alternate_client\n            compress: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nYou can import snapshot repositories using the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, for example:\n\n```sh\n$ pulumi import ec:index/snapshotRepository:SnapshotRepository this my-snapshot-repository\n```\n\n","properties":{"generic":{"$ref":"#/types/ec:index/SnapshotRepositoryGeneric:SnapshotRepositoryGeneric","description":"Generic repository settings.\n"},"name":{"type":"string","description":"The name of the snapshot repository configuration.\n"},"s3":{"$ref":"#/types/ec:index/SnapshotRepositoryS3:SnapshotRepositoryS3","description":"S3 repository settings.\n"}},"required":["name"],"inputProperties":{"generic":{"$ref":"#/types/ec:index/SnapshotRepositoryGeneric:SnapshotRepositoryGeneric","description":"Generic repository settings.\n"},"name":{"type":"string","description":"The name of the snapshot repository configuration.\n"},"s3":{"$ref":"#/types/ec:index/SnapshotRepositoryS3:SnapshotRepositoryS3","description":"S3 repository settings.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering SnapshotRepository resources.\n","properties":{"generic":{"$ref":"#/types/ec:index/SnapshotRepositoryGeneric:SnapshotRepositoryGeneric","description":"Generic repository settings.\n"},"name":{"type":"string","description":"The name of the snapshot repository configuration.\n"},"s3":{"$ref":"#/types/ec:index/SnapshotRepositoryS3:SnapshotRepositoryS3","description":"S3 repository settings.\n"}},"type":"object"}}},"functions":{"ec:index/getAwsPrivatelinkEndpoint:getAwsPrivatelinkEndpoint":{"description":"Use this data source to retrieve information about the AWS Private Link configuration for a given region. Further documentation on how to establish a PrivateLink connection can be found in the ESS [documentation](https://www.elastic.co/guide/en/cloud/current/ec-traffic-filtering-vpc.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst us_east_1 = ec.getAwsPrivatelinkEndpoint({\n    region: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nus_east_1 = ec.get_aws_privatelink_endpoint(region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var us_east_1 = ElasticCloud.GetAwsPrivatelinkEndpoint.Invoke(new()\n    {\n        Region = \"us-east-1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.GetAwsPrivatelinkEndpoint(ctx, \u0026ec.GetAwsPrivatelinkEndpointArgs{\n\t\t\tRegion: \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetAwsPrivatelinkEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var us-east-1 = EcFunctions.getAwsPrivatelinkEndpoint(GetAwsPrivatelinkEndpointArgs.builder()\n            .region(\"us-east-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  us-east-1:\n    fn::invoke:\n      function: ec:getAwsPrivatelinkEndpoint\n      arguments:\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsPrivatelinkEndpoint.\n","properties":{"region":{"type":"string","description":"Region to retrieve the Private Link configuration for.\n"}},"type":"object","required":["region"]},"outputs":{"description":"A collection of values returned by getAwsPrivatelinkEndpoint.\n","properties":{"domainName":{"description":"The domain name to used in when configuring a private hosted zone in the VPCE connection.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"region":{"description":"Region to retrieve the Private Link configuration for.\n","type":"string"},"vpcServiceName":{"description":"The VPC service name used to connect to the region.\n","type":"string"},"zoneIds":{"description":"The IDs of the availability zones hosting the VPC endpoints.\n","items":{"type":"string"},"type":"array"}},"required":["domainName","region","vpcServiceName","zoneIds","id"],"type":"object"}},"ec:index/getAzurePrivatelinkEndpoint:getAzurePrivatelinkEndpoint":{"description":"Use this data source to retrieve information about the Azure Private Link configuration for a given region. Further documentation on how to establish a PrivateLink connection can be found in the ESS [documentation](https://www.elastic.co/guide/en/cloud/current/ec-traffic-filtering-vnet.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst eastus = ec.getAzurePrivatelinkEndpoint({\n    region: \"eastus\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\neastus = ec.get_azure_privatelink_endpoint(region=\"eastus\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var eastus = ElasticCloud.GetAzurePrivatelinkEndpoint.Invoke(new()\n    {\n        Region = \"eastus\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.GetAzurePrivatelinkEndpoint(ctx, \u0026ec.GetAzurePrivatelinkEndpointArgs{\n\t\t\tRegion: \"eastus\",\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.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetAzurePrivatelinkEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var eastus = EcFunctions.getAzurePrivatelinkEndpoint(GetAzurePrivatelinkEndpointArgs.builder()\n            .region(\"eastus\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  eastus:\n    fn::invoke:\n      function: ec:getAzurePrivatelinkEndpoint\n      arguments:\n        region: eastus\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzurePrivatelinkEndpoint.\n","properties":{"region":{"type":"string","description":"Region to retrieve the Private Link configuration for.\n"}},"type":"object","required":["region"]},"outputs":{"description":"A collection of values returned by getAzurePrivatelinkEndpoint.\n","properties":{"domainName":{"description":"The domain name to used in when configuring a private hosted zone in the VNet connection.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"region":{"description":"Region to retrieve the Private Link configuration for.\n","type":"string"},"serviceAlias":{"description":"The service alias to establish a connection to.\n","type":"string"}},"required":["domainName","region","serviceAlias","id"],"type":"object"}},"ec:index/getDeployment:getDeployment":{"description":"Use this data source to retrieve information about an existing Elastic Cloud deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst example = ec.getDeployment({\n    id: \"f759065e5e64e9f3546f6c44f2743893\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nexample = ec.get_deployment(id=\"f759065e5e64e9f3546f6c44f2743893\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = ElasticCloud.GetDeployment.Invoke(new()\n    {\n        Id = \"f759065e5e64e9f3546f6c44f2743893\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.LookupDeployment(ctx, \u0026ec.LookupDeploymentArgs{\n\t\t\tId: \"f759065e5e64e9f3546f6c44f2743893\",\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.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetDeploymentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EcFunctions.getDeployment(GetDeploymentArgs.builder()\n            .id(\"f759065e5e64e9f3546f6c44f2743893\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ec:getDeployment\n      arguments:\n        id: f759065e5e64e9f3546f6c44f2743893\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDeployment.\n","properties":{"id":{"type":"string","description":"The unique ID of the deployment.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDeployment.\n","properties":{"alias":{"description":"Deployment alias.\n","type":"string"},"apms":{"description":"Instance configuration of the APM type.\n","items":{"$ref":"#/types/ec:index/getDeploymentApm:getDeploymentApm"},"type":"array"},"deploymentTemplateId":{"description":"ID of the deployment template this deployment is based off.\n","type":"string"},"elasticsearches":{"description":"Instance configuration of the Elasticsearch Elasticsearch resource.\n","items":{"$ref":"#/types/ec:index/getDeploymentElasticsearch:getDeploymentElasticsearch"},"type":"array"},"enterpriseSearches":{"description":"Instance configuration of the Enterprise Search type.\n","items":{"$ref":"#/types/ec:index/getDeploymentEnterpriseSearch:getDeploymentEnterpriseSearch"},"type":"array"},"healthy":{"description":"Overall health status of the deployment.\n","type":"boolean"},"id":{"description":"The unique ID of the deployment.\n","type":"string"},"integrationsServers":{"description":"Instance configuration of the Integrations Server type.\n","items":{"$ref":"#/types/ec:index/getDeploymentIntegrationsServer:getDeploymentIntegrationsServer"},"type":"array"},"kibanas":{"description":"Instance configuration of the Kibana type.\n","items":{"$ref":"#/types/ec:index/getDeploymentKibana:getDeploymentKibana"},"type":"array"},"name":{"description":"The name of the deployment.\n","type":"string"},"observabilities":{"description":"Observability settings. Information about logs and metrics shipped to a dedicated deployment.\n","items":{"$ref":"#/types/ec:index/getDeploymentObservability:getDeploymentObservability"},"type":"array"},"region":{"description":"Region where the deployment is hosted.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key value map of arbitrary string tags.\n","type":"object"},"trafficFilters":{"description":"Traffic filter block, which contains a list of traffic filter rule identifiers.\n","items":{"type":"string"},"type":"array"}},"required":["alias","apms","deploymentTemplateId","elasticsearches","enterpriseSearches","healthy","id","integrationsServers","kibanas","name","observabilities","region","tags","trafficFilters"],"type":"object"}},"ec:index/getDeploymentTemplates:getDeploymentTemplates":{"description":"Use this data source to retrieve a list of available deployment templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst example = ec.getDeploymentTemplates({\n    region: \"us-east-1\",\n});\nconst myDeployment = new ec.Deployment(\"my_deployment\", {\n    name: \"My Deployment\",\n    version: \"8.12.2\",\n    region: allTemplates.region,\n    deploymentTemplateId: allTemplates.templates[0].id,\n    elasticsearch: {\n        hot: {\n            autoscaling: {},\n        },\n    },\n    kibana: {},\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nexample = ec.get_deployment_templates(region=\"us-east-1\")\nmy_deployment = ec.Deployment(\"my_deployment\",\n    name=\"My Deployment\",\n    version=\"8.12.2\",\n    region=all_templates[\"region\"],\n    deployment_template_id=all_templates[\"templates\"][0][\"id\"],\n    elasticsearch={\n        \"hot\": {\n            \"autoscaling\": {},\n        },\n    },\n    kibana={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = ElasticCloud.GetDeploymentTemplates.Invoke(new()\n    {\n        Region = \"us-east-1\",\n    });\n\n    var myDeployment = new ElasticCloud.Deployment(\"my_deployment\", new()\n    {\n        Name = \"My Deployment\",\n        Version = \"8.12.2\",\n        Region = allTemplates.Region,\n        DeploymentTemplateId = allTemplates.Templates[0].Id,\n        Elasticsearch = new ElasticCloud.Inputs.DeploymentElasticsearchArgs\n        {\n            Hot = new ElasticCloud.Inputs.DeploymentElasticsearchHotArgs\n            {\n                Autoscaling = null,\n            },\n        },\n        Kibana = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.GetDeploymentTemplates(ctx, \u0026ec.GetDeploymentTemplatesArgs{\n\t\t\tRegion: \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec.NewDeployment(ctx, \"my_deployment\", \u0026ec.DeploymentArgs{\n\t\t\tName:                 pulumi.String(\"My Deployment\"),\n\t\t\tVersion:              pulumi.String(\"8.12.2\"),\n\t\t\tRegion:               pulumi.Any(allTemplates.Region),\n\t\t\tDeploymentTemplateId: pulumi.Any(allTemplates.Templates[0].Id),\n\t\t\tElasticsearch: \u0026ec.DeploymentElasticsearchArgs{\n\t\t\t\tHot: \u0026ec.DeploymentElasticsearchHotArgs{\n\t\t\t\t\tAutoscaling: \u0026ec.DeploymentElasticsearchHotAutoscalingArgs{},\n\t\t\t\t},\n\t\t\t},\n\t\t\tKibana: \u0026ec.DeploymentKibanaArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetDeploymentTemplatesArgs;\nimport com.pulumi.ec.Deployment;\nimport com.pulumi.ec.DeploymentArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotArgs;\nimport com.pulumi.ec.inputs.DeploymentElasticsearchHotAutoscalingArgs;\nimport com.pulumi.ec.inputs.DeploymentKibanaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EcFunctions.getDeploymentTemplates(GetDeploymentTemplatesArgs.builder()\n            .region(\"us-east-1\")\n            .build());\n\n        var myDeployment = new Deployment(\"myDeployment\", DeploymentArgs.builder()\n            .name(\"My Deployment\")\n            .version(\"8.12.2\")\n            .region(allTemplates.region())\n            .deploymentTemplateId(allTemplates.templates()[0].id())\n            .elasticsearch(DeploymentElasticsearchArgs.builder()\n                .hot(DeploymentElasticsearchHotArgs.builder()\n                    .autoscaling(DeploymentElasticsearchHotAutoscalingArgs.builder()\n                        .build())\n                    .build())\n                .build())\n            .kibana(DeploymentKibanaArgs.builder()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDeployment:\n    type: ec:Deployment\n    name: my_deployment\n    properties:\n      name: My Deployment\n      version: 8.12.2\n      region: ${allTemplates.region}\n      deploymentTemplateId: ${allTemplates.templates[0].id}\n      elasticsearch:\n        hot:\n          autoscaling: {}\n      kibana: {}\nvariables:\n  example:\n    fn::invoke:\n      function: ec:getDeploymentTemplates\n      arguments:\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDeploymentTemplates.\n","properties":{"id":{"type":"string","description":"Filters for a deployment template with this id.\n"},"region":{"type":"string","description":"Region to select. For Elastic Cloud Enterprise (ECE) installations, use `ece-region`.\n"},"showDeprecated":{"type":"boolean","description":"Enable to also show deprecated deployment templates. (Set to false by default.)\n"},"stackVersion":{"type":"string","description":"Filters for deployment templates compatible with this stack version.\n"}},"type":"object","required":["region"]},"outputs":{"description":"A collection of values returned by getDeploymentTemplates.\n","properties":{"id":{"description":"Filters for a deployment template with this id.\n","type":"string"},"region":{"description":"Region to select. For Elastic Cloud Enterprise (ECE) installations, use `ece-region`.\n","type":"string"},"showDeprecated":{"description":"Enable to also show deprecated deployment templates. (Set to false by default.)\n","type":"boolean"},"stackVersion":{"description":"Filters for deployment templates compatible with this stack version.\n","type":"string"},"templates":{"description":"List of available deployment templates.\n","items":{"$ref":"#/types/ec:index/getDeploymentTemplatesTemplate:getDeploymentTemplatesTemplate"},"type":"array"}},"required":["region","templates"],"type":"object"}},"ec:index/getDeployments:getDeployments":{"description":"Use this data source to retrieve a list of IDs for the deployment and resource kinds, based on the specified query.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst example = ec.getDeployments({\n    namePrefix: \"test\",\n    deploymentTemplateId: \"azure-compute-optimized\",\n    size: 200,\n    tags: {\n        foo: \"bar\",\n    },\n    elasticsearches: [{\n        healthy: \"true\",\n    }],\n    kibanas: [{\n        status: \"started\",\n    }],\n    integrationsServers: [{\n        version: \"8.0.0\",\n    }],\n    enterpriseSearches: [{\n        healthy: \"true\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nexample = ec.get_deployments(name_prefix=\"test\",\n    deployment_template_id=\"azure-compute-optimized\",\n    size=200,\n    tags={\n        \"foo\": \"bar\",\n    },\n    elasticsearches=[{\n        \"healthy\": \"true\",\n    }],\n    kibanas=[{\n        \"status\": \"started\",\n    }],\n    integrations_servers=[{\n        \"version\": \"8.0.0\",\n    }],\n    enterprise_searches=[{\n        \"healthy\": \"true\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = ElasticCloud.GetDeployments.Invoke(new()\n    {\n        NamePrefix = \"test\",\n        DeploymentTemplateId = \"azure-compute-optimized\",\n        Size = 200,\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n        Elasticsearches = new[]\n        {\n            new ElasticCloud.Inputs.GetDeploymentsElasticsearchInputArgs\n            {\n                Healthy = \"true\",\n            },\n        },\n        Kibanas = new[]\n        {\n            new ElasticCloud.Inputs.GetDeploymentsKibanaInputArgs\n            {\n                Status = \"started\",\n            },\n        },\n        IntegrationsServers = new[]\n        {\n            new ElasticCloud.Inputs.GetDeploymentsIntegrationsServerInputArgs\n            {\n                Version = \"8.0.0\",\n            },\n        },\n        EnterpriseSearches = new[]\n        {\n            new ElasticCloud.Inputs.GetDeploymentsEnterpriseSearchInputArgs\n            {\n                Healthy = \"true\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.GetDeployments(ctx, \u0026ec.GetDeploymentsArgs{\n\t\t\tNamePrefix:           pulumi.StringRef(\"test\"),\n\t\t\tDeploymentTemplateId: pulumi.StringRef(\"azure-compute-optimized\"),\n\t\t\tSize:                 pulumi.IntRef(200),\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"foo\": \"bar\",\n\t\t\t},\n\t\t\tElasticsearches: []ec.GetDeploymentsElasticsearch{\n\t\t\t\t{\n\t\t\t\t\tHealthy: pulumi.StringRef(\"true\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tKibanas: []ec.GetDeploymentsKibana{\n\t\t\t\t{\n\t\t\t\t\tStatus: pulumi.StringRef(\"started\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntegrationsServers: []ec.GetDeploymentsIntegrationsServer{\n\t\t\t\t{\n\t\t\t\t\tVersion: pulumi.StringRef(\"8.0.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnterpriseSearches: []ec.GetDeploymentsEnterpriseSearch{\n\t\t\t\t{\n\t\t\t\t\tHealthy: pulumi.StringRef(\"true\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetDeploymentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = EcFunctions.getDeployments(GetDeploymentsArgs.builder()\n            .namePrefix(\"test\")\n            .deploymentTemplateId(\"azure-compute-optimized\")\n            .size(200)\n            .tags(Map.of(\"foo\", \"bar\"))\n            .elasticsearches(GetDeploymentsElasticsearchArgs.builder()\n                .healthy(\"true\")\n                .build())\n            .kibanas(GetDeploymentsKibanaArgs.builder()\n                .status(\"started\")\n                .build())\n            .integrationsServers(GetDeploymentsIntegrationsServerArgs.builder()\n                .version(\"8.0.0\")\n                .build())\n            .enterpriseSearches(GetDeploymentsEnterpriseSearchArgs.builder()\n                .healthy(\"true\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ec:getDeployments\n      arguments:\n        namePrefix: test\n        deploymentTemplateId: azure-compute-optimized\n        size: 200\n        tags:\n          foo: bar\n        elasticsearches:\n          - healthy: 'true'\n        kibanas:\n          - status: started\n        integrationsServers:\n          - version: 8.0.0\n        enterpriseSearches:\n          - healthy: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDeployments.\n","properties":{"apms":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentsApm:getDeploymentsApm"},"description":"Filter by APM resource kind status or configuration.\n"},"deploymentTemplateId":{"type":"string","description":"Filter the result set by the ID of the deployment template the deployment is based off.\n"},"elasticsearches":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentsElasticsearch:getDeploymentsElasticsearch"},"description":"Filter by Elasticsearch resource kind status or configuration.\n"},"enterpriseSearches":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentsEnterpriseSearch:getDeploymentsEnterpriseSearch"},"description":"Filter by Enterprise Search resource kind status or configuration.\n"},"healthy":{"type":"string","description":"Filter the result set by their health status.\n"},"integrationsServers":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentsIntegrationsServer:getDeploymentsIntegrationsServer"},"description":"Filter by Integrations Server resource kind status or configuration.\n"},"kibanas":{"type":"array","items":{"$ref":"#/types/ec:index/getDeploymentsKibana:getDeploymentsKibana"},"description":"Filter by Kibana resource kind status or configuration.\n"},"name":{"type":"string","description":"Filter the result by the full deployment name.\n"},"namePrefix":{"type":"string","description":"Prefix to filter the returned deployment list by.\n"},"size":{"type":"integer","description":"The maximum number of deployments to return. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Filter the result set by their assigned tags.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDeployments.\n","properties":{"apms":{"description":"Filter by APM resource kind status or configuration.\n","items":{"$ref":"#/types/ec:index/getDeploymentsApm:getDeploymentsApm"},"type":"array"},"deploymentTemplateId":{"description":"Filter the result set by the ID of the deployment template the deployment is based off.\n","type":"string"},"deployments":{"description":"List of deployments which match the specified query.\n","items":{"$ref":"#/types/ec:index/getDeploymentsDeployment:getDeploymentsDeployment"},"type":"array"},"elasticsearches":{"description":"Filter by Elasticsearch resource kind status or configuration.\n","items":{"$ref":"#/types/ec:index/getDeploymentsElasticsearch:getDeploymentsElasticsearch"},"type":"array"},"enterpriseSearches":{"description":"Filter by Enterprise Search resource kind status or configuration.\n","items":{"$ref":"#/types/ec:index/getDeploymentsEnterpriseSearch:getDeploymentsEnterpriseSearch"},"type":"array"},"healthy":{"description":"Filter the result set by their health status.\n","type":"string"},"id":{"description":"Unique identifier of this data source.\n","type":"string"},"integrationsServers":{"description":"Filter by Integrations Server resource kind status or configuration.\n","items":{"$ref":"#/types/ec:index/getDeploymentsIntegrationsServer:getDeploymentsIntegrationsServer"},"type":"array"},"kibanas":{"description":"Filter by Kibana resource kind status or configuration.\n","items":{"$ref":"#/types/ec:index/getDeploymentsKibana:getDeploymentsKibana"},"type":"array"},"name":{"description":"Filter the result by the full deployment name.\n","type":"string"},"namePrefix":{"description":"Prefix to filter the returned deployment list by.\n","type":"string"},"returnCount":{"description":"The number of deployments actually returned.\n","type":"integer"},"size":{"description":"The maximum number of deployments to return. Defaults to \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n","type":"integer"},"tags":{"additionalProperties":{"type":"string"},"description":"Filter the result set by their assigned tags.\n","type":"object"}},"required":["deployments","id","returnCount"],"type":"object"}},"ec:index/getGcpPrivateServiceConnectEndpoint:getGcpPrivateServiceConnectEndpoint":{"description":"Use this data source to retrieve information about the GCP Private Service Connect configuration for a given region. Further documentation on how to establish a PrivateLink connection can be found in the ESS [documentation](https://www.elastic.co/guide/en/cloud/current/ec-traffic-filtering-psc.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst us_central1 = ec.getGcpPrivateServiceConnectEndpoint({\n    region: \"us-central1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nus_central1 = ec.get_gcp_private_service_connect_endpoint(region=\"us-central1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var us_central1 = ElasticCloud.GetGcpPrivateServiceConnectEndpoint.Invoke(new()\n    {\n        Region = \"us-central1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.GetGcpPrivateServiceConnectEndpoint(ctx, \u0026ec.GetGcpPrivateServiceConnectEndpointArgs{\n\t\t\tRegion: \"us-central1\",\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.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetGcpPrivateServiceConnectEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var us-central1 = EcFunctions.getGcpPrivateServiceConnectEndpoint(GetGcpPrivateServiceConnectEndpointArgs.builder()\n            .region(\"us-central1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  us-central1:\n    fn::invoke:\n      function: ec:getGcpPrivateServiceConnectEndpoint\n      arguments:\n        region: us-central1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpPrivateServiceConnectEndpoint.\n","properties":{"region":{"type":"string","description":"Region to retrieve the Prive Link configuration for.\n"}},"type":"object","required":["region"]},"outputs":{"description":"A collection of values returned by getGcpPrivateServiceConnectEndpoint.\n","properties":{"domainName":{"description":"The domain name to point towards the PSC endpoint.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"region":{"description":"Region to retrieve the Prive Link configuration for.\n","type":"string"},"serviceAttachmentUri":{"description":"The service attachment URI to attach the PSC endpoint to.\n","type":"string"}},"required":["domainName","region","serviceAttachmentUri","id"],"type":"object"}},"ec:index/getStack:getStack":{"description":"Use this data source to retrieve information about an existing Elastic Cloud stack.\n\n  \u003e **Note on regions** Before you start, you might want to check the [full list](https://www.elastic.co/guide/en/cloud/current/ec-regions-templates-instances.html) of regions available in Elasticsearch Service (ESS).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst latest = ec.getStack({\n    versionRegex: \"latest\",\n    region: \"us-east-1\",\n    lock: true,\n});\nconst latestPatch = ec.getStack({\n    versionRegex: \"7.9.?\",\n    region: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nlatest = ec.get_stack(version_regex=\"latest\",\n    region=\"us-east-1\",\n    lock=True)\nlatest_patch = ec.get_stack(version_regex=\"7.9.?\",\n    region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var latest = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"latest\",\n        Region = \"us-east-1\",\n        Lock = true,\n    });\n\n    var latestPatch = ElasticCloud.GetStack.Invoke(new()\n    {\n        VersionRegex = \"7.9.?\",\n        Region = \"us-east-1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"latest\",\n\t\t\tRegion:       \"us-east-1\",\n\t\t\tLock:         pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec.GetStack(ctx, \u0026ec.GetStackArgs{\n\t\t\tVersionRegex: \"7.9.?\",\n\t\t\tRegion:       \"us-east-1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var latest = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"latest\")\n            .region(\"us-east-1\")\n            .lock(true)\n            .build());\n\n        final var latestPatch = EcFunctions.getStack(GetStackArgs.builder()\n            .versionRegex(\"7.9.?\")\n            .region(\"us-east-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  latest:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: latest\n        region: us-east-1\n        lock: true\n  latestPatch:\n    fn::invoke:\n      function: ec:getStack\n      arguments:\n        versionRegex: 7.9.?\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getStack.\n","properties":{"lock":{"type":"boolean","description":"Lock the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`versionRegex`\" pulumi-lang-dotnet=\"`VersionRegex`\" pulumi-lang-go=\"`versionRegex`\" pulumi-lang-python=\"`version_regex`\" pulumi-lang-yaml=\"`versionRegex`\" pulumi-lang-java=\"`versionRegex`\"\u003e`version_regex`\u003c/span\u003e obtained, so that the new stack release doesn't cascade the changes down to the deployments. It can be changed at any time.\n"},"region":{"type":"string","description":"Region where the stack pack is. For Elastic Cloud Enterprise (ECE) installations, use `ece-region`.\n"},"versionRegex":{"type":"string","description":"Regex to filter the available stacks. Can be any valid regex expression, when multiple stacks are matched through a regex, the latest version is returned. \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e is also accepted to obtain the latest available stack version.\n"}},"type":"object","required":["region","versionRegex"]},"outputs":{"description":"A collection of values returned by getStack.\n","properties":{"accessible":{"description":"To have this version accessible/not accessible by the calling user. This is only relevant for Elasticsearch Service (ESS), not for ECE.\n","type":"boolean"},"allowlisted":{"description":"To include/not include this version in the \u003cspan pulumi-lang-nodejs=\"`allowlist`\" pulumi-lang-dotnet=\"`Allowlist`\" pulumi-lang-go=\"`allowlist`\" pulumi-lang-python=\"`allowlist`\" pulumi-lang-yaml=\"`allowlist`\" pulumi-lang-java=\"`allowlist`\"\u003e`allowlist`\u003c/span\u003e. This is only relevant for Elasticsearch Service (ESS), not for ECE.\n","type":"boolean"},"apms":{"description":"Information for APM workloads on this stack version.\n","items":{"$ref":"#/types/ec:index/getStackApm:getStackApm"},"type":"array"},"elasticsearches":{"description":"Information for Elasticsearch workloads on this stack version.\n","items":{"$ref":"#/types/ec:index/getStackElasticsearch:getStackElasticsearch"},"type":"array"},"enterpriseSearches":{"description":"Information for Enterprise Search workloads on this stack version.\n","items":{"$ref":"#/types/ec:index/getStackEnterpriseSearch:getStackEnterpriseSearch"},"type":"array"},"id":{"description":"Unique identifier of this data source.\n","type":"string"},"kibanas":{"description":"Information for Kibana workloads on this stack version.\n","items":{"$ref":"#/types/ec:index/getStackKibana:getStackKibana"},"type":"array"},"lock":{"description":"Lock the \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e \u003cspan pulumi-lang-nodejs=\"`versionRegex`\" pulumi-lang-dotnet=\"`VersionRegex`\" pulumi-lang-go=\"`versionRegex`\" pulumi-lang-python=\"`version_regex`\" pulumi-lang-yaml=\"`versionRegex`\" pulumi-lang-java=\"`versionRegex`\"\u003e`version_regex`\u003c/span\u003e obtained, so that the new stack release doesn't cascade the changes down to the deployments. It can be changed at any time.\n","type":"boolean"},"minUpgradableFrom":{"description":"The minimum stack version which can be upgraded to this stack version.\n","type":"string"},"region":{"description":"Region where the stack pack is. For Elastic Cloud Enterprise (ECE) installations, use `ece-region`.\n","type":"string"},"upgradableTos":{"description":"A list of stack versions which this stack version can be upgraded to.\n","items":{"type":"string"},"type":"array"},"version":{"description":"The stack version\n","type":"string"},"versionRegex":{"description":"Regex to filter the available stacks. Can be any valid regex expression, when multiple stacks are matched through a regex, the latest version is returned. \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e is also accepted to obtain the latest available stack version.\n","type":"string"}},"required":["accessible","allowlisted","apms","elasticsearches","enterpriseSearches","id","kibanas","minUpgradableFrom","region","upgradableTos","version","versionRegex"],"type":"object"}},"ec:index/getTrafficFilter:getTrafficFilter":{"description":"Use this data source to filter for an existing traffic filter that has been created via one of the provided filters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ec from \"@pulumi/ec\";\n\nconst name = ec.getTrafficFilter({\n    name: \"example-filter\",\n});\nconst id = ec.getTrafficFilter({\n    id: \"41d275439f884ce89359039e53eac516\",\n});\nconst region = ec.getTrafficFilter({\n    region: \"us-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ec as ec\n\nname = ec.get_traffic_filter(name=\"example-filter\")\nid = ec.get_traffic_filter(id=\"41d275439f884ce89359039e53eac516\")\nregion = ec.get_traffic_filter(region=\"us-east-1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ElasticCloud = Pulumi.ElasticCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var name = ElasticCloud.GetTrafficFilter.Invoke(new()\n    {\n        Name = \"example-filter\",\n    });\n\n    var id = ElasticCloud.GetTrafficFilter.Invoke(new()\n    {\n        Id = \"41d275439f884ce89359039e53eac516\",\n    });\n\n    var region = ElasticCloud.GetTrafficFilter.Invoke(new()\n    {\n        Region = \"us-east-1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-ec/sdk/go/ec\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec.GetTrafficFilter(ctx, \u0026ec.GetTrafficFilterArgs{\n\t\t\tName: pulumi.StringRef(\"example-filter\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec.GetTrafficFilter(ctx, \u0026ec.GetTrafficFilterArgs{\n\t\t\tId: pulumi.StringRef(\"41d275439f884ce89359039e53eac516\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec.GetTrafficFilter(ctx, \u0026ec.GetTrafficFilterArgs{\n\t\t\tRegion: pulumi.StringRef(\"us-east-1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ec.EcFunctions;\nimport com.pulumi.ec.inputs.GetTrafficFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var name = EcFunctions.getTrafficFilter(GetTrafficFilterArgs.builder()\n            .name(\"example-filter\")\n            .build());\n\n        final var id = EcFunctions.getTrafficFilter(GetTrafficFilterArgs.builder()\n            .id(\"41d275439f884ce89359039e53eac516\")\n            .build());\n\n        final var region = EcFunctions.getTrafficFilter(GetTrafficFilterArgs.builder()\n            .region(\"us-east-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  name:\n    fn::invoke:\n      function: ec:getTrafficFilter\n      arguments:\n        name: example-filter\n  id:\n    fn::invoke:\n      function: ec:getTrafficFilter\n      arguments:\n        id: 41d275439f884ce89359039e53eac516\n  region:\n    fn::invoke:\n      function: ec:getTrafficFilter\n      arguments:\n        region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTrafficFilter.\n","properties":{"id":{"type":"string","description":"The id of the traffic filter to select.\n"},"name":{"type":"string","description":"The exact name of the traffic filter to select.\n"},"region":{"type":"string","description":"Region where the traffic filter is. For Elastic Cloud Enterprise (ECE) installations, use `ece-region`\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTrafficFilter.\n","properties":{"id":{"description":"The id of the traffic filter to select.\n","type":"string"},"name":{"description":"The exact name of the traffic filter to select.\n","type":"string"},"region":{"description":"Region where the traffic filter is. For Elastic Cloud Enterprise (ECE) installations, use `ece-region`\n","type":"string"},"rulesets":{"description":"An individual ruleset\n","items":{"$ref":"#/types/ec:index/getTrafficFilterRuleset:getTrafficFilterRuleset"},"type":"array"}},"required":["rulesets"],"type":"object"}},"pulumi:providers:ec/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:ec/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}