@pulumi/aws 5.39.0 → 5.40.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 (145) hide show
  1. package/apigateway/apiKey.d.ts +6 -6
  2. package/apigateway/getAuthorizer.d.ts +106 -0
  3. package/apigateway/getAuthorizer.js +50 -0
  4. package/apigateway/getAuthorizer.js.map +1 -0
  5. package/apigateway/getAuthorizers.d.ts +63 -0
  6. package/apigateway/getAuthorizers.js +47 -0
  7. package/apigateway/getAuthorizers.js.map +1 -0
  8. package/apigateway/index.d.ts +6 -0
  9. package/apigateway/index.js +7 -1
  10. package/apigateway/index.js.map +1 -1
  11. package/appstream/stack.d.ts +15 -0
  12. package/appstream/stack.js +2 -0
  13. package/appstream/stack.js.map +1 -1
  14. package/cfg/index.d.ts +3 -0
  15. package/cfg/index.js +6 -1
  16. package/cfg/index.js.map +1 -1
  17. package/cfg/organizationCustomPolicyRule.d.ts +241 -0
  18. package/cfg/organizationCustomPolicyRule.js +125 -0
  19. package/cfg/organizationCustomPolicyRule.js.map +1 -0
  20. package/chime/voiceConnectorStreaming.d.ts +61 -0
  21. package/chime/voiceConnectorStreaming.js +49 -0
  22. package/chime/voiceConnectorStreaming.js.map +1 -1
  23. package/cloudwatch/index.d.ts +3 -0
  24. package/cloudwatch/index.js +6 -1
  25. package/cloudwatch/index.js.map +1 -1
  26. package/cloudwatch/internetMonitor.d.ts +174 -0
  27. package/cloudwatch/internetMonitor.js +88 -0
  28. package/cloudwatch/internetMonitor.js.map +1 -0
  29. package/codestarconnections/connection.d.ts +1 -1
  30. package/codestarconnections/connection.js +1 -1
  31. package/directconnect/connection.d.ts +1 -0
  32. package/directconnect/connection.js +1 -0
  33. package/directconnect/connection.js.map +1 -1
  34. package/directoryservice/radiusSettings.d.ts +1 -0
  35. package/directoryservice/radiusSettings.js +1 -0
  36. package/directoryservice/radiusSettings.js.map +1 -1
  37. package/dms/getReplicationSubnetGroup.d.ts +84 -0
  38. package/dms/getReplicationSubnetGroup.js +50 -0
  39. package/dms/getReplicationSubnetGroup.js.map +1 -0
  40. package/dms/getReplicationTask.d.ts +114 -0
  41. package/dms/getReplicationTask.js +50 -0
  42. package/dms/getReplicationTask.js.map +1 -0
  43. package/dms/index.d.ts +6 -0
  44. package/dms/index.js +7 -1
  45. package/dms/index.js.map +1 -1
  46. package/dms/s3endpoint.d.ts +3 -3
  47. package/docdb/cluster.d.ts +15 -15
  48. package/docdb/cluster.js +3 -3
  49. package/docdb/clusterInstance.d.ts +21 -18
  50. package/docdb/clusterInstance.js +6 -6
  51. package/docdb/clusterInstance.js.map +1 -1
  52. package/docdb/clusterParameterGroup.d.ts +14 -14
  53. package/docdb/clusterSnapshot.d.ts +20 -20
  54. package/docdb/clusterSnapshot.js +1 -1
  55. package/docdb/eventSubscription.d.ts +12 -12
  56. package/docdb/eventSubscription.js +2 -2
  57. package/dynamodb/getTableItem.d.ts +1 -1
  58. package/ec2/getAmiIds.d.ts +13 -0
  59. package/ec2/getAmiIds.js +1 -0
  60. package/ec2/getAmiIds.js.map +1 -1
  61. package/ec2/getLaunchConfiguration.d.ts +4 -0
  62. package/ec2/getLaunchConfiguration.js.map +1 -1
  63. package/elasticache/getCluster.d.ts +2 -0
  64. package/elasticache/getCluster.js.map +1 -1
  65. package/elasticsearch/domain.d.ts +1 -1
  66. package/elasticsearch/domain.js +1 -1
  67. package/fsx/fileCache.d.ts +1 -0
  68. package/fsx/fileCache.js +1 -0
  69. package/fsx/fileCache.js.map +1 -1
  70. package/gamelift/gameSessionQueue.d.ts +12 -0
  71. package/gamelift/gameSessionQueue.js +2 -0
  72. package/gamelift/gameSessionQueue.js.map +1 -1
  73. package/getAmiIds.d.ts +13 -0
  74. package/getAmiIds.js +1 -0
  75. package/getAmiIds.js.map +1 -1
  76. package/guardduty/detector.d.ts +2 -0
  77. package/guardduty/detector.js +2 -0
  78. package/guardduty/detector.js.map +1 -1
  79. package/index.d.ts +2 -1
  80. package/index.js +3 -1
  81. package/index.js.map +1 -1
  82. package/kinesis/firehoseDeliveryStream.d.ts +1 -0
  83. package/kinesis/firehoseDeliveryStream.js +1 -0
  84. package/kinesis/firehoseDeliveryStream.js.map +1 -1
  85. package/kms/key.d.ts +1 -0
  86. package/kms/key.js +1 -0
  87. package/kms/key.js.map +1 -1
  88. package/package.json +2 -2
  89. package/package.json.dev +2 -2
  90. package/rds/getInstance.d.ts +2 -0
  91. package/rds/getInstance.js.map +1 -1
  92. package/rds/subnetGroup.d.ts +8 -0
  93. package/rds/subnetGroup.js +2 -0
  94. package/rds/subnetGroup.js.map +1 -1
  95. package/redshift/getCluster.d.ts +2 -0
  96. package/redshift/getCluster.js.map +1 -1
  97. package/s3/getObject.d.ts +2 -2
  98. package/s3/getObject.js +2 -2
  99. package/s3outposts/endpoint.d.ts +24 -0
  100. package/s3outposts/endpoint.js +4 -0
  101. package/s3outposts/endpoint.js.map +1 -1
  102. package/ssmcontacts/contact.d.ts +162 -0
  103. package/ssmcontacts/contact.js +108 -0
  104. package/ssmcontacts/contact.js.map +1 -0
  105. package/ssmcontacts/contactChannel.d.ts +147 -0
  106. package/ssmcontacts/contactChannel.js +113 -0
  107. package/ssmcontacts/contactChannel.js.map +1 -0
  108. package/ssmcontacts/getContact.d.ts +91 -0
  109. package/ssmcontacts/getContact.js +50 -0
  110. package/ssmcontacts/getContact.js.map +1 -0
  111. package/ssmcontacts/getContactChannel.d.ts +82 -0
  112. package/ssmcontacts/getContactChannel.js +49 -0
  113. package/ssmcontacts/getContactChannel.js.map +1 -0
  114. package/ssmcontacts/getPlan.d.ts +66 -0
  115. package/ssmcontacts/getPlan.js +49 -0
  116. package/ssmcontacts/getPlan.js.map +1 -0
  117. package/ssmcontacts/index.d.ts +18 -0
  118. package/ssmcontacts/index.js +41 -0
  119. package/ssmcontacts/index.js.map +1 -0
  120. package/ssmcontacts/plan.d.ts +144 -0
  121. package/ssmcontacts/plan.js +139 -0
  122. package/ssmcontacts/plan.js.map +1 -0
  123. package/ssmincidents/getResponsePlan.d.ts +85 -0
  124. package/ssmincidents/getResponsePlan.js +30 -0
  125. package/ssmincidents/getResponsePlan.js.map +1 -0
  126. package/ssmincidents/index.d.ts +6 -0
  127. package/ssmincidents/index.js +9 -1
  128. package/ssmincidents/index.js.map +1 -1
  129. package/ssmincidents/responsePlan.d.ts +254 -0
  130. package/ssmincidents/responsePlan.js +167 -0
  131. package/ssmincidents/responsePlan.js.map +1 -0
  132. package/synthetics/group.d.ts +121 -0
  133. package/synthetics/group.js +78 -0
  134. package/synthetics/group.js.map +1 -0
  135. package/synthetics/groupAssociation.d.ts +94 -0
  136. package/synthetics/groupAssociation.js +85 -0
  137. package/synthetics/groupAssociation.js.map +1 -0
  138. package/synthetics/index.d.ts +6 -0
  139. package/synthetics/index.js +11 -1
  140. package/synthetics/index.js.map +1 -1
  141. package/types/input.d.ts +186 -9
  142. package/types/output.d.ts +333 -10
  143. package/wafv2/webAcl.d.ts +13 -0
  144. package/wafv2/webAcl.js +3 -0
  145. package/wafv2/webAcl.js.map +1 -1
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
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.Contact = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * TODO resource for managing an AWS SSM Contact.
10
+ *
11
+ * ## Example Usage
12
+ * ### Basic Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as aws from "@pulumi/aws";
17
+ *
18
+ * const example = new aws.ssmcontacts.Contact("example", {
19
+ * alias: "alias",
20
+ * type: "PERSONAL",
21
+ * }, {
22
+ * dependsOn: [aws_ssmincidents_replication_set.example],
23
+ * });
24
+ * ```
25
+ * ### Usage With All Fields
26
+ *
27
+ * ```typescript
28
+ * import * as pulumi from "@pulumi/pulumi";
29
+ * import * as aws from "@pulumi/aws";
30
+ *
31
+ * const example = new aws.ssmcontacts.Contact("example", {
32
+ * alias: "alias",
33
+ * displayName: "displayName",
34
+ * type: "ESCALATION",
35
+ * tags: {
36
+ * key: "value",
37
+ * },
38
+ * }, {
39
+ * dependsOn: [aws_ssmincidents_replication_set.example],
40
+ * });
41
+ * ```
42
+ *
43
+ * ## Import
44
+ *
45
+ * Import SSM Contact using the `ARN`. For example
46
+ *
47
+ * ```sh
48
+ * $ pulumi import aws:ssmcontacts/contact:Contact example {ARNValue}
49
+ * ```
50
+ */
51
+ class Contact extends pulumi.CustomResource {
52
+ /**
53
+ * Get an existing Contact resource's state with the given name, ID, and optional extra
54
+ * properties used to qualify the lookup.
55
+ *
56
+ * @param name The _unique_ name of the resulting resource.
57
+ * @param id The _unique_ provider ID of the resource to lookup.
58
+ * @param state Any extra arguments used during the lookup.
59
+ * @param opts Optional settings to control the behavior of the CustomResource.
60
+ */
61
+ static get(name, id, state, opts) {
62
+ return new Contact(name, state, Object.assign(Object.assign({}, opts), { id: id }));
63
+ }
64
+ /**
65
+ * Returns true if the given object is an instance of Contact. This is designed to work even
66
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
67
+ */
68
+ static isInstance(obj) {
69
+ if (obj === undefined || obj === null) {
70
+ return false;
71
+ }
72
+ return obj['__pulumiType'] === Contact.__pulumiType;
73
+ }
74
+ constructor(name, argsOrState, opts) {
75
+ let resourceInputs = {};
76
+ opts = opts || {};
77
+ if (opts.id) {
78
+ const state = argsOrState;
79
+ resourceInputs["alias"] = state ? state.alias : undefined;
80
+ resourceInputs["arn"] = state ? state.arn : undefined;
81
+ resourceInputs["displayName"] = state ? state.displayName : undefined;
82
+ resourceInputs["tags"] = state ? state.tags : undefined;
83
+ resourceInputs["tagsAll"] = state ? state.tagsAll : undefined;
84
+ resourceInputs["type"] = state ? state.type : undefined;
85
+ }
86
+ else {
87
+ const args = argsOrState;
88
+ if ((!args || args.alias === undefined) && !opts.urn) {
89
+ throw new Error("Missing required property 'alias'");
90
+ }
91
+ if ((!args || args.type === undefined) && !opts.urn) {
92
+ throw new Error("Missing required property 'type'");
93
+ }
94
+ resourceInputs["alias"] = args ? args.alias : undefined;
95
+ resourceInputs["displayName"] = args ? args.displayName : undefined;
96
+ resourceInputs["tags"] = args ? args.tags : undefined;
97
+ resourceInputs["tagsAll"] = args ? args.tagsAll : undefined;
98
+ resourceInputs["type"] = args ? args.type : undefined;
99
+ resourceInputs["arn"] = undefined /*out*/;
100
+ }
101
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
102
+ super(Contact.__pulumiType, name, resourceInputs, opts);
103
+ }
104
+ }
105
+ exports.Contact = Contact;
106
+ /** @internal */
107
+ Contact.__pulumiType = 'aws:ssmcontacts/contact:Contact';
108
+ //# sourceMappingURL=contact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact.js","sourceRoot":"","sources":["../../ssmcontacts/contact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * TODO resource for managing an AWS SSM Contacts Contact Channel.
6
+ *
7
+ * ## Example Usage
8
+ * ### Basic Usage
9
+ *
10
+ * ```typescript
11
+ * import * as pulumi from "@pulumi/pulumi";
12
+ * import * as aws from "@pulumi/aws";
13
+ *
14
+ * const example = new aws.ssmcontacts.ContactChannel("example", {
15
+ * contactId: "arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias",
16
+ * deliveryAddress: {
17
+ * simpleAddress: "email@example.com",
18
+ * },
19
+ * type: "EMAIL",
20
+ * });
21
+ * ```
22
+ * ### Usage with SSM Contact
23
+ *
24
+ * ```typescript
25
+ * import * as pulumi from "@pulumi/pulumi";
26
+ * import * as aws from "@pulumi/aws";
27
+ *
28
+ * const exampleContact = new aws.ssmcontacts.Contact("exampleContact", {
29
+ * alias: "example_contact",
30
+ * type: "PERSONAL",
31
+ * });
32
+ * const example = new aws.ssmcontacts.ContactChannel("example", {
33
+ * contactId: exampleContact.arn,
34
+ * deliveryAddress: {
35
+ * simpleAddress: "email@example.com",
36
+ * },
37
+ * type: "EMAIL",
38
+ * });
39
+ * ```
40
+ *
41
+ * ## Import
42
+ *
43
+ * Import SSM Contact Channel using the `ARN`, e.g.,
44
+ *
45
+ * ```sh
46
+ * $ pulumi import aws:ssmcontacts/contactChannel:ContactChannel example arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example
47
+ * ```
48
+ */
49
+ export declare class ContactChannel extends pulumi.CustomResource {
50
+ /**
51
+ * Get an existing ContactChannel resource's state with the given name, ID, and optional extra
52
+ * properties used to qualify the lookup.
53
+ *
54
+ * @param name The _unique_ name of the resulting resource.
55
+ * @param id The _unique_ provider ID of the resource to lookup.
56
+ * @param state Any extra arguments used during the lookup.
57
+ * @param opts Optional settings to control the behavior of the CustomResource.
58
+ */
59
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ContactChannelState, opts?: pulumi.CustomResourceOptions): ContactChannel;
60
+ /**
61
+ * Returns true if the given object is an instance of ContactChannel. This is designed to work even
62
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
63
+ */
64
+ static isInstance(obj: any): obj is ContactChannel;
65
+ /**
66
+ * Whether the contact channel is activated. The contact channel must be activated to use it to engage the contact. One of `ACTIVATED` or `NOT_ACTIVATED`.
67
+ */
68
+ readonly activationStatus: pulumi.Output<string>;
69
+ /**
70
+ * Amazon Resource Name (ARN) of the contact channel.
71
+ */
72
+ readonly arn: pulumi.Output<string>;
73
+ /**
74
+ * Amazon Resource Name (ARN) of the AWS SSM Contact that the contact channel belongs to.
75
+ */
76
+ readonly contactId: pulumi.Output<string>;
77
+ /**
78
+ * Block that contains contact engagement details. See details below.
79
+ */
80
+ readonly deliveryAddress: pulumi.Output<outputs.ssmcontacts.ContactChannelDeliveryAddress>;
81
+ /**
82
+ * Name of the contact channel.
83
+ */
84
+ readonly name: pulumi.Output<string>;
85
+ /**
86
+ * Type of the contact channel. One of `SMS`, `VOICE` or `EMAIL`.
87
+ */
88
+ readonly type: pulumi.Output<string>;
89
+ /**
90
+ * Create a ContactChannel resource with the given unique name, arguments, and options.
91
+ *
92
+ * @param name The _unique_ name of the resource.
93
+ * @param args The arguments to use to populate this resource's properties.
94
+ * @param opts A bag of options that control this resource's behavior.
95
+ */
96
+ constructor(name: string, args: ContactChannelArgs, opts?: pulumi.CustomResourceOptions);
97
+ }
98
+ /**
99
+ * Input properties used for looking up and filtering ContactChannel resources.
100
+ */
101
+ export interface ContactChannelState {
102
+ /**
103
+ * Whether the contact channel is activated. The contact channel must be activated to use it to engage the contact. One of `ACTIVATED` or `NOT_ACTIVATED`.
104
+ */
105
+ activationStatus?: pulumi.Input<string>;
106
+ /**
107
+ * Amazon Resource Name (ARN) of the contact channel.
108
+ */
109
+ arn?: pulumi.Input<string>;
110
+ /**
111
+ * Amazon Resource Name (ARN) of the AWS SSM Contact that the contact channel belongs to.
112
+ */
113
+ contactId?: pulumi.Input<string>;
114
+ /**
115
+ * Block that contains contact engagement details. See details below.
116
+ */
117
+ deliveryAddress?: pulumi.Input<inputs.ssmcontacts.ContactChannelDeliveryAddress>;
118
+ /**
119
+ * Name of the contact channel.
120
+ */
121
+ name?: pulumi.Input<string>;
122
+ /**
123
+ * Type of the contact channel. One of `SMS`, `VOICE` or `EMAIL`.
124
+ */
125
+ type?: pulumi.Input<string>;
126
+ }
127
+ /**
128
+ * The set of arguments for constructing a ContactChannel resource.
129
+ */
130
+ export interface ContactChannelArgs {
131
+ /**
132
+ * Amazon Resource Name (ARN) of the AWS SSM Contact that the contact channel belongs to.
133
+ */
134
+ contactId: pulumi.Input<string>;
135
+ /**
136
+ * Block that contains contact engagement details. See details below.
137
+ */
138
+ deliveryAddress: pulumi.Input<inputs.ssmcontacts.ContactChannelDeliveryAddress>;
139
+ /**
140
+ * Name of the contact channel.
141
+ */
142
+ name?: pulumi.Input<string>;
143
+ /**
144
+ * Type of the contact channel. One of `SMS`, `VOICE` or `EMAIL`.
145
+ */
146
+ type: pulumi.Input<string>;
147
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
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.ContactChannel = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * TODO resource for managing an AWS SSM Contacts Contact Channel.
10
+ *
11
+ * ## Example Usage
12
+ * ### Basic Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as aws from "@pulumi/aws";
17
+ *
18
+ * const example = new aws.ssmcontacts.ContactChannel("example", {
19
+ * contactId: "arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias",
20
+ * deliveryAddress: {
21
+ * simpleAddress: "email@example.com",
22
+ * },
23
+ * type: "EMAIL",
24
+ * });
25
+ * ```
26
+ * ### Usage with SSM Contact
27
+ *
28
+ * ```typescript
29
+ * import * as pulumi from "@pulumi/pulumi";
30
+ * import * as aws from "@pulumi/aws";
31
+ *
32
+ * const exampleContact = new aws.ssmcontacts.Contact("exampleContact", {
33
+ * alias: "example_contact",
34
+ * type: "PERSONAL",
35
+ * });
36
+ * const example = new aws.ssmcontacts.ContactChannel("example", {
37
+ * contactId: exampleContact.arn,
38
+ * deliveryAddress: {
39
+ * simpleAddress: "email@example.com",
40
+ * },
41
+ * type: "EMAIL",
42
+ * });
43
+ * ```
44
+ *
45
+ * ## Import
46
+ *
47
+ * Import SSM Contact Channel using the `ARN`, e.g.,
48
+ *
49
+ * ```sh
50
+ * $ pulumi import aws:ssmcontacts/contactChannel:ContactChannel example arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example
51
+ * ```
52
+ */
53
+ class ContactChannel extends pulumi.CustomResource {
54
+ /**
55
+ * Get an existing ContactChannel resource's state with the given name, ID, and optional extra
56
+ * properties used to qualify the lookup.
57
+ *
58
+ * @param name The _unique_ name of the resulting resource.
59
+ * @param id The _unique_ provider ID of the resource to lookup.
60
+ * @param state Any extra arguments used during the lookup.
61
+ * @param opts Optional settings to control the behavior of the CustomResource.
62
+ */
63
+ static get(name, id, state, opts) {
64
+ return new ContactChannel(name, state, Object.assign(Object.assign({}, opts), { id: id }));
65
+ }
66
+ /**
67
+ * Returns true if the given object is an instance of ContactChannel. This is designed to work even
68
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
69
+ */
70
+ static isInstance(obj) {
71
+ if (obj === undefined || obj === null) {
72
+ return false;
73
+ }
74
+ return obj['__pulumiType'] === ContactChannel.__pulumiType;
75
+ }
76
+ constructor(name, argsOrState, opts) {
77
+ let resourceInputs = {};
78
+ opts = opts || {};
79
+ if (opts.id) {
80
+ const state = argsOrState;
81
+ resourceInputs["activationStatus"] = state ? state.activationStatus : undefined;
82
+ resourceInputs["arn"] = state ? state.arn : undefined;
83
+ resourceInputs["contactId"] = state ? state.contactId : undefined;
84
+ resourceInputs["deliveryAddress"] = state ? state.deliveryAddress : undefined;
85
+ resourceInputs["name"] = state ? state.name : undefined;
86
+ resourceInputs["type"] = state ? state.type : undefined;
87
+ }
88
+ else {
89
+ const args = argsOrState;
90
+ if ((!args || args.contactId === undefined) && !opts.urn) {
91
+ throw new Error("Missing required property 'contactId'");
92
+ }
93
+ if ((!args || args.deliveryAddress === undefined) && !opts.urn) {
94
+ throw new Error("Missing required property 'deliveryAddress'");
95
+ }
96
+ if ((!args || args.type === undefined) && !opts.urn) {
97
+ throw new Error("Missing required property 'type'");
98
+ }
99
+ resourceInputs["contactId"] = args ? args.contactId : undefined;
100
+ resourceInputs["deliveryAddress"] = args ? args.deliveryAddress : undefined;
101
+ resourceInputs["name"] = args ? args.name : undefined;
102
+ resourceInputs["type"] = args ? args.type : undefined;
103
+ resourceInputs["activationStatus"] = undefined /*out*/;
104
+ resourceInputs["arn"] = undefined /*out*/;
105
+ }
106
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
107
+ super(ContactChannel.__pulumiType, name, resourceInputs, opts);
108
+ }
109
+ }
110
+ exports.ContactChannel = ContactChannel;
111
+ /** @internal */
112
+ ContactChannel.__pulumiType = 'aws:ssmcontacts/contactChannel:ContactChannel';
113
+ //# sourceMappingURL=contactChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contactChannel.js","sourceRoot":"","sources":["../../ssmcontacts/contactChannel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * TODO data source for managing an AWS SSM Contact.
4
+ *
5
+ * ## Example Usage
6
+ * ### Basic Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as aws from "@pulumi/aws";
11
+ *
12
+ * const example = aws.ssmcontacts.getContact({
13
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias",
14
+ * });
15
+ * ```
16
+ */
17
+ export declare function getContact(args: GetContactArgs, opts?: pulumi.InvokeOptions): Promise<GetContactResult>;
18
+ /**
19
+ * A collection of arguments for invoking getContact.
20
+ */
21
+ export interface GetContactArgs {
22
+ /**
23
+ * The Amazon Resource Name (ARN) of the contact or escalation plan.
24
+ */
25
+ arn: string;
26
+ /**
27
+ * Map of tags to assign to the resource.
28
+ */
29
+ tags?: {
30
+ [key: string]: string;
31
+ };
32
+ }
33
+ /**
34
+ * A collection of values returned by getContact.
35
+ */
36
+ export interface GetContactResult {
37
+ /**
38
+ * A unique and identifiable alias of the contact or escalation plan.
39
+ */
40
+ readonly alias: string;
41
+ readonly arn: string;
42
+ /**
43
+ * Full friendly name of the contact or escalation plan.
44
+ */
45
+ readonly displayName: string;
46
+ /**
47
+ * The provider-assigned unique ID for this managed resource.
48
+ */
49
+ readonly id: string;
50
+ /**
51
+ * Map of tags to assign to the resource.
52
+ */
53
+ readonly tags: {
54
+ [key: string]: string;
55
+ };
56
+ /**
57
+ * The type of contact engaged. A single contact is type `PERSONAL` and an escalation plan is type `ESCALATION`.
58
+ */
59
+ readonly type: string;
60
+ }
61
+ /**
62
+ * TODO data source for managing an AWS SSM Contact.
63
+ *
64
+ * ## Example Usage
65
+ * ### Basic Usage
66
+ *
67
+ * ```typescript
68
+ * import * as pulumi from "@pulumi/pulumi";
69
+ * import * as aws from "@pulumi/aws";
70
+ *
71
+ * const example = aws.ssmcontacts.getContact({
72
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias",
73
+ * });
74
+ * ```
75
+ */
76
+ export declare function getContactOutput(args: GetContactOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetContactResult>;
77
+ /**
78
+ * A collection of arguments for invoking getContact.
79
+ */
80
+ export interface GetContactOutputArgs {
81
+ /**
82
+ * The Amazon Resource Name (ARN) of the contact or escalation plan.
83
+ */
84
+ arn: pulumi.Input<string>;
85
+ /**
86
+ * Map of tags to assign to the resource.
87
+ */
88
+ tags?: pulumi.Input<{
89
+ [key: string]: pulumi.Input<string>;
90
+ }>;
91
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
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.getContactOutput = exports.getContact = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * TODO data source for managing an AWS SSM Contact.
10
+ *
11
+ * ## Example Usage
12
+ * ### Basic Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as aws from "@pulumi/aws";
17
+ *
18
+ * const example = aws.ssmcontacts.getContact({
19
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias",
20
+ * });
21
+ * ```
22
+ */
23
+ function getContact(args, opts) {
24
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
25
+ return pulumi.runtime.invoke("aws:ssmcontacts/getContact:getContact", {
26
+ "arn": args.arn,
27
+ "tags": args.tags,
28
+ }, opts);
29
+ }
30
+ exports.getContact = getContact;
31
+ /**
32
+ * TODO data source for managing an AWS SSM Contact.
33
+ *
34
+ * ## Example Usage
35
+ * ### Basic Usage
36
+ *
37
+ * ```typescript
38
+ * import * as pulumi from "@pulumi/pulumi";
39
+ * import * as aws from "@pulumi/aws";
40
+ *
41
+ * const example = aws.ssmcontacts.getContact({
42
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias",
43
+ * });
44
+ * ```
45
+ */
46
+ function getContactOutput(args, opts) {
47
+ return pulumi.output(args).apply((a) => getContact(a, opts));
48
+ }
49
+ exports.getContactOutput = getContactOutput;
50
+ //# sourceMappingURL=getContact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContact.js","sourceRoot":"","sources":["../../ssmcontacts/getContact.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;GAcG;AACH,SAAgB,UAAU,CAAC,IAAoB,EAAE,IAA2B;IAExE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,uCAAuC,EAAE;QAClE,KAAK,EAAE,IAAI,CAAC,GAAG;QACf,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,gCAOC;AA0CD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,gBAAgB,CAAC,IAA0B,EAAE,IAA2B;IACpF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC;AAFD,4CAEC"}
@@ -0,0 +1,82 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as outputs from "../types/output";
3
+ /**
4
+ * TODO data source for managing an AWS SSM Contacts Contact Channel.
5
+ *
6
+ * ## Example Usage
7
+ * ### Basic Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as aws from "@pulumi/aws";
12
+ *
13
+ * const example = aws.ssmcontacts.getContactChannel({
14
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example",
15
+ * });
16
+ * ```
17
+ */
18
+ export declare function getContactChannel(args: GetContactChannelArgs, opts?: pulumi.InvokeOptions): Promise<GetContactChannelResult>;
19
+ /**
20
+ * A collection of arguments for invoking getContactChannel.
21
+ */
22
+ export interface GetContactChannelArgs {
23
+ /**
24
+ * Amazon Resource Name (ARN) of the contact channel.
25
+ */
26
+ arn: string;
27
+ }
28
+ /**
29
+ * A collection of values returned by getContactChannel.
30
+ */
31
+ export interface GetContactChannelResult {
32
+ /**
33
+ * Whether the contact channel is activated.
34
+ */
35
+ readonly activationStatus: string;
36
+ readonly arn: string;
37
+ /**
38
+ * Amazon Resource Name (ARN) of the AWS SSM Contact that the contact channel belongs to.
39
+ */
40
+ readonly contactId: string;
41
+ /**
42
+ * Details used to engage the contact channel.
43
+ */
44
+ readonly deliveryAddresses: outputs.ssmcontacts.GetContactChannelDeliveryAddress[];
45
+ /**
46
+ * The provider-assigned unique ID for this managed resource.
47
+ */
48
+ readonly id: string;
49
+ /**
50
+ * Name of the contact channel.
51
+ */
52
+ readonly name: string;
53
+ /**
54
+ * Type of the contact channel.
55
+ */
56
+ readonly type: string;
57
+ }
58
+ /**
59
+ * TODO data source for managing an AWS SSM Contacts Contact Channel.
60
+ *
61
+ * ## Example Usage
62
+ * ### Basic Usage
63
+ *
64
+ * ```typescript
65
+ * import * as pulumi from "@pulumi/pulumi";
66
+ * import * as aws from "@pulumi/aws";
67
+ *
68
+ * const example = aws.ssmcontacts.getContactChannel({
69
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example",
70
+ * });
71
+ * ```
72
+ */
73
+ export declare function getContactChannelOutput(args: GetContactChannelOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetContactChannelResult>;
74
+ /**
75
+ * A collection of arguments for invoking getContactChannel.
76
+ */
77
+ export interface GetContactChannelOutputArgs {
78
+ /**
79
+ * Amazon Resource Name (ARN) of the contact channel.
80
+ */
81
+ arn: pulumi.Input<string>;
82
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
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.getContactChannelOutput = exports.getContactChannel = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * TODO data source for managing an AWS SSM Contacts Contact Channel.
10
+ *
11
+ * ## Example Usage
12
+ * ### Basic Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as aws from "@pulumi/aws";
17
+ *
18
+ * const example = aws.ssmcontacts.getContactChannel({
19
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example",
20
+ * });
21
+ * ```
22
+ */
23
+ function getContactChannel(args, opts) {
24
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
25
+ return pulumi.runtime.invoke("aws:ssmcontacts/getContactChannel:getContactChannel", {
26
+ "arn": args.arn,
27
+ }, opts);
28
+ }
29
+ exports.getContactChannel = getContactChannel;
30
+ /**
31
+ * TODO data source for managing an AWS SSM Contacts Contact Channel.
32
+ *
33
+ * ## Example Usage
34
+ * ### Basic Usage
35
+ *
36
+ * ```typescript
37
+ * import * as pulumi from "@pulumi/pulumi";
38
+ * import * as aws from "@pulumi/aws";
39
+ *
40
+ * const example = aws.ssmcontacts.getContactChannel({
41
+ * arn: "arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example",
42
+ * });
43
+ * ```
44
+ */
45
+ function getContactChannelOutput(args, opts) {
46
+ return pulumi.output(args).apply((a) => getContactChannel(a, opts));
47
+ }
48
+ exports.getContactChannelOutput = getContactChannelOutput;
49
+ //# sourceMappingURL=getContactChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContactChannel.js","sourceRoot":"","sources":["../../ssmcontacts/getContactChannel.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;GAcG;AACH,SAAgB,iBAAiB,CAAC,IAA2B,EAAE,IAA2B;IAEtF,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,qDAAqD,EAAE;QAChF,KAAK,EAAE,IAAI,CAAC,GAAG;KAClB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,8CAMC;AA0CD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,uBAAuB,CAAC,IAAiC,EAAE,IAA2B;IAClG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC5E,CAAC;AAFD,0DAEC"}