@pulumi/aws 7.17.0-alpha.1770139809 → 7.17.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 (223) hide show
  1. package/acm/certificate.d.ts +2 -2
  2. package/acm/certificate.js +2 -2
  3. package/acmpca/certificate.d.ts +2 -2
  4. package/acmpca/certificate.js +2 -2
  5. package/apigateway/domainName.d.ts +12 -0
  6. package/apigateway/domainName.js +2 -0
  7. package/apigateway/domainName.js.map +1 -1
  8. package/apigatewayv2/domainName.d.ts +12 -0
  9. package/apigatewayv2/domainName.js +2 -0
  10. package/apigatewayv2/domainName.js.map +1 -1
  11. package/apigatewayv2/index.d.ts +3 -0
  12. package/apigatewayv2/index.js +6 -1
  13. package/apigatewayv2/index.js.map +1 -1
  14. package/apigatewayv2/routingRule.d.ts +166 -0
  15. package/apigatewayv2/routingRule.js +113 -0
  16. package/apigatewayv2/routingRule.js.map +1 -0
  17. package/arcregionswitch/getPlan.d.ts +118 -0
  18. package/arcregionswitch/getPlan.js +56 -0
  19. package/arcregionswitch/getPlan.js.map +1 -0
  20. package/arcregionswitch/getRoute53HealthChecks.d.ts +80 -0
  21. package/arcregionswitch/getRoute53HealthChecks.js +56 -0
  22. package/arcregionswitch/getRoute53HealthChecks.js.map +1 -0
  23. package/arcregionswitch/index.d.ts +9 -0
  24. package/arcregionswitch/index.js +28 -0
  25. package/arcregionswitch/index.js.map +1 -0
  26. package/arcregionswitch/plan.d.ts +384 -0
  27. package/arcregionswitch/plan.js +253 -0
  28. package/arcregionswitch/plan.js.map +1 -0
  29. package/autoscaling/group.d.ts +3 -3
  30. package/bedrock/agentDataSource.d.ts +37 -0
  31. package/bedrock/agentDataSource.js +37 -0
  32. package/bedrock/agentDataSource.js.map +1 -1
  33. package/cleanrooms/collaboration.d.ts +27 -59
  34. package/cleanrooms/collaboration.js.map +1 -1
  35. package/cloudfront/anycastIpList.d.ts +150 -0
  36. package/cloudfront/anycastIpList.js +91 -0
  37. package/cloudfront/anycastIpList.js.map +1 -0
  38. package/cloudfront/index.d.ts +3 -0
  39. package/cloudfront/index.js +6 -1
  40. package/cloudfront/index.js.map +1 -1
  41. package/cloudfront/multitenantDistribution.d.ts +65 -0
  42. package/cloudfront/multitenantDistribution.js +65 -0
  43. package/cloudfront/multitenantDistribution.js.map +1 -1
  44. package/codebuild/webhook.d.ts +2 -2
  45. package/codebuild/webhook.js +2 -2
  46. package/codepipeline/webhook.d.ts +2 -2
  47. package/codepipeline/webhook.js +2 -2
  48. package/docdb/clusterInstance.d.ts +72 -140
  49. package/docdb/clusterInstance.js +4 -7
  50. package/docdb/clusterInstance.js.map +1 -1
  51. package/dynamodb/table.d.ts +92 -3
  52. package/dynamodb/table.js +83 -0
  53. package/dynamodb/table.js.map +1 -1
  54. package/ec2/getVpcIpamPool.d.ts +4 -0
  55. package/ec2/getVpcIpamPool.js.map +1 -1
  56. package/ec2/index.d.ts +3 -0
  57. package/ec2/index.js +6 -1
  58. package/ec2/index.js.map +1 -1
  59. package/ec2/launchTemplate.d.ts +3 -0
  60. package/ec2/launchTemplate.js +2 -0
  61. package/ec2/launchTemplate.js.map +1 -1
  62. package/ec2/placementGroup.d.ts +3 -3
  63. package/ec2/securityGroup.d.ts +1 -1
  64. package/ec2/securityGroup.js +1 -1
  65. package/ec2/subnet.d.ts +107 -14
  66. package/ec2/subnet.js +59 -0
  67. package/ec2/subnet.js.map +1 -1
  68. package/ec2/vpcIpamPool.d.ts +54 -0
  69. package/ec2/vpcIpamPool.js +42 -0
  70. package/ec2/vpcIpamPool.js.map +1 -1
  71. package/ec2/vpcIpamResourceDiscovery.d.ts +12 -0
  72. package/ec2/vpcIpamResourceDiscovery.js +2 -0
  73. package/ec2/vpcIpamResourceDiscovery.js.map +1 -1
  74. package/ec2/vpcSecurityGroupRulesExclusive.d.ts +93 -0
  75. package/ec2/vpcSecurityGroupRulesExclusive.js +73 -0
  76. package/ec2/vpcSecurityGroupRulesExclusive.js.map +1 -0
  77. package/ec2transitgateway/vpcAttachment.d.ts +0 -18
  78. package/ec2transitgateway/vpcAttachment.js.map +1 -1
  79. package/ecr/accountSetting.d.ts +19 -4
  80. package/ecr/accountSetting.js +13 -1
  81. package/ecr/accountSetting.js.map +1 -1
  82. package/eks/addon.d.ts +46 -0
  83. package/eks/addon.js +46 -0
  84. package/eks/addon.js.map +1 -1
  85. package/fsx/windowsFileSystem.d.ts +22 -0
  86. package/fsx/windowsFileSystem.js +22 -0
  87. package/fsx/windowsFileSystem.js.map +1 -1
  88. package/index.d.ts +3 -1
  89. package/index.js +10 -6
  90. package/index.js.map +1 -1
  91. package/invoicing/invoiceUnit.d.ts +9 -3
  92. package/invoicing/invoiceUnit.js.map +1 -1
  93. package/iot/caCertificate.d.ts +4 -4
  94. package/iot/caCertificate.js +4 -4
  95. package/iot/getEndpoint.d.ts +12 -12
  96. package/iot/getEndpoint.js +12 -12
  97. package/iot/getRegistrationCode.d.ts +4 -4
  98. package/iot/getRegistrationCode.js +4 -4
  99. package/lambda/function.d.ts +3 -3
  100. package/memorydb/user.d.ts +1 -1
  101. package/memorydb/user.js +1 -1
  102. package/notifications/index.d.ts +12 -0
  103. package/notifications/index.js +21 -1
  104. package/notifications/index.js.map +1 -1
  105. package/notifications/managedNotificationAccountContactAssociation.d.ts +85 -0
  106. package/notifications/managedNotificationAccountContactAssociation.js +82 -0
  107. package/notifications/managedNotificationAccountContactAssociation.js.map +1 -0
  108. package/notifications/managedNotificationAdditionalChannelAssociation.d.ts +89 -0
  109. package/notifications/managedNotificationAdditionalChannelAssociation.js +86 -0
  110. package/notifications/managedNotificationAdditionalChannelAssociation.js.map +1 -0
  111. package/notifications/organizationalUnitAssociation.d.ts +121 -0
  112. package/notifications/organizationalUnitAssociation.js +118 -0
  113. package/notifications/organizationalUnitAssociation.js.map +1 -0
  114. package/notifications/organizationsAccess.d.ts +79 -0
  115. package/notifications/organizationsAccess.js +80 -0
  116. package/notifications/organizationsAccess.js.map +1 -0
  117. package/odb/network.d.ts +48 -0
  118. package/odb/network.js +8 -0
  119. package/odb/network.js.map +1 -1
  120. package/opensearch/application.d.ts +334 -0
  121. package/opensearch/application.js +244 -0
  122. package/opensearch/application.js.map +1 -0
  123. package/opensearch/index.d.ts +3 -0
  124. package/opensearch/index.js +6 -1
  125. package/opensearch/index.js.map +1 -1
  126. package/organizations/getEntityPath.d.ts +63 -0
  127. package/organizations/getEntityPath.js +50 -0
  128. package/organizations/getEntityPath.js.map +1 -0
  129. package/organizations/getOrganization.d.ts +21 -2
  130. package/organizations/getOrganization.js +10 -4
  131. package/organizations/getOrganization.js.map +1 -1
  132. package/organizations/index.d.ts +4 -1
  133. package/organizations/index.js +4 -1
  134. package/organizations/index.js.map +1 -1
  135. package/organizations/organization.d.ts +12 -0
  136. package/organizations/organization.js +2 -0
  137. package/organizations/organization.js.map +1 -1
  138. package/package.json +2 -2
  139. package/ram/index.d.ts +6 -0
  140. package/ram/index.js +11 -1
  141. package/ram/index.js.map +1 -1
  142. package/ram/permission.d.ts +193 -0
  143. package/ram/permission.js +117 -0
  144. package/ram/permission.js.map +1 -0
  145. package/ram/resourceShareAssociationsExclusive.d.ts +123 -0
  146. package/ram/resourceShareAssociationsExclusive.js +69 -0
  147. package/ram/resourceShareAssociationsExclusive.js.map +1 -0
  148. package/resourcegroupstaggingapi/getRequiredTags.d.ts +64 -0
  149. package/resourcegroupstaggingapi/getRequiredTags.js +52 -0
  150. package/resourcegroupstaggingapi/getRequiredTags.js.map +1 -0
  151. package/resourcegroupstaggingapi/index.d.ts +3 -0
  152. package/resourcegroupstaggingapi/index.js +4 -1
  153. package/resourcegroupstaggingapi/index.js.map +1 -1
  154. package/route53/healthCheck.d.ts +4 -4
  155. package/s3/bucketReplicationConfig.d.ts +3 -0
  156. package/s3/bucketReplicationConfig.js.map +1 -1
  157. package/s3/getBucketObjectLockConfiguration.d.ts +94 -0
  158. package/s3/getBucketObjectLockConfiguration.js +58 -0
  159. package/s3/getBucketObjectLockConfiguration.js.map +1 -0
  160. package/s3/getBucketReplicationConfiguration.d.ts +81 -0
  161. package/s3/getBucketReplicationConfiguration.js +56 -0
  162. package/s3/getBucketReplicationConfiguration.js.map +1 -0
  163. package/s3/getObject.d.ts +14 -1
  164. package/s3/getObject.js +2 -0
  165. package/s3/getObject.js.map +1 -1
  166. package/s3/index.d.ts +6 -0
  167. package/s3/index.js +8 -2
  168. package/s3/index.js.map +1 -1
  169. package/s3control/getAccessPoints.d.ts +131 -0
  170. package/s3control/getAccessPoints.js +82 -0
  171. package/s3control/getAccessPoints.js.map +1 -0
  172. package/s3control/getMultiRegionAccessPoints.d.ts +76 -0
  173. package/s3control/getMultiRegionAccessPoints.js +54 -0
  174. package/s3control/getMultiRegionAccessPoints.js.map +1 -0
  175. package/s3control/index.d.ts +6 -0
  176. package/s3control/index.js +7 -1
  177. package/s3control/index.js.map +1 -1
  178. package/sagemaker/index.d.ts +9 -0
  179. package/sagemaker/index.js +16 -1
  180. package/sagemaker/index.js.map +1 -1
  181. package/sagemaker/labelingJob.d.ts +280 -0
  182. package/sagemaker/labelingJob.js +142 -0
  183. package/sagemaker/labelingJob.js.map +1 -0
  184. package/sagemaker/modelCard.d.ts +176 -0
  185. package/sagemaker/modelCard.js +111 -0
  186. package/sagemaker/modelCard.js.map +1 -0
  187. package/sagemaker/modelCardExportJob.d.ts +136 -0
  188. package/sagemaker/modelCardExportJob.js +97 -0
  189. package/sagemaker/modelCardExportJob.js.map +1 -0
  190. package/savingsplans/getSavingsPlan.d.ts +128 -0
  191. package/savingsplans/getSavingsPlan.js +52 -0
  192. package/savingsplans/getSavingsPlan.js.map +1 -0
  193. package/savingsplans/index.d.ts +6 -0
  194. package/savingsplans/index.js +25 -0
  195. package/savingsplans/index.js.map +1 -0
  196. package/savingsplans/savingsPlan.d.ts +297 -0
  197. package/savingsplans/savingsPlan.js +143 -0
  198. package/savingsplans/savingsPlan.js.map +1 -0
  199. package/sesv2/index.d.ts +3 -0
  200. package/sesv2/index.js +6 -1
  201. package/sesv2/index.js.map +1 -1
  202. package/sesv2/tenantResourceAssociation.d.ts +103 -0
  203. package/sesv2/tenantResourceAssociation.js +84 -0
  204. package/sesv2/tenantResourceAssociation.js.map +1 -0
  205. package/ssoadmin/index.d.ts +3 -0
  206. package/ssoadmin/index.js +6 -1
  207. package/ssoadmin/index.js.map +1 -1
  208. package/ssoadmin/managedPolicyAttachment.d.ts +2 -0
  209. package/ssoadmin/managedPolicyAttachment.js +2 -0
  210. package/ssoadmin/managedPolicyAttachment.js.map +1 -1
  211. package/ssoadmin/managedPolicyAttachmentsExclusive.d.ts +151 -0
  212. package/ssoadmin/managedPolicyAttachmentsExclusive.js +122 -0
  213. package/ssoadmin/managedPolicyAttachmentsExclusive.js.map +1 -0
  214. package/types/input.d.ts +1766 -15
  215. package/types/input.js.map +1 -1
  216. package/types/output.d.ts +2169 -14
  217. package/types/output.js.map +1 -1
  218. package/wafv2/getManagedRuleGroup.d.ts +127 -0
  219. package/wafv2/getManagedRuleGroup.js +62 -0
  220. package/wafv2/getManagedRuleGroup.js.map +1 -0
  221. package/wafv2/index.d.ts +3 -0
  222. package/wafv2/index.js +4 -1
  223. package/wafv2/index.js.map +1 -1
@@ -0,0 +1,384 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Resource for managing an Amazon ARC Region Switch plan.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ### Basic Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as aws from "@pulumi/aws";
14
+ *
15
+ * const example = new aws.iam.Role("example", {
16
+ * name: "arc-region-switch-role",
17
+ * assumeRolePolicy: JSON.stringify({
18
+ * Version: "2012-10-17",
19
+ * Statement: [{
20
+ * Action: "sts:AssumeRole",
21
+ * Effect: "Allow",
22
+ * Principal: {
23
+ * Service: "arc-region-switch.amazonaws.com",
24
+ * },
25
+ * }],
26
+ * }),
27
+ * });
28
+ * const examplePlan = new aws.arcregionswitch.Plan("example", {
29
+ * name: "example-plan",
30
+ * executionRole: example.arn,
31
+ * recoveryApproach: "activePassive",
32
+ * regions: [
33
+ * "us-east-1",
34
+ * "us-west-2",
35
+ * ],
36
+ * primaryRegion: "us-east-1",
37
+ * workflows: [
38
+ * {
39
+ * workflowTargetAction: "activate",
40
+ * workflowTargetRegion: "us-west-2",
41
+ * steps: [{
42
+ * name: "manual-approval",
43
+ * executionBlockType: "ManualApproval",
44
+ * executionApprovalConfigs: [{
45
+ * approvalRole: example.arn,
46
+ * timeoutMinutes: 60,
47
+ * }],
48
+ * }],
49
+ * },
50
+ * {
51
+ * workflowTargetAction: "deactivate",
52
+ * workflowTargetRegion: "us-east-1",
53
+ * steps: [{
54
+ * name: "manual-approval",
55
+ * executionBlockType: "ManualApproval",
56
+ * executionApprovalConfigs: [{
57
+ * approvalRole: example.arn,
58
+ * timeoutMinutes: 60,
59
+ * }],
60
+ * }],
61
+ * },
62
+ * ],
63
+ * });
64
+ * ```
65
+ *
66
+ * ### Complex Usage with Multiple Step Types
67
+ *
68
+ * ```typescript
69
+ * import * as pulumi from "@pulumi/pulumi";
70
+ * import * as aws from "@pulumi/aws";
71
+ *
72
+ * const complex = new aws.arcregionswitch.Plan("complex", {
73
+ * name: "complex-plan",
74
+ * executionRole: exampleAwsIamRole.arn,
75
+ * recoveryApproach: "activeActive",
76
+ * regions: [
77
+ * "us-east-1",
78
+ * "us-west-2",
79
+ * ],
80
+ * description: "Complex plan with multiple execution block types",
81
+ * recoveryTimeObjectiveMinutes: 60,
82
+ * associatedAlarms: [{
83
+ * name: "application-health-alarm",
84
+ * alarmType: "applicationHealth",
85
+ * resourceIdentifier: "arn:aws:cloudwatch:us-east-1:123456789012:alarm:MyAlarm",
86
+ * }],
87
+ * workflows: [
88
+ * {
89
+ * workflowTargetAction: "activate",
90
+ * workflowTargetRegion: "us-west-2",
91
+ * steps: [
92
+ * {
93
+ * name: "lambda-step",
94
+ * executionBlockType: "CustomActionLambda",
95
+ * customActionLambdaConfigs: [{
96
+ * regionToRun: "activatingRegion",
97
+ * retryIntervalMinutes: 5,
98
+ * timeoutMinutes: 30,
99
+ * lambdas: [{
100
+ * arn: example.arn,
101
+ * }],
102
+ * }],
103
+ * },
104
+ * {
105
+ * name: "parallel-step",
106
+ * executionBlockType: "Parallel",
107
+ * parallelConfigs: [{
108
+ * steps: [
109
+ * {
110
+ * name: "asg-scaling",
111
+ * executionBlockType: "EC2AutoScaling",
112
+ * ec2AsgCapacityIncreaseConfigs: [{
113
+ * asgs: [{
114
+ * arn: exampleAwsAutoscalingGroup.arn,
115
+ * }],
116
+ * targetPercent: 150,
117
+ * }],
118
+ * },
119
+ * {
120
+ * name: "ecs-scaling",
121
+ * executionBlockType: "ECSServiceScaling",
122
+ * ecsCapacityIncreaseConfigs: [{
123
+ * services: [{
124
+ * clusterArn: exampleAwsEcsCluster.arn,
125
+ * serviceArn: exampleAwsEcsService.arn,
126
+ * }],
127
+ * targetPercent: 200,
128
+ * }],
129
+ * },
130
+ * ],
131
+ * }],
132
+ * },
133
+ * ],
134
+ * },
135
+ * {
136
+ * workflowTargetAction: "deactivate",
137
+ * workflowTargetRegion: "us-east-1",
138
+ * steps: [{
139
+ * name: "route53-health-check",
140
+ * executionBlockType: "Route53HealthCheck",
141
+ * route53HealthCheckConfigs: [{
142
+ * hostedZoneId: exampleAwsRoute53Zone.zoneId,
143
+ * recordName: "api.example.com",
144
+ * }],
145
+ * }],
146
+ * },
147
+ * ],
148
+ * trigger: [{
149
+ * action: "activate",
150
+ * targetRegion: "us-west-2",
151
+ * minDelayMinutesBetweenExecutions: 30,
152
+ * conditions: [{
153
+ * associatedAlarmName: "application-health-alarm",
154
+ * condition: "red",
155
+ * }],
156
+ * }],
157
+ * tags: {
158
+ * Environment: "production",
159
+ * },
160
+ * });
161
+ * ```
162
+ *
163
+ * ## Import
164
+ *
165
+ * Using `pulumi import`, import Application Recovery Controller Region Switch Plan using the `arn`. For example:
166
+ *
167
+ * ```sh
168
+ * $ pulumi import aws:arcregionswitch/plan:Plan example arn:aws:arcregionswitch:us-east-1:123456789012:plan/example-plan
169
+ * ```
170
+ */
171
+ export declare class Plan extends pulumi.CustomResource {
172
+ /**
173
+ * Get an existing Plan resource's state with the given name, ID, and optional extra
174
+ * properties used to qualify the lookup.
175
+ *
176
+ * @param name The _unique_ name of the resulting resource.
177
+ * @param id The _unique_ provider ID of the resource to lookup.
178
+ * @param state Any extra arguments used during the lookup.
179
+ * @param opts Optional settings to control the behavior of the CustomResource.
180
+ */
181
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PlanState, opts?: pulumi.CustomResourceOptions): Plan;
182
+ /**
183
+ * Returns true if the given object is an instance of Plan. This is designed to work even
184
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
185
+ */
186
+ static isInstance(obj: any): obj is Plan;
187
+ /**
188
+ * ARN of the plan.
189
+ */
190
+ readonly arn: pulumi.Output<string>;
191
+ /**
192
+ * Set of CloudWatch alarms associated with the plan. See Associated Alarms below.
193
+ */
194
+ readonly associatedAlarms: pulumi.Output<outputs.arcregionswitch.PlanAssociatedAlarm[] | undefined>;
195
+ /**
196
+ * Description of the plan.
197
+ */
198
+ readonly description: pulumi.Output<string | undefined>;
199
+ /**
200
+ * ARN of the IAM role that ARC Region Switch will assume to execute the plan.
201
+ */
202
+ readonly executionRole: pulumi.Output<string>;
203
+ /**
204
+ * Name of the plan. Must be unique within the account.
205
+ */
206
+ readonly name: pulumi.Output<string>;
207
+ /**
208
+ * Primary region for the plan.
209
+ */
210
+ readonly primaryRegion: pulumi.Output<string | undefined>;
211
+ /**
212
+ * Recovery approach for the plan. Valid values: `activeActive`, `activePassive`.
213
+ */
214
+ readonly recoveryApproach: pulumi.Output<string>;
215
+ /**
216
+ * Recovery time objective in minutes.
217
+ */
218
+ readonly recoveryTimeObjectiveMinutes: pulumi.Output<number | undefined>;
219
+ /**
220
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
221
+ */
222
+ readonly region: pulumi.Output<string>;
223
+ /**
224
+ * List of AWS regions involved in the plan.
225
+ */
226
+ readonly regions: pulumi.Output<string[]>;
227
+ /**
228
+ * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
229
+ */
230
+ readonly tags: pulumi.Output<{
231
+ [key: string]: string;
232
+ } | undefined>;
233
+ /**
234
+ * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
235
+ */
236
+ readonly tagsAll: pulumi.Output<{
237
+ [key: string]: string;
238
+ }>;
239
+ readonly timeouts: pulumi.Output<outputs.arcregionswitch.PlanTimeouts | undefined>;
240
+ /**
241
+ * Set of triggers that can initiate the plan execution. See Trigger below.
242
+ */
243
+ readonly triggers: pulumi.Output<outputs.arcregionswitch.PlanTrigger[] | undefined>;
244
+ /**
245
+ * List of workflows that define the steps to execute. See Workflow below.
246
+ *
247
+ * The following arguments are optional:
248
+ */
249
+ readonly workflows: pulumi.Output<outputs.arcregionswitch.PlanWorkflow[] | undefined>;
250
+ /**
251
+ * Create a Plan resource with the given unique name, arguments, and options.
252
+ *
253
+ * @param name The _unique_ name of the resource.
254
+ * @param args The arguments to use to populate this resource's properties.
255
+ * @param opts A bag of options that control this resource's behavior.
256
+ */
257
+ constructor(name: string, args: PlanArgs, opts?: pulumi.CustomResourceOptions);
258
+ }
259
+ /**
260
+ * Input properties used for looking up and filtering Plan resources.
261
+ */
262
+ export interface PlanState {
263
+ /**
264
+ * ARN of the plan.
265
+ */
266
+ arn?: pulumi.Input<string>;
267
+ /**
268
+ * Set of CloudWatch alarms associated with the plan. See Associated Alarms below.
269
+ */
270
+ associatedAlarms?: pulumi.Input<pulumi.Input<inputs.arcregionswitch.PlanAssociatedAlarm>[]>;
271
+ /**
272
+ * Description of the plan.
273
+ */
274
+ description?: pulumi.Input<string>;
275
+ /**
276
+ * ARN of the IAM role that ARC Region Switch will assume to execute the plan.
277
+ */
278
+ executionRole?: pulumi.Input<string>;
279
+ /**
280
+ * Name of the plan. Must be unique within the account.
281
+ */
282
+ name?: pulumi.Input<string>;
283
+ /**
284
+ * Primary region for the plan.
285
+ */
286
+ primaryRegion?: pulumi.Input<string>;
287
+ /**
288
+ * Recovery approach for the plan. Valid values: `activeActive`, `activePassive`.
289
+ */
290
+ recoveryApproach?: pulumi.Input<string>;
291
+ /**
292
+ * Recovery time objective in minutes.
293
+ */
294
+ recoveryTimeObjectiveMinutes?: pulumi.Input<number>;
295
+ /**
296
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
297
+ */
298
+ region?: pulumi.Input<string>;
299
+ /**
300
+ * List of AWS regions involved in the plan.
301
+ */
302
+ regions?: pulumi.Input<pulumi.Input<string>[]>;
303
+ /**
304
+ * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
305
+ */
306
+ tags?: pulumi.Input<{
307
+ [key: string]: pulumi.Input<string>;
308
+ }>;
309
+ /**
310
+ * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
311
+ */
312
+ tagsAll?: pulumi.Input<{
313
+ [key: string]: pulumi.Input<string>;
314
+ }>;
315
+ timeouts?: pulumi.Input<inputs.arcregionswitch.PlanTimeouts>;
316
+ /**
317
+ * Set of triggers that can initiate the plan execution. See Trigger below.
318
+ */
319
+ triggers?: pulumi.Input<pulumi.Input<inputs.arcregionswitch.PlanTrigger>[]>;
320
+ /**
321
+ * List of workflows that define the steps to execute. See Workflow below.
322
+ *
323
+ * The following arguments are optional:
324
+ */
325
+ workflows?: pulumi.Input<pulumi.Input<inputs.arcregionswitch.PlanWorkflow>[]>;
326
+ }
327
+ /**
328
+ * The set of arguments for constructing a Plan resource.
329
+ */
330
+ export interface PlanArgs {
331
+ /**
332
+ * Set of CloudWatch alarms associated with the plan. See Associated Alarms below.
333
+ */
334
+ associatedAlarms?: pulumi.Input<pulumi.Input<inputs.arcregionswitch.PlanAssociatedAlarm>[]>;
335
+ /**
336
+ * Description of the plan.
337
+ */
338
+ description?: pulumi.Input<string>;
339
+ /**
340
+ * ARN of the IAM role that ARC Region Switch will assume to execute the plan.
341
+ */
342
+ executionRole: pulumi.Input<string>;
343
+ /**
344
+ * Name of the plan. Must be unique within the account.
345
+ */
346
+ name?: pulumi.Input<string>;
347
+ /**
348
+ * Primary region for the plan.
349
+ */
350
+ primaryRegion?: pulumi.Input<string>;
351
+ /**
352
+ * Recovery approach for the plan. Valid values: `activeActive`, `activePassive`.
353
+ */
354
+ recoveryApproach: pulumi.Input<string>;
355
+ /**
356
+ * Recovery time objective in minutes.
357
+ */
358
+ recoveryTimeObjectiveMinutes?: pulumi.Input<number>;
359
+ /**
360
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
361
+ */
362
+ region?: pulumi.Input<string>;
363
+ /**
364
+ * List of AWS regions involved in the plan.
365
+ */
366
+ regions: pulumi.Input<pulumi.Input<string>[]>;
367
+ /**
368
+ * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
369
+ */
370
+ tags?: pulumi.Input<{
371
+ [key: string]: pulumi.Input<string>;
372
+ }>;
373
+ timeouts?: pulumi.Input<inputs.arcregionswitch.PlanTimeouts>;
374
+ /**
375
+ * Set of triggers that can initiate the plan execution. See Trigger below.
376
+ */
377
+ triggers?: pulumi.Input<pulumi.Input<inputs.arcregionswitch.PlanTrigger>[]>;
378
+ /**
379
+ * List of workflows that define the steps to execute. See Workflow below.
380
+ *
381
+ * The following arguments are optional:
382
+ */
383
+ workflows?: pulumi.Input<pulumi.Input<inputs.arcregionswitch.PlanWorkflow>[]>;
384
+ }
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Plan = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Resource for managing an Amazon ARC Region Switch plan.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ### Basic Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as aws from "@pulumi/aws";
18
+ *
19
+ * const example = new aws.iam.Role("example", {
20
+ * name: "arc-region-switch-role",
21
+ * assumeRolePolicy: JSON.stringify({
22
+ * Version: "2012-10-17",
23
+ * Statement: [{
24
+ * Action: "sts:AssumeRole",
25
+ * Effect: "Allow",
26
+ * Principal: {
27
+ * Service: "arc-region-switch.amazonaws.com",
28
+ * },
29
+ * }],
30
+ * }),
31
+ * });
32
+ * const examplePlan = new aws.arcregionswitch.Plan("example", {
33
+ * name: "example-plan",
34
+ * executionRole: example.arn,
35
+ * recoveryApproach: "activePassive",
36
+ * regions: [
37
+ * "us-east-1",
38
+ * "us-west-2",
39
+ * ],
40
+ * primaryRegion: "us-east-1",
41
+ * workflows: [
42
+ * {
43
+ * workflowTargetAction: "activate",
44
+ * workflowTargetRegion: "us-west-2",
45
+ * steps: [{
46
+ * name: "manual-approval",
47
+ * executionBlockType: "ManualApproval",
48
+ * executionApprovalConfigs: [{
49
+ * approvalRole: example.arn,
50
+ * timeoutMinutes: 60,
51
+ * }],
52
+ * }],
53
+ * },
54
+ * {
55
+ * workflowTargetAction: "deactivate",
56
+ * workflowTargetRegion: "us-east-1",
57
+ * steps: [{
58
+ * name: "manual-approval",
59
+ * executionBlockType: "ManualApproval",
60
+ * executionApprovalConfigs: [{
61
+ * approvalRole: example.arn,
62
+ * timeoutMinutes: 60,
63
+ * }],
64
+ * }],
65
+ * },
66
+ * ],
67
+ * });
68
+ * ```
69
+ *
70
+ * ### Complex Usage with Multiple Step Types
71
+ *
72
+ * ```typescript
73
+ * import * as pulumi from "@pulumi/pulumi";
74
+ * import * as aws from "@pulumi/aws";
75
+ *
76
+ * const complex = new aws.arcregionswitch.Plan("complex", {
77
+ * name: "complex-plan",
78
+ * executionRole: exampleAwsIamRole.arn,
79
+ * recoveryApproach: "activeActive",
80
+ * regions: [
81
+ * "us-east-1",
82
+ * "us-west-2",
83
+ * ],
84
+ * description: "Complex plan with multiple execution block types",
85
+ * recoveryTimeObjectiveMinutes: 60,
86
+ * associatedAlarms: [{
87
+ * name: "application-health-alarm",
88
+ * alarmType: "applicationHealth",
89
+ * resourceIdentifier: "arn:aws:cloudwatch:us-east-1:123456789012:alarm:MyAlarm",
90
+ * }],
91
+ * workflows: [
92
+ * {
93
+ * workflowTargetAction: "activate",
94
+ * workflowTargetRegion: "us-west-2",
95
+ * steps: [
96
+ * {
97
+ * name: "lambda-step",
98
+ * executionBlockType: "CustomActionLambda",
99
+ * customActionLambdaConfigs: [{
100
+ * regionToRun: "activatingRegion",
101
+ * retryIntervalMinutes: 5,
102
+ * timeoutMinutes: 30,
103
+ * lambdas: [{
104
+ * arn: example.arn,
105
+ * }],
106
+ * }],
107
+ * },
108
+ * {
109
+ * name: "parallel-step",
110
+ * executionBlockType: "Parallel",
111
+ * parallelConfigs: [{
112
+ * steps: [
113
+ * {
114
+ * name: "asg-scaling",
115
+ * executionBlockType: "EC2AutoScaling",
116
+ * ec2AsgCapacityIncreaseConfigs: [{
117
+ * asgs: [{
118
+ * arn: exampleAwsAutoscalingGroup.arn,
119
+ * }],
120
+ * targetPercent: 150,
121
+ * }],
122
+ * },
123
+ * {
124
+ * name: "ecs-scaling",
125
+ * executionBlockType: "ECSServiceScaling",
126
+ * ecsCapacityIncreaseConfigs: [{
127
+ * services: [{
128
+ * clusterArn: exampleAwsEcsCluster.arn,
129
+ * serviceArn: exampleAwsEcsService.arn,
130
+ * }],
131
+ * targetPercent: 200,
132
+ * }],
133
+ * },
134
+ * ],
135
+ * }],
136
+ * },
137
+ * ],
138
+ * },
139
+ * {
140
+ * workflowTargetAction: "deactivate",
141
+ * workflowTargetRegion: "us-east-1",
142
+ * steps: [{
143
+ * name: "route53-health-check",
144
+ * executionBlockType: "Route53HealthCheck",
145
+ * route53HealthCheckConfigs: [{
146
+ * hostedZoneId: exampleAwsRoute53Zone.zoneId,
147
+ * recordName: "api.example.com",
148
+ * }],
149
+ * }],
150
+ * },
151
+ * ],
152
+ * trigger: [{
153
+ * action: "activate",
154
+ * targetRegion: "us-west-2",
155
+ * minDelayMinutesBetweenExecutions: 30,
156
+ * conditions: [{
157
+ * associatedAlarmName: "application-health-alarm",
158
+ * condition: "red",
159
+ * }],
160
+ * }],
161
+ * tags: {
162
+ * Environment: "production",
163
+ * },
164
+ * });
165
+ * ```
166
+ *
167
+ * ## Import
168
+ *
169
+ * Using `pulumi import`, import Application Recovery Controller Region Switch Plan using the `arn`. For example:
170
+ *
171
+ * ```sh
172
+ * $ pulumi import aws:arcregionswitch/plan:Plan example arn:aws:arcregionswitch:us-east-1:123456789012:plan/example-plan
173
+ * ```
174
+ */
175
+ class Plan extends pulumi.CustomResource {
176
+ /**
177
+ * Get an existing Plan resource's state with the given name, ID, and optional extra
178
+ * properties used to qualify the lookup.
179
+ *
180
+ * @param name The _unique_ name of the resulting resource.
181
+ * @param id The _unique_ provider ID of the resource to lookup.
182
+ * @param state Any extra arguments used during the lookup.
183
+ * @param opts Optional settings to control the behavior of the CustomResource.
184
+ */
185
+ static get(name, id, state, opts) {
186
+ return new Plan(name, state, { ...opts, id: id });
187
+ }
188
+ /**
189
+ * Returns true if the given object is an instance of Plan. This is designed to work even
190
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
191
+ */
192
+ static isInstance(obj) {
193
+ if (obj === undefined || obj === null) {
194
+ return false;
195
+ }
196
+ return obj['__pulumiType'] === Plan.__pulumiType;
197
+ }
198
+ constructor(name, argsOrState, opts) {
199
+ let resourceInputs = {};
200
+ opts = opts || {};
201
+ if (opts.id) {
202
+ const state = argsOrState;
203
+ resourceInputs["arn"] = state?.arn;
204
+ resourceInputs["associatedAlarms"] = state?.associatedAlarms;
205
+ resourceInputs["description"] = state?.description;
206
+ resourceInputs["executionRole"] = state?.executionRole;
207
+ resourceInputs["name"] = state?.name;
208
+ resourceInputs["primaryRegion"] = state?.primaryRegion;
209
+ resourceInputs["recoveryApproach"] = state?.recoveryApproach;
210
+ resourceInputs["recoveryTimeObjectiveMinutes"] = state?.recoveryTimeObjectiveMinutes;
211
+ resourceInputs["region"] = state?.region;
212
+ resourceInputs["regions"] = state?.regions;
213
+ resourceInputs["tags"] = state?.tags;
214
+ resourceInputs["tagsAll"] = state?.tagsAll;
215
+ resourceInputs["timeouts"] = state?.timeouts;
216
+ resourceInputs["triggers"] = state?.triggers;
217
+ resourceInputs["workflows"] = state?.workflows;
218
+ }
219
+ else {
220
+ const args = argsOrState;
221
+ if (args?.executionRole === undefined && !opts.urn) {
222
+ throw new Error("Missing required property 'executionRole'");
223
+ }
224
+ if (args?.recoveryApproach === undefined && !opts.urn) {
225
+ throw new Error("Missing required property 'recoveryApproach'");
226
+ }
227
+ if (args?.regions === undefined && !opts.urn) {
228
+ throw new Error("Missing required property 'regions'");
229
+ }
230
+ resourceInputs["associatedAlarms"] = args?.associatedAlarms;
231
+ resourceInputs["description"] = args?.description;
232
+ resourceInputs["executionRole"] = args?.executionRole;
233
+ resourceInputs["name"] = args?.name;
234
+ resourceInputs["primaryRegion"] = args?.primaryRegion;
235
+ resourceInputs["recoveryApproach"] = args?.recoveryApproach;
236
+ resourceInputs["recoveryTimeObjectiveMinutes"] = args?.recoveryTimeObjectiveMinutes;
237
+ resourceInputs["region"] = args?.region;
238
+ resourceInputs["regions"] = args?.regions;
239
+ resourceInputs["tags"] = args?.tags;
240
+ resourceInputs["timeouts"] = args?.timeouts;
241
+ resourceInputs["triggers"] = args?.triggers;
242
+ resourceInputs["workflows"] = args?.workflows;
243
+ resourceInputs["arn"] = undefined /*out*/;
244
+ resourceInputs["tagsAll"] = undefined /*out*/;
245
+ }
246
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
247
+ super(Plan.__pulumiType, name, resourceInputs, opts);
248
+ }
249
+ }
250
+ exports.Plan = Plan;
251
+ /** @internal */
252
+ Plan.__pulumiType = 'aws:arcregionswitch/plan:Plan';
253
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../arcregionswitch/plan.ts"],"names":[],"mappings":"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"}
@@ -641,7 +641,7 @@ export declare class Group extends pulumi.CustomResource {
641
641
  */
642
642
  readonly tags: pulumi.Output<outputs.autoscaling.GroupTag[] | undefined>;
643
643
  /**
644
- * Set of `aws.alb.TargetGroup` ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
644
+ * Set of `aws.lb.TargetGroup` ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
645
645
  */
646
646
  readonly targetGroupArns: pulumi.Output<string[]>;
647
647
  /**
@@ -868,7 +868,7 @@ export interface GroupState {
868
868
  */
869
869
  tags?: pulumi.Input<pulumi.Input<inputs.autoscaling.GroupTag>[]>;
870
870
  /**
871
- * Set of `aws.alb.TargetGroup` ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
871
+ * Set of `aws.lb.TargetGroup` ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
872
872
  */
873
873
  targetGroupArns?: pulumi.Input<pulumi.Input<string>[]>;
874
874
  /**
@@ -1079,7 +1079,7 @@ export interface GroupArgs {
1079
1079
  */
1080
1080
  tags?: pulumi.Input<pulumi.Input<inputs.autoscaling.GroupTag>[]>;
1081
1081
  /**
1082
- * Set of `aws.alb.TargetGroup` ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
1082
+ * Set of `aws.lb.TargetGroup` ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
1083
1083
  */
1084
1084
  targetGroupArns?: pulumi.Input<pulumi.Input<string>[]>;
1085
1085
  /**