@pulumi/aws 7.42.0 → 7.43.0-alpha.1786700563

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.
@@ -0,0 +1,163 @@
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.V2InputSource = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("../utilities"));
31
+ /**
32
+ * Resource for managing an AWS Resilience Hub V2 Input Source.
33
+ *
34
+ * An input source defines where Resilience Hub discovers AWS resources for a service. Supported source types include CloudFormation stacks, Terraform state files (stored in S3), and EKS clusters.
35
+ *
36
+ * > **Note:** This resource does not support in-place updates. Any change to the resource configuration will destroy and recreate the input source.
37
+ *
38
+ * > **Note:** The referenced resources (CloudFormation stacks, S3 state files, EKS clusters) must exist before creating the input source. Use `dependsOn` to ensure proper ordering.
39
+ *
40
+ * ## Example Usage
41
+ *
42
+ * ### CloudFormation Stack
43
+ *
44
+ * ```typescript
45
+ * import * as pulumi from "@pulumi/pulumi";
46
+ * import * as aws from "@pulumi/aws";
47
+ *
48
+ * const example = new aws.resiliencehub.V2InputSource("example", {
49
+ * serviceArn: exampleAwsResiliencehubv2Service.arn,
50
+ * resourceConfiguration: {
51
+ * cfnStackArn: "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/abc123",
52
+ * },
53
+ * });
54
+ * ```
55
+ *
56
+ * ### Terraform State File
57
+ *
58
+ * ```typescript
59
+ * import * as pulumi from "@pulumi/pulumi";
60
+ * import * as aws from "@pulumi/aws";
61
+ *
62
+ * const example = new aws.resiliencehub.V2InputSource("example", {
63
+ * serviceArn: exampleAwsResiliencehubv2Service.arn,
64
+ * resourceConfiguration: {
65
+ * tfStateFileUrl: "s3://my-bucket/terraform.tfstate",
66
+ * },
67
+ * });
68
+ * ```
69
+ *
70
+ * ### EKS Cluster
71
+ *
72
+ * ```typescript
73
+ * import * as pulumi from "@pulumi/pulumi";
74
+ * import * as aws from "@pulumi/aws";
75
+ *
76
+ * const example = new aws.resiliencehub.V2InputSource("example", {
77
+ * serviceArn: exampleAwsResiliencehubv2Service.arn,
78
+ * resourceConfiguration: {
79
+ * eks: {
80
+ * clusterArn: "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster",
81
+ * namespaces: [
82
+ * "default",
83
+ * "production",
84
+ * ],
85
+ * },
86
+ * },
87
+ * });
88
+ * ```
89
+ *
90
+ * ## Import
91
+ *
92
+ * ### Identity Schema
93
+ *
94
+ * #### Required
95
+ *
96
+ * * `serviceArn` (String) ARN of the service this input source belongs to.
97
+ * * `inputSourceId` (String) Unique identifier of the input source.
98
+ *
99
+ * #### Optional
100
+ *
101
+ * * `accountId` (String) AWS Account where this resource is managed.
102
+ * * `region` (String) Region where this resource is managed.
103
+ *
104
+ * Using `pulumi import`, import Resilience Hub V2 Input Source using the `serviceArn` and `inputSourceId` separated by a comma (`,`). For example:
105
+ *
106
+ * ```sh
107
+ * $ pulumi import aws:resiliencehub/v2InputSource:V2InputSource example arn:aws:resiliencehub:us-west-2:123456789012:service/example-service:abc123,12345678-1234-1234-1234-123456789012
108
+ * ```
109
+ */
110
+ class V2InputSource extends pulumi.CustomResource {
111
+ /**
112
+ * Get an existing V2InputSource resource's state with the given name, ID, and optional extra
113
+ * properties used to qualify the lookup.
114
+ *
115
+ * @param name The _unique_ name of the resulting resource.
116
+ * @param id The _unique_ provider ID of the resource to lookup.
117
+ * @param state Any extra arguments used during the lookup.
118
+ * @param opts Optional settings to control the behavior of the CustomResource.
119
+ */
120
+ static get(name, id, state, opts) {
121
+ return new V2InputSource(name, state, { ...opts, id: id });
122
+ }
123
+ /** @internal */
124
+ static __pulumiType = 'aws:resiliencehub/v2InputSource:V2InputSource';
125
+ /**
126
+ * Returns true if the given object is an instance of V2InputSource. This is designed to work even
127
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
128
+ */
129
+ static isInstance(obj) {
130
+ if (obj === undefined || obj === null) {
131
+ return false;
132
+ }
133
+ return obj['__pulumiType'] === V2InputSource.__pulumiType;
134
+ }
135
+ constructor(name, argsOrState, opts) {
136
+ let resourceInputs = {};
137
+ opts = opts || {};
138
+ if (opts.id) {
139
+ const state = argsOrState;
140
+ resourceInputs["inputSourceId"] = state?.inputSourceId;
141
+ resourceInputs["region"] = state?.region;
142
+ resourceInputs["resourceConfiguration"] = state?.resourceConfiguration;
143
+ resourceInputs["serviceArn"] = state?.serviceArn;
144
+ }
145
+ else {
146
+ const args = argsOrState;
147
+ if (args?.resourceConfiguration === undefined && !opts.urn) {
148
+ throw new Error("Missing required property 'resourceConfiguration'");
149
+ }
150
+ if (args?.serviceArn === undefined && !opts.urn) {
151
+ throw new Error("Missing required property 'serviceArn'");
152
+ }
153
+ resourceInputs["region"] = args?.region;
154
+ resourceInputs["resourceConfiguration"] = args?.resourceConfiguration;
155
+ resourceInputs["serviceArn"] = args?.serviceArn;
156
+ resourceInputs["inputSourceId"] = undefined /*out*/;
157
+ }
158
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
159
+ super(V2InputSource.__pulumiType, name, resourceInputs, opts);
160
+ }
161
+ }
162
+ exports.V2InputSource = V2InputSource;
163
+ //# sourceMappingURL=v2inputSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2inputSource.js","sourceRoot":"","sources":["../../resiliencehub/v2inputSource.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAIzC,wDAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,MAAa,aAAc,SAAQ,MAAM,CAAC,cAAc;IACpD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA0B,EAAE,IAAmC;QACxH,OAAO,IAAI,aAAa,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,gBAAgB;IACT,MAAM,CAAU,YAAY,GAAG,+CAA+C,CAAC;IAEtF;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC;IAC9D,CAAC;IA6BD,YAAY,IAAY,EAAE,WAAoD,EAAE,IAAmC;QAC/G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA6C,CAAC;YAC5D,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC;YACvD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,uBAAuB,CAAC,GAAG,KAAK,EAAE,qBAAqB,CAAC;YACvE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAA4C,CAAC;YAC1D,IAAI,IAAI,EAAE,qBAAqB,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACxE;YACD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACvD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;;AA/EL,sCAgFC"}
@@ -19,12 +19,12 @@ import * as outputs from "../types/output";
19
19
  * volumeId: testAwsEbsVolume.id,
20
20
  * instanceId: testAwsInstance.id,
21
21
  * });
22
- * const test = aws.storagegateway.getLocalDisk({
23
- * diskNode: testAwsVolumeAttachment.deviceName,
22
+ * const test = aws.storagegateway.getLocalDiskOutput({
23
+ * diskNode: testVolumeAttachment.deviceName,
24
24
  * gatewayArn: testAwsStoragegatewayGateway.arn,
25
25
  * });
26
26
  * const testCache = new aws.storagegateway.Cache("test", {
27
- * diskId: test.then(test => test.diskId),
27
+ * diskId: test.diskId,
28
28
  * gatewayArn: testAwsStoragegatewayGateway.arn,
29
29
  * });
30
30
  * ```
@@ -46,12 +46,12 @@ const utilities = __importStar(require("../utilities"));
46
46
  * volumeId: testAwsEbsVolume.id,
47
47
  * instanceId: testAwsInstance.id,
48
48
  * });
49
- * const test = aws.storagegateway.getLocalDisk({
50
- * diskNode: testAwsVolumeAttachment.deviceName,
49
+ * const test = aws.storagegateway.getLocalDiskOutput({
50
+ * diskNode: testVolumeAttachment.deviceName,
51
51
  * gatewayArn: testAwsStoragegatewayGateway.arn,
52
52
  * });
53
53
  * const testCache = new aws.storagegateway.Cache("test", {
54
- * diskId: test.then(test => test.diskId),
54
+ * diskId: test.diskId,
55
55
  * gatewayArn: testAwsStoragegatewayGateway.arn,
56
56
  * });
57
57
  * ```
@@ -81,7 +81,7 @@ export declare class Access extends pulumi.CustomResource {
81
81
  */
82
82
  readonly homeDirectoryType: pulumi.Output<string | undefined>;
83
83
  /**
84
- * IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. Since the IAM variable syntax matches Terraform's interpolation syntax, they must be escaped inside Terraform configuration strings (`$${Transfer:UserName}`). These are evaluated on-the-fly when navigating the bucket.
84
+ * IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. These are evaluated on-the-fly when navigating the bucket.
85
85
  */
86
86
  readonly policy: pulumi.Output<string | undefined>;
87
87
  /**
@@ -130,7 +130,7 @@ export interface AccessState {
130
130
  */
131
131
  homeDirectoryType?: pulumi.Input<string | undefined>;
132
132
  /**
133
- * IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. Since the IAM variable syntax matches Terraform's interpolation syntax, they must be escaped inside Terraform configuration strings (`$${Transfer:UserName}`). These are evaluated on-the-fly when navigating the bucket.
133
+ * IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. These are evaluated on-the-fly when navigating the bucket.
134
134
  */
135
135
  policy?: pulumi.Input<string | undefined>;
136
136
  /**
@@ -171,7 +171,7 @@ export interface AccessArgs {
171
171
  */
172
172
  homeDirectoryType?: pulumi.Input<string | undefined>;
173
173
  /**
174
- * IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. Since the IAM variable syntax matches Terraform's interpolation syntax, they must be escaped inside Terraform configuration strings (`$${Transfer:UserName}`). These are evaluated on-the-fly when navigating the bucket.
174
+ * IAM JSON policy document that scopes down user access to portions of their Amazon S3 bucket. IAM variables you can use inside this policy include `${Transfer:UserName}`, `${Transfer:HomeDirectory}`, and `${Transfer:HomeBucket}`. These are evaluated on-the-fly when navigating the bucket.
175
175
  */
176
176
  policy?: pulumi.Input<string | undefined>;
177
177
  /**
package/types/input.d.ts CHANGED
@@ -542,6 +542,10 @@ export interface ProviderEndpoint {
542
542
  * Use this to override the default service endpoint URL
543
543
  */
544
544
  directoryservice?: pulumi.Input<string | undefined>;
545
+ /**
546
+ * Use this to override the default service endpoint URL
547
+ */
548
+ directoryservicedata?: pulumi.Input<string | undefined>;
545
549
  /**
546
550
  * Use this to override the default service endpoint URL
547
551
  */
@@ -818,6 +822,10 @@ export interface ProviderEndpoint {
818
822
  * Use this to override the default service endpoint URL
819
823
  */
820
824
  lambda?: pulumi.Input<string | undefined>;
825
+ /**
826
+ * Use this to override the default service endpoint URL
827
+ */
828
+ lambdacore?: pulumi.Input<string | undefined>;
821
829
  /**
822
830
  * Use this to override the default service endpoint URL
823
831
  */
@@ -80187,6 +80195,50 @@ export declare namespace resiliencehub {
80187
80195
  */
80188
80196
  update?: pulumi.Input<string | undefined>;
80189
80197
  }
80198
+ interface V2InputSourceResourceConfiguration {
80199
+ /**
80200
+ * CloudFormation stack ARN.
80201
+ */
80202
+ cfnStackArn?: pulumi.Input<string | undefined>;
80203
+ /**
80204
+ * S3 URL.
80205
+ */
80206
+ designFileS3Url?: pulumi.Input<string | undefined>;
80207
+ /**
80208
+ * EKS configuration. See `eks` Block below.
80209
+ */
80210
+ eks?: pulumi.Input<inputs.resiliencehub.V2InputSourceResourceConfigurationEks | undefined>;
80211
+ /**
80212
+ * Resource tags used for discovery. See `resourceTag` Block below.
80213
+ */
80214
+ resourceTags?: pulumi.Input<pulumi.Input<inputs.resiliencehub.V2InputSourceResourceConfigurationResourceTag>[] | undefined>;
80215
+ /**
80216
+ * S3 URL.
80217
+ *
80218
+ * Exactly one attribute must be configured.
80219
+ */
80220
+ tfStateFileUrl?: pulumi.Input<string | undefined>;
80221
+ }
80222
+ interface V2InputSourceResourceConfigurationEks {
80223
+ /**
80224
+ * Cluster ARN.
80225
+ */
80226
+ clusterArn: pulumi.Input<string>;
80227
+ /**
80228
+ * List of Kubernetes namespaces within the EKS cluster.
80229
+ */
80230
+ namespaces: pulumi.Input<pulumi.Input<string>[]>;
80231
+ }
80232
+ interface V2InputSourceResourceConfigurationResourceTag {
80233
+ /**
80234
+ * Tag key.
80235
+ */
80236
+ key: pulumi.Input<string>;
80237
+ /**
80238
+ * List of tag values.
80239
+ */
80240
+ values: pulumi.Input<pulumi.Input<string>[]>;
80241
+ }
80190
80242
  interface V2PolicyAvailabilitySlo {
80191
80243
  /**
80192
80244
  * Availability target as a percentage (e.g., `99.9`).