@pulumi/aws 5.2.0-alpha.1650047579 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/apigateway/stage.d.ts +18 -6
  2. package/apigateway/stage.js +2 -0
  3. package/apigateway/stage.js.map +1 -1
  4. package/athena/database.d.ts +42 -0
  5. package/athena/database.js +26 -0
  6. package/athena/database.js.map +1 -1
  7. package/autoscaling/attachment.d.ts +1 -1
  8. package/autoscaling/attachment.js +1 -1
  9. package/autoscaling/group.d.ts +19 -10
  10. package/autoscaling/group.js +4 -1
  11. package/autoscaling/group.js.map +1 -1
  12. package/backup/plan.d.ts +3 -0
  13. package/backup/plan.js +3 -0
  14. package/backup/plan.js.map +1 -1
  15. package/cfg/rule.d.ts +39 -12
  16. package/cfg/rule.js +27 -0
  17. package/cfg/rule.js.map +1 -1
  18. package/cloudformation/stackSet.d.ts +12 -0
  19. package/cloudformation/stackSet.js +2 -0
  20. package/cloudformation/stackSet.js.map +1 -1
  21. package/cloudformation/stackSetInstance.d.ts +19 -1
  22. package/cloudformation/stackSetInstance.js +9 -1
  23. package/cloudformation/stackSetInstance.js.map +1 -1
  24. package/cloudtrail/trail.d.ts +31 -30
  25. package/cloudtrail/trail.js +31 -30
  26. package/cloudtrail/trail.js.map +1 -1
  27. package/cloudwatch/getEventBus.d.ts +51 -0
  28. package/cloudwatch/getEventBus.js +38 -0
  29. package/cloudwatch/getEventBus.js.map +1 -0
  30. package/cloudwatch/index.d.ts +1 -0
  31. package/cloudwatch/index.js +1 -0
  32. package/cloudwatch/index.js.map +1 -1
  33. package/cognito/index.d.ts +1 -0
  34. package/cognito/index.js +5 -0
  35. package/cognito/index.js.map +1 -1
  36. package/cognito/userInGroup.d.ts +100 -0
  37. package/cognito/userInGroup.js +90 -0
  38. package/cognito/userInGroup.js.map +1 -0
  39. package/cognito/userPoolClient.d.ts +22 -0
  40. package/cognito/userPoolClient.js +22 -0
  41. package/cognito/userPoolClient.js.map +1 -1
  42. package/datasync/fsxOpenZfsFileSystem.d.ts +175 -0
  43. package/datasync/fsxOpenZfsFileSystem.js +104 -0
  44. package/datasync/fsxOpenZfsFileSystem.js.map +1 -0
  45. package/datasync/index.d.ts +1 -0
  46. package/datasync/index.js +5 -0
  47. package/datasync/index.js.map +1 -1
  48. package/dynamodb/contributorInsights.d.ts +82 -0
  49. package/dynamodb/contributorInsights.js +76 -0
  50. package/dynamodb/contributorInsights.js.map +1 -0
  51. package/dynamodb/index.d.ts +1 -0
  52. package/dynamodb/index.js +5 -0
  53. package/dynamodb/index.js.map +1 -1
  54. package/dynamodb/tableItem.d.ts +6 -9
  55. package/dynamodb/tableItem.js.map +1 -1
  56. package/ec2/amiLaunchPermission.d.ts +70 -10
  57. package/ec2/amiLaunchPermission.js +32 -5
  58. package/ec2/amiLaunchPermission.js.map +1 -1
  59. package/ec2/defaultNetworkAcl.d.ts +1 -1
  60. package/ec2/defaultNetworkAcl.js +1 -1
  61. package/ec2/getEips.d.ts +1 -1
  62. package/ec2/getNatGateways.d.ts +65 -0
  63. package/ec2/getNatGateways.js +28 -0
  64. package/ec2/getNatGateways.js.map +1 -0
  65. package/ec2/getRoute.d.ts +9 -0
  66. package/ec2/getRoute.js +1 -0
  67. package/ec2/getRoute.js.map +1 -1
  68. package/ec2/index.d.ts +1 -0
  69. package/ec2/index.js +1 -0
  70. package/ec2/index.js.map +1 -1
  71. package/ec2/instance.d.ts +18 -6
  72. package/ec2/instance.js +2 -0
  73. package/ec2/instance.js.map +1 -1
  74. package/ec2/keyPair.d.ts +3 -12
  75. package/ec2/keyPair.js.map +1 -1
  76. package/ec2/route.d.ts +12 -0
  77. package/ec2/route.js +2 -0
  78. package/ec2/route.js.map +1 -1
  79. package/ec2/spotInstanceRequest.d.ts +18 -6
  80. package/ec2/spotInstanceRequest.js +2 -0
  81. package/ec2/spotInstanceRequest.js.map +1 -1
  82. package/ec2/vpc.d.ts +3 -3
  83. package/ec2/vpcEndpointService.d.ts +4 -4
  84. package/ec2/vpcIpam.d.ts +12 -0
  85. package/ec2/vpcIpam.js +2 -0
  86. package/ec2/vpcIpam.js.map +1 -1
  87. package/ec2/vpnConnection.d.ts +16 -0
  88. package/ec2/vpnConnection.js +4 -0
  89. package/ec2/vpnConnection.js.map +1 -1
  90. package/eks/addon.d.ts +18 -6
  91. package/eks/addon.js +2 -0
  92. package/eks/addon.js.map +1 -1
  93. package/eks/getAddonVersion.d.ts +82 -0
  94. package/eks/getAddonVersion.js +51 -0
  95. package/eks/getAddonVersion.js.map +1 -0
  96. package/eks/index.d.ts +1 -0
  97. package/eks/index.js +1 -0
  98. package/eks/index.js.map +1 -1
  99. package/elasticache/cluster.d.ts +64 -3
  100. package/elasticache/cluster.js +32 -0
  101. package/elasticache/cluster.js.map +1 -1
  102. package/elasticache/getCluster.d.ts +4 -0
  103. package/elasticache/getCluster.js.map +1 -1
  104. package/elasticache/getReplicationGroup.d.ts +5 -0
  105. package/elasticache/getReplicationGroup.js.map +1 -1
  106. package/elasticache/index.d.ts +1 -0
  107. package/elasticache/index.js +5 -0
  108. package/elasticache/index.js.map +1 -1
  109. package/elasticache/replicationGroup.d.ts +54 -6
  110. package/elasticache/replicationGroup.js +32 -0
  111. package/elasticache/replicationGroup.js.map +1 -1
  112. package/elasticache/userGroupAssociation.d.ts +100 -0
  113. package/elasticache/userGroupAssociation.js +97 -0
  114. package/elasticache/userGroupAssociation.js.map +1 -0
  115. package/emr/cluster.d.ts +6 -6
  116. package/gamelift/alias.d.ts +2 -2
  117. package/gamelift/alias.js +2 -2
  118. package/gamelift/build.d.ts +6 -6
  119. package/gamelift/build.js +2 -2
  120. package/gamelift/fleet.d.ts +10 -14
  121. package/gamelift/fleet.js +2 -2
  122. package/gamelift/fleet.js.map +1 -1
  123. package/gamelift/gameServerGroup.d.ts +5 -5
  124. package/gamelift/gameServerGroup.js +3 -3
  125. package/gamelift/gameSessionQueue.d.ts +2 -2
  126. package/gamelift/gameSessionQueue.js +2 -2
  127. package/gamelift/script.d.ts +4 -4
  128. package/gamelift/script.js +2 -2
  129. package/getCanonicalUserId.d.ts +2 -0
  130. package/getCanonicalUserId.js +2 -0
  131. package/getCanonicalUserId.js.map +1 -1
  132. package/glue/schema.d.ts +3 -3
  133. package/grafana/index.d.ts +1 -0
  134. package/grafana/index.js +5 -0
  135. package/grafana/index.js.map +1 -1
  136. package/grafana/roleAssociation.d.ts +121 -0
  137. package/grafana/roleAssociation.js +98 -0
  138. package/grafana/roleAssociation.js.map +1 -0
  139. package/guardduty/ipset.d.ts +0 -1
  140. package/guardduty/ipset.js +0 -1
  141. package/guardduty/ipset.js.map +1 -1
  142. package/iam/getSamlProvider.d.ts +81 -0
  143. package/iam/getSamlProvider.js +39 -0
  144. package/iam/getSamlProvider.js.map +1 -0
  145. package/iam/group.d.ts +0 -2
  146. package/iam/group.js +0 -2
  147. package/iam/group.js.map +1 -1
  148. package/iam/index.d.ts +1 -0
  149. package/iam/index.js +1 -0
  150. package/iam/index.js.map +1 -1
  151. package/imagebuilder/getImagePipelines.d.ts +57 -0
  152. package/imagebuilder/getImagePipelines.js +40 -0
  153. package/imagebuilder/getImagePipelines.js.map +1 -0
  154. package/imagebuilder/index.d.ts +1 -0
  155. package/imagebuilder/index.js +1 -0
  156. package/imagebuilder/index.js.map +1 -1
  157. package/index.d.ts +3 -1
  158. package/index.js +7 -3
  159. package/index.js.map +1 -1
  160. package/iot/authorizer.d.ts +12 -0
  161. package/iot/authorizer.js +2 -0
  162. package/iot/authorizer.js.map +1 -1
  163. package/iot/index.d.ts +3 -0
  164. package/iot/index.js +15 -0
  165. package/iot/index.js.map +1 -1
  166. package/iot/indexingConfiguration.d.ts +98 -0
  167. package/iot/indexingConfiguration.js +88 -0
  168. package/iot/indexingConfiguration.js.map +1 -0
  169. package/iot/loggingOptions.d.ts +87 -0
  170. package/iot/loggingOptions.js +74 -0
  171. package/iot/loggingOptions.js.map +1 -0
  172. package/iot/provisioningTemplate.d.ts +232 -0
  173. package/iot/provisioningTemplate.js +144 -0
  174. package/iot/provisioningTemplate.js.map +1 -0
  175. package/keyspaces/index.d.ts +1 -0
  176. package/keyspaces/index.js +37 -0
  177. package/keyspaces/index.js.map +1 -0
  178. package/keyspaces/keyspace.d.ts +114 -0
  179. package/keyspaces/keyspace.js +77 -0
  180. package/keyspaces/keyspace.js.map +1 -0
  181. package/lambda/function.d.ts +44 -0
  182. package/lambda/function.js +34 -0
  183. package/lambda/function.js.map +1 -1
  184. package/lambda/functionUrl.d.ts +153 -0
  185. package/lambda/functionUrl.js +111 -0
  186. package/lambda/functionUrl.js.map +1 -0
  187. package/lambda/getFunction.d.ts +4 -0
  188. package/lambda/getFunction.js.map +1 -1
  189. package/lambda/getFunctionUrl.d.ts +85 -0
  190. package/lambda/getFunctionUrl.js +39 -0
  191. package/lambda/getFunctionUrl.js.map +1 -0
  192. package/lambda/index.d.ts +2 -0
  193. package/lambda/index.js +6 -0
  194. package/lambda/index.js.map +1 -1
  195. package/lambda/permission.d.ts +18 -6
  196. package/lambda/permission.js +2 -0
  197. package/lambda/permission.js.map +1 -1
  198. package/memorydb/getAcl.d.ts +75 -0
  199. package/memorydb/getAcl.js +37 -0
  200. package/memorydb/getAcl.js.map +1 -0
  201. package/memorydb/getCluster.d.ts +152 -0
  202. package/memorydb/getCluster.js +37 -0
  203. package/memorydb/getCluster.js.map +1 -0
  204. package/memorydb/getParameterGroup.d.ts +83 -0
  205. package/memorydb/getParameterGroup.js +37 -0
  206. package/memorydb/getParameterGroup.js.map +1 -0
  207. package/memorydb/getSnapshot.d.ts +87 -0
  208. package/memorydb/getSnapshot.js +37 -0
  209. package/memorydb/getSnapshot.js.map +1 -0
  210. package/memorydb/getSubnetGroup.d.ts +79 -0
  211. package/memorydb/getSubnetGroup.js +37 -0
  212. package/memorydb/getSubnetGroup.js.map +1 -0
  213. package/memorydb/getUser.d.ts +80 -0
  214. package/memorydb/getUser.js +37 -0
  215. package/memorydb/getUser.js.map +1 -0
  216. package/memorydb/index.d.ts +6 -0
  217. package/memorydb/index.js +6 -0
  218. package/memorydb/index.js.map +1 -1
  219. package/msk/getCluster.d.ts +4 -0
  220. package/msk/getCluster.js.map +1 -1
  221. package/mskconnect/connector.d.ts +270 -0
  222. package/mskconnect/connector.js +166 -0
  223. package/mskconnect/connector.js.map +1 -0
  224. package/mskconnect/getConnector.d.ts +57 -0
  225. package/mskconnect/getConnector.js +36 -0
  226. package/mskconnect/getConnector.js.map +1 -0
  227. package/mskconnect/index.d.ts +2 -0
  228. package/mskconnect/index.js +6 -0
  229. package/mskconnect/index.js.map +1 -1
  230. package/mwaa/environment.d.ts +12 -0
  231. package/mwaa/environment.js +2 -0
  232. package/mwaa/environment.js.map +1 -1
  233. package/neptune/clusterEndpoint.d.ts +9 -0
  234. package/neptune/clusterEndpoint.js.map +1 -1
  235. package/opensearch/domain.d.ts +445 -0
  236. package/opensearch/domain.js +273 -0
  237. package/opensearch/domain.js.map +1 -0
  238. package/opensearch/domainPolicy.d.ts +93 -0
  239. package/opensearch/domainPolicy.js +90 -0
  240. package/opensearch/domainPolicy.js.map +1 -0
  241. package/opensearch/domainSamlOptions.d.ts +105 -0
  242. package/opensearch/domainSamlOptions.js +98 -0
  243. package/opensearch/domainSamlOptions.js.map +1 -0
  244. package/opensearch/getDomain.d.ts +144 -0
  245. package/opensearch/getDomain.js +37 -0
  246. package/opensearch/getDomain.js.map +1 -0
  247. package/opensearch/index.d.ts +4 -0
  248. package/opensearch/index.js +48 -0
  249. package/opensearch/index.js.map +1 -0
  250. package/organizations/account.d.ts +17 -5
  251. package/organizations/account.js +4 -2
  252. package/organizations/account.js.map +1 -1
  253. package/package.json +2 -2
  254. package/package.json.dev +2 -2
  255. package/qldb/getLedger.d.ts +10 -0
  256. package/qldb/getLedger.js +1 -0
  257. package/qldb/getLedger.js.map +1 -1
  258. package/qldb/index.d.ts +1 -0
  259. package/qldb/index.js +5 -0
  260. package/qldb/index.js.map +1 -1
  261. package/qldb/ledger.d.ts +12 -0
  262. package/qldb/ledger.js +2 -0
  263. package/qldb/ledger.js.map +1 -1
  264. package/qldb/stream.d.ts +159 -0
  265. package/qldb/stream.js +104 -0
  266. package/qldb/stream.js.map +1 -0
  267. package/rds/cluster.d.ts +3 -3
  268. package/rds/clusterActivityStream.d.ts +138 -0
  269. package/rds/clusterActivityStream.js +112 -0
  270. package/rds/clusterActivityStream.js.map +1 -0
  271. package/rds/index.d.ts +2 -0
  272. package/rds/index.js +10 -0
  273. package/rds/index.js.map +1 -1
  274. package/rds/instance.d.ts +3 -3
  275. package/rds/instanceAutomatedBackupsReplication.d.ts +153 -0
  276. package/rds/instanceAutomatedBackupsReplication.js +127 -0
  277. package/rds/instanceAutomatedBackupsReplication.js.map +1 -0
  278. package/route53/getTrafficPolicyDocument.d.ts +125 -0
  279. package/route53/getTrafficPolicyDocument.js +72 -0
  280. package/route53/getTrafficPolicyDocument.js.map +1 -0
  281. package/route53/index.d.ts +3 -0
  282. package/route53/index.js +11 -0
  283. package/route53/index.js.map +1 -1
  284. package/route53/trafficPolicy.d.ts +122 -0
  285. package/route53/trafficPolicy.js +94 -0
  286. package/route53/trafficPolicy.js.map +1 -0
  287. package/route53/trafficPolicyInstance.d.ts +121 -0
  288. package/route53/trafficPolicyInstance.js +94 -0
  289. package/route53/trafficPolicyInstance.js.map +1 -0
  290. package/s3/bucketObject.d.ts +2 -12
  291. package/s3/bucketObject.js +2 -0
  292. package/s3/bucketObject.js.map +1 -1
  293. package/s3/bucketObjectLockConfigurationV2.d.ts +35 -2
  294. package/s3/bucketObjectLockConfigurationV2.js +35 -2
  295. package/s3/bucketObjectLockConfigurationV2.js.map +1 -1
  296. package/s3/bucketV2.d.ts +518 -32
  297. package/s3/bucketV2.js +378 -12
  298. package/s3/bucketV2.js.map +1 -1
  299. package/s3/getCanonicalUserId.d.ts +2 -0
  300. package/s3/getCanonicalUserId.js +2 -0
  301. package/s3/getCanonicalUserId.js.map +1 -1
  302. package/ses/identityNotificationTopic.d.ts +10 -10
  303. package/ses/identityNotificationTopic.js +1 -1
  304. package/ssm/getDocument.d.ts +3 -3
  305. package/ssm/getMaintenanceWindows.d.ts +53 -0
  306. package/ssm/getMaintenanceWindows.js +40 -0
  307. package/ssm/getMaintenanceWindows.js.map +1 -0
  308. package/ssm/index.d.ts +1 -0
  309. package/ssm/index.js +1 -0
  310. package/ssm/index.js.map +1 -1
  311. package/ssm/maintenanceWindowTask.d.ts +30 -2
  312. package/ssm/maintenanceWindowTask.js +6 -6
  313. package/ssm/maintenanceWindowTask.js.map +1 -1
  314. package/storagegateway/gateway.d.ts +12 -0
  315. package/storagegateway/gateway.js +2 -0
  316. package/storagegateway/gateway.js.map +1 -1
  317. package/storagegateway/nfsFileShare.d.ts +24 -0
  318. package/storagegateway/nfsFileShare.js +4 -0
  319. package/storagegateway/nfsFileShare.js.map +1 -1
  320. package/types/input.d.ts +1658 -413
  321. package/types/output.d.ts +1672 -285
  322. package/xray/group.d.ts +17 -0
  323. package/xray/group.js +6 -0
  324. package/xray/group.js.map +1 -1
@@ -0,0 +1,445 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "../types";
3
+ /**
4
+ * Manages an Amazon OpenSearch Domain.
5
+ *
6
+ * ## Elasticsearch vs. OpenSearch
7
+ *
8
+ * Amazon OpenSearch Service is the successor to Amazon Elasticsearch Service and supports OpenSearch and legacy Elasticsearch OSS (up to 7.10, the final open source version of the software).
9
+ *
10
+ * OpenSearch Domain configurations are similar in many ways to Elasticsearch Domain configurations. However, there are important differences including these:
11
+ *
12
+ * * OpenSearch has `engineVersion` while Elasticsearch has `elastisearchVersion`
13
+ * * Versions are specified differently - _e.g._, `Elastisearch_7.10` with OpenSearch vs. `7.10` for Elasticsearch.
14
+ * * `instanceType` argument values end in `search` for OpenSearch vs. `elasticsearch` for Elasticsearch (_e.g._, `t2.micro.search` vs. `t2.micro.elasticsearch`).
15
+ * * The AWS-managed service-linked role for OpenSearch is called `AWSServiceRoleForAmazonOpenSearchService` instead of `AWSServiceRoleForAmazonElasticsearchService` for Elasticsearch.
16
+ *
17
+ * There are also some potentially unexpected similarities in configurations:
18
+ *
19
+ * * ARNs for both are prefaced with `arn:aws:es:`.
20
+ * * Both OpenSearch and Elasticsearch use assume role policies that refer to the `Principal` `Service` as `es.amazonaws.com`.
21
+ * * IAM policy actions, such as those you will find in `accessPolicies`, are prefaced with `es:` for both.
22
+ *
23
+ * ## Example Usage
24
+ * ### Basic Usage
25
+ *
26
+ * ```typescript
27
+ * import * as pulumi from "@pulumi/pulumi";
28
+ * import * as aws from "@pulumi/aws";
29
+ *
30
+ * const example = new aws.opensearch.Domain("example", {
31
+ * clusterConfig: {
32
+ * instanceType: "r4.large.search",
33
+ * },
34
+ * domainName: "example",
35
+ * engineVersion: "Elasticsearch_7.10",
36
+ * tags: {
37
+ * Domain: "TestDomain",
38
+ * },
39
+ * });
40
+ * ```
41
+ * ### Access Policy
42
+ *
43
+ * > See also: [`aws.opensearch.DomainPolicy` resource](https://www.terraform.io/docs/providers/aws/r/opensearch_domain_policy.html)
44
+ *
45
+ * ```typescript
46
+ * import * as pulumi from "@pulumi/pulumi";
47
+ * import * as aws from "@pulumi/aws";
48
+ *
49
+ * const config = new pulumi.Config();
50
+ * const domain = config.get("domain") || "tf-test";
51
+ * const currentRegion = aws.getRegion({});
52
+ * const currentCallerIdentity = aws.getCallerIdentity({});
53
+ * const example = new aws.opensearch.Domain("example", {
54
+ * domainName: domain,
55
+ * accessPolicies: Promise.all([currentRegion, currentCallerIdentity]).then(([currentRegion, currentCallerIdentity]) => `{
56
+ * "Version": "2012-10-17",
57
+ * "Statement": [
58
+ * {
59
+ * "Action": "es:*",
60
+ * "Principal": "*",
61
+ * "Effect": "Allow",
62
+ * "Resource": "arn:aws:es:${currentRegion.name}:${currentCallerIdentity.accountId}:domain/${domain}/*",
63
+ * "Condition": {
64
+ * "IpAddress": {"aws:SourceIp": ["66.193.100.22/32"]}
65
+ * }
66
+ * }
67
+ * ]
68
+ * }
69
+ * `),
70
+ * });
71
+ * ```
72
+ * ### Log Publishing to CloudWatch Logs
73
+ *
74
+ * ```typescript
75
+ * import * as pulumi from "@pulumi/pulumi";
76
+ * import * as aws from "@pulumi/aws";
77
+ *
78
+ * const exampleLogGroup = new aws.cloudwatch.LogGroup("exampleLogGroup", {});
79
+ * const exampleLogResourcePolicy = new aws.cloudwatch.LogResourcePolicy("exampleLogResourcePolicy", {
80
+ * policyName: "example",
81
+ * policyDocument: `{
82
+ * "Version": "2012-10-17",
83
+ * "Statement": [
84
+ * {
85
+ * "Effect": "Allow",
86
+ * "Principal": {
87
+ * "Service": "es.amazonaws.com"
88
+ * },
89
+ * "Action": [
90
+ * "logs:PutLogEvents",
91
+ * "logs:PutLogEventsBatch",
92
+ * "logs:CreateLogStream"
93
+ * ],
94
+ * "Resource": "arn:aws:logs:*"
95
+ * }
96
+ * ]
97
+ * }
98
+ * `,
99
+ * });
100
+ * // .. other configuration ...
101
+ * const exampleDomain = new aws.opensearch.Domain("exampleDomain", {logPublishingOptions: [{
102
+ * cloudwatchLogGroupArn: exampleLogGroup.arn,
103
+ * logType: "INDEX_SLOW_LOGS",
104
+ * }]});
105
+ * ```
106
+ * ### VPC based OpenSearch
107
+ *
108
+ * ```typescript
109
+ * import * as pulumi from "@pulumi/pulumi";
110
+ * import * as aws from "@pulumi/aws";
111
+ *
112
+ * const config = new pulumi.Config();
113
+ * const vpc = config.requireObject("vpc");
114
+ * const domain = config.get("domain") || "tf-test";
115
+ * const exampleVpc = aws.ec2.getVpc({
116
+ * tags: {
117
+ * Name: vpc,
118
+ * },
119
+ * });
120
+ * const exampleSubnetIds = exampleVpc.then(exampleVpc => aws.ec2.getSubnetIds({
121
+ * vpcId: exampleVpc.id,
122
+ * tags: {
123
+ * Tier: "private",
124
+ * },
125
+ * }));
126
+ * const currentRegion = aws.getRegion({});
127
+ * const currentCallerIdentity = aws.getCallerIdentity({});
128
+ * const exampleSecurityGroup = new aws.ec2.SecurityGroup("exampleSecurityGroup", {
129
+ * description: "Managed by Terraform",
130
+ * vpcId: exampleVpc.then(exampleVpc => exampleVpc.id),
131
+ * ingress: [{
132
+ * fromPort: 443,
133
+ * toPort: 443,
134
+ * protocol: "tcp",
135
+ * cidrBlocks: [exampleVpc.then(exampleVpc => exampleVpc.cidrBlock)],
136
+ * }],
137
+ * });
138
+ * const exampleServiceLinkedRole = new aws.iam.ServiceLinkedRole("exampleServiceLinkedRole", {awsServiceName: "opensearchservice.amazonaws.com"});
139
+ * const exampleDomain = new aws.opensearch.Domain("exampleDomain", {
140
+ * domainName: domain,
141
+ * engineVersion: "OpenSearch_1.0",
142
+ * clusterConfig: {
143
+ * instanceType: "m4.large.search",
144
+ * zoneAwarenessEnabled: true,
145
+ * },
146
+ * vpcOptions: {
147
+ * subnetIds: [
148
+ * exampleSubnetIds.then(exampleSubnetIds => exampleSubnetIds.ids?[0]),
149
+ * exampleSubnetIds.then(exampleSubnetIds => exampleSubnetIds.ids?[1]),
150
+ * ],
151
+ * securityGroupIds: [exampleSecurityGroup.id],
152
+ * },
153
+ * advancedOptions: {
154
+ * "rest.action.multi.allow_explicit_index": "true",
155
+ * },
156
+ * accessPolicies: Promise.all([currentRegion, currentCallerIdentity]).then(([currentRegion, currentCallerIdentity]) => `{
157
+ * "Version": "2012-10-17",
158
+ * "Statement": [
159
+ * {
160
+ * "Action": "es:*",
161
+ * "Principal": "*",
162
+ * "Effect": "Allow",
163
+ * "Resource": "arn:aws:es:${currentRegion.name}:${currentCallerIdentity.accountId}:domain/${domain}/*"
164
+ * }
165
+ * ]
166
+ * }
167
+ * `),
168
+ * tags: {
169
+ * Domain: "TestDomain",
170
+ * },
171
+ * }, {
172
+ * dependsOn: [exampleServiceLinkedRole],
173
+ * });
174
+ * ```
175
+ *
176
+ * ## Import
177
+ *
178
+ * OpenSearch domains can be imported using the `domain_name`, e.g.,
179
+ *
180
+ * ```sh
181
+ * $ pulumi import aws:opensearch/domain:Domain example domain_name
182
+ * ```
183
+ */
184
+ export declare class Domain extends pulumi.CustomResource {
185
+ /**
186
+ * Get an existing Domain resource's state with the given name, ID, and optional extra
187
+ * properties used to qualify the lookup.
188
+ *
189
+ * @param name The _unique_ name of the resulting resource.
190
+ * @param id The _unique_ provider ID of the resource to lookup.
191
+ * @param state Any extra arguments used during the lookup.
192
+ * @param opts Optional settings to control the behavior of the CustomResource.
193
+ */
194
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DomainState, opts?: pulumi.CustomResourceOptions): Domain;
195
+ /**
196
+ * Returns true if the given object is an instance of Domain. This is designed to work even
197
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
198
+ */
199
+ static isInstance(obj: any): obj is Domain;
200
+ /**
201
+ * IAM policy document specifying the access policies for the domain.
202
+ */
203
+ readonly accessPolicies: pulumi.Output<string>;
204
+ readonly advancedOptions: pulumi.Output<{
205
+ [key: string]: string;
206
+ }>;
207
+ /**
208
+ * Configuration block for [fine-grained access control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html). Detailed below.
209
+ */
210
+ readonly advancedSecurityOptions: pulumi.Output<outputs.opensearch.DomainAdvancedSecurityOptions>;
211
+ /**
212
+ * ARN of the domain.
213
+ */
214
+ readonly arn: pulumi.Output<string>;
215
+ /**
216
+ * Configuration block for the Auto-Tune options of the domain. Detailed below.
217
+ */
218
+ readonly autoTuneOptions: pulumi.Output<outputs.opensearch.DomainAutoTuneOptions>;
219
+ /**
220
+ * Configuration block for the cluster of the domain. Detailed below.
221
+ */
222
+ readonly clusterConfig: pulumi.Output<outputs.opensearch.DomainClusterConfig>;
223
+ /**
224
+ * Configuration block for authenticating Kibana with Cognito. Detailed below.
225
+ */
226
+ readonly cognitoOptions: pulumi.Output<outputs.opensearch.DomainCognitoOptions | undefined>;
227
+ /**
228
+ * Configuration block for domain endpoint HTTP(S) related options. Detailed below.
229
+ */
230
+ readonly domainEndpointOptions: pulumi.Output<outputs.opensearch.DomainDomainEndpointOptions>;
231
+ /**
232
+ * Unique identifier for the domain.
233
+ */
234
+ readonly domainId: pulumi.Output<string>;
235
+ /**
236
+ * Name of the domain.
237
+ */
238
+ readonly domainName: pulumi.Output<string>;
239
+ /**
240
+ * Configuration block for EBS related options, may be required based on chosen [instance size](https://aws.amazon.com/opensearch-service/pricing/). Detailed below.
241
+ */
242
+ readonly ebsOptions: pulumi.Output<outputs.opensearch.DomainEbsOptions>;
243
+ /**
244
+ * Configuration block for encrypt at rest options. Only available for [certain instance types](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html). Detailed below.
245
+ */
246
+ readonly encryptAtRest: pulumi.Output<outputs.opensearch.DomainEncryptAtRest>;
247
+ /**
248
+ * Domain-specific endpoint used to submit index, search, and data upload requests.
249
+ */
250
+ readonly endpoint: pulumi.Output<string>;
251
+ /**
252
+ * Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). Defaults to `OpenSearch_1.1`.
253
+ */
254
+ readonly engineVersion: pulumi.Output<string | undefined>;
255
+ /**
256
+ * Domain-specific endpoint for kibana without https scheme.
257
+ */
258
+ readonly kibanaEndpoint: pulumi.Output<string>;
259
+ /**
260
+ * Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below.
261
+ */
262
+ readonly logPublishingOptions: pulumi.Output<outputs.opensearch.DomainLogPublishingOption[] | undefined>;
263
+ /**
264
+ * Configuration block for node-to-node encryption options. Detailed below.
265
+ */
266
+ readonly nodeToNodeEncryption: pulumi.Output<outputs.opensearch.DomainNodeToNodeEncryption>;
267
+ /**
268
+ * Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots.
269
+ */
270
+ readonly snapshotOptions: pulumi.Output<outputs.opensearch.DomainSnapshotOptions | undefined>;
271
+ readonly tags: pulumi.Output<{
272
+ [key: string]: string;
273
+ } | undefined>;
274
+ readonly tagsAll: pulumi.Output<{
275
+ [key: string]: string;
276
+ }>;
277
+ /**
278
+ * Configuration block for VPC related options. Adding or removing this configuration forces a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)). Detailed below.
279
+ */
280
+ readonly vpcOptions: pulumi.Output<outputs.opensearch.DomainVpcOptions | undefined>;
281
+ /**
282
+ * Create a Domain resource with the given unique name, arguments, and options.
283
+ *
284
+ * @param name The _unique_ name of the resource.
285
+ * @param args The arguments to use to populate this resource's properties.
286
+ * @param opts A bag of options that control this resource's behavior.
287
+ */
288
+ constructor(name: string, args: DomainArgs, opts?: pulumi.CustomResourceOptions);
289
+ }
290
+ /**
291
+ * Input properties used for looking up and filtering Domain resources.
292
+ */
293
+ export interface DomainState {
294
+ /**
295
+ * IAM policy document specifying the access policies for the domain.
296
+ */
297
+ accessPolicies?: pulumi.Input<string>;
298
+ advancedOptions?: pulumi.Input<{
299
+ [key: string]: pulumi.Input<string>;
300
+ }>;
301
+ /**
302
+ * Configuration block for [fine-grained access control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html). Detailed below.
303
+ */
304
+ advancedSecurityOptions?: pulumi.Input<inputs.opensearch.DomainAdvancedSecurityOptions>;
305
+ /**
306
+ * ARN of the domain.
307
+ */
308
+ arn?: pulumi.Input<string>;
309
+ /**
310
+ * Configuration block for the Auto-Tune options of the domain. Detailed below.
311
+ */
312
+ autoTuneOptions?: pulumi.Input<inputs.opensearch.DomainAutoTuneOptions>;
313
+ /**
314
+ * Configuration block for the cluster of the domain. Detailed below.
315
+ */
316
+ clusterConfig?: pulumi.Input<inputs.opensearch.DomainClusterConfig>;
317
+ /**
318
+ * Configuration block for authenticating Kibana with Cognito. Detailed below.
319
+ */
320
+ cognitoOptions?: pulumi.Input<inputs.opensearch.DomainCognitoOptions>;
321
+ /**
322
+ * Configuration block for domain endpoint HTTP(S) related options. Detailed below.
323
+ */
324
+ domainEndpointOptions?: pulumi.Input<inputs.opensearch.DomainDomainEndpointOptions>;
325
+ /**
326
+ * Unique identifier for the domain.
327
+ */
328
+ domainId?: pulumi.Input<string>;
329
+ /**
330
+ * Name of the domain.
331
+ */
332
+ domainName?: pulumi.Input<string>;
333
+ /**
334
+ * Configuration block for EBS related options, may be required based on chosen [instance size](https://aws.amazon.com/opensearch-service/pricing/). Detailed below.
335
+ */
336
+ ebsOptions?: pulumi.Input<inputs.opensearch.DomainEbsOptions>;
337
+ /**
338
+ * Configuration block for encrypt at rest options. Only available for [certain instance types](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html). Detailed below.
339
+ */
340
+ encryptAtRest?: pulumi.Input<inputs.opensearch.DomainEncryptAtRest>;
341
+ /**
342
+ * Domain-specific endpoint used to submit index, search, and data upload requests.
343
+ */
344
+ endpoint?: pulumi.Input<string>;
345
+ /**
346
+ * Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). Defaults to `OpenSearch_1.1`.
347
+ */
348
+ engineVersion?: pulumi.Input<string>;
349
+ /**
350
+ * Domain-specific endpoint for kibana without https scheme.
351
+ */
352
+ kibanaEndpoint?: pulumi.Input<string>;
353
+ /**
354
+ * Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below.
355
+ */
356
+ logPublishingOptions?: pulumi.Input<pulumi.Input<inputs.opensearch.DomainLogPublishingOption>[]>;
357
+ /**
358
+ * Configuration block for node-to-node encryption options. Detailed below.
359
+ */
360
+ nodeToNodeEncryption?: pulumi.Input<inputs.opensearch.DomainNodeToNodeEncryption>;
361
+ /**
362
+ * Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots.
363
+ */
364
+ snapshotOptions?: pulumi.Input<inputs.opensearch.DomainSnapshotOptions>;
365
+ tags?: pulumi.Input<{
366
+ [key: string]: pulumi.Input<string>;
367
+ }>;
368
+ tagsAll?: pulumi.Input<{
369
+ [key: string]: pulumi.Input<string>;
370
+ }>;
371
+ /**
372
+ * Configuration block for VPC related options. Adding or removing this configuration forces a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)). Detailed below.
373
+ */
374
+ vpcOptions?: pulumi.Input<inputs.opensearch.DomainVpcOptions>;
375
+ }
376
+ /**
377
+ * The set of arguments for constructing a Domain resource.
378
+ */
379
+ export interface DomainArgs {
380
+ /**
381
+ * IAM policy document specifying the access policies for the domain.
382
+ */
383
+ accessPolicies?: pulumi.Input<string>;
384
+ advancedOptions?: pulumi.Input<{
385
+ [key: string]: pulumi.Input<string>;
386
+ }>;
387
+ /**
388
+ * Configuration block for [fine-grained access control](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html). Detailed below.
389
+ */
390
+ advancedSecurityOptions?: pulumi.Input<inputs.opensearch.DomainAdvancedSecurityOptions>;
391
+ /**
392
+ * Configuration block for the Auto-Tune options of the domain. Detailed below.
393
+ */
394
+ autoTuneOptions?: pulumi.Input<inputs.opensearch.DomainAutoTuneOptions>;
395
+ /**
396
+ * Configuration block for the cluster of the domain. Detailed below.
397
+ */
398
+ clusterConfig?: pulumi.Input<inputs.opensearch.DomainClusterConfig>;
399
+ /**
400
+ * Configuration block for authenticating Kibana with Cognito. Detailed below.
401
+ */
402
+ cognitoOptions?: pulumi.Input<inputs.opensearch.DomainCognitoOptions>;
403
+ /**
404
+ * Configuration block for domain endpoint HTTP(S) related options. Detailed below.
405
+ */
406
+ domainEndpointOptions?: pulumi.Input<inputs.opensearch.DomainDomainEndpointOptions>;
407
+ /**
408
+ * Name of the domain.
409
+ */
410
+ domainName: pulumi.Input<string>;
411
+ /**
412
+ * Configuration block for EBS related options, may be required based on chosen [instance size](https://aws.amazon.com/opensearch-service/pricing/). Detailed below.
413
+ */
414
+ ebsOptions?: pulumi.Input<inputs.opensearch.DomainEbsOptions>;
415
+ /**
416
+ * Configuration block for encrypt at rest options. Only available for [certain instance types](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html). Detailed below.
417
+ */
418
+ encryptAtRest?: pulumi.Input<inputs.opensearch.DomainEncryptAtRest>;
419
+ /**
420
+ * Either `Elasticsearch_X.Y` or `OpenSearch_X.Y` to specify the engine version for the Amazon OpenSearch Service domain. For example, `OpenSearch_1.0` or `Elasticsearch_7.9`. See [Creating and managing Amazon OpenSearch Service domains](http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains). Defaults to `OpenSearch_1.1`.
421
+ */
422
+ engineVersion?: pulumi.Input<string>;
423
+ /**
424
+ * Configuration block for publishing slow and application logs to CloudWatch Logs. This block can be declared multiple times, for each log_type, within the same resource. Detailed below.
425
+ */
426
+ logPublishingOptions?: pulumi.Input<pulumi.Input<inputs.opensearch.DomainLogPublishingOption>[]>;
427
+ /**
428
+ * Configuration block for node-to-node encryption options. Detailed below.
429
+ */
430
+ nodeToNodeEncryption?: pulumi.Input<inputs.opensearch.DomainNodeToNodeEncryption>;
431
+ /**
432
+ * Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots.
433
+ */
434
+ snapshotOptions?: pulumi.Input<inputs.opensearch.DomainSnapshotOptions>;
435
+ tags?: pulumi.Input<{
436
+ [key: string]: pulumi.Input<string>;
437
+ }>;
438
+ tagsAll?: pulumi.Input<{
439
+ [key: string]: pulumi.Input<string>;
440
+ }>;
441
+ /**
442
+ * Configuration block for VPC related options. Adding or removing this configuration forces a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)). Detailed below.
443
+ */
444
+ vpcOptions?: pulumi.Input<inputs.opensearch.DomainVpcOptions>;
445
+ }