@pulumi/aws 7.35.0 → 7.36.0-alpha.1783668310
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.
- package/apigateway/domainName.d.ts +5 -17
- package/apigateway/domainName.d.ts.map +1 -1
- package/apigateway/domainName.js.map +1 -1
- package/apigateway/getDomainName.d.ts +3 -3
- package/apigateway/getRestApi.d.ts +9 -1
- package/apigateway/getRestApi.d.ts.map +1 -1
- package/apigateway/getRestApi.js.map +1 -1
- package/apigateway/restApi.d.ts +51 -15
- package/apigateway/restApi.d.ts.map +1 -1
- package/apigateway/restApi.js +20 -0
- package/apigateway/restApi.js.map +1 -1
- package/appautoscaling/target.d.ts +13 -0
- package/appautoscaling/target.d.ts.map +1 -1
- package/appautoscaling/target.js +13 -0
- package/appautoscaling/target.js.map +1 -1
- package/bedrock/agentcoreBrowser.d.ts +36 -0
- package/bedrock/agentcoreBrowser.d.ts.map +1 -1
- package/bedrock/agentcoreBrowser.js +6 -0
- package/bedrock/agentcoreBrowser.js.map +1 -1
- package/bedrock/agentcoreCodeInterpreter.d.ts +12 -0
- package/bedrock/agentcoreCodeInterpreter.d.ts.map +1 -1
- package/bedrock/agentcoreCodeInterpreter.js +2 -0
- package/bedrock/agentcoreCodeInterpreter.js.map +1 -1
- package/bedrock/agentcoreRegistry.d.ts +117 -0
- package/bedrock/agentcoreRegistry.d.ts.map +1 -0
- package/bedrock/agentcoreRegistry.js +120 -0
- package/bedrock/agentcoreRegistry.js.map +1 -0
- package/bedrock/getUseCaseForModelAccess.d.ts +45 -0
- package/bedrock/getUseCaseForModelAccess.d.ts.map +1 -0
- package/bedrock/getUseCaseForModelAccess.js +69 -0
- package/bedrock/getUseCaseForModelAccess.js.map +1 -0
- package/bedrock/index.d.ts +9 -0
- package/bedrock/index.d.ts.map +1 -1
- package/bedrock/index.js +14 -1
- package/bedrock/index.js.map +1 -1
- package/bedrock/useCaseForModelAccess.d.ts +98 -0
- package/bedrock/useCaseForModelAccess.d.ts.map +1 -0
- package/bedrock/useCaseForModelAccess.js +118 -0
- package/bedrock/useCaseForModelAccess.js.map +1 -0
- package/bedrockfoundation/getModelAgreementOffers.d.ts +91 -0
- package/bedrockfoundation/getModelAgreementOffers.d.ts.map +1 -0
- package/bedrockfoundation/getModelAgreementOffers.js +81 -0
- package/bedrockfoundation/getModelAgreementOffers.js.map +1 -0
- package/bedrockfoundation/index.d.ts +6 -0
- package/bedrockfoundation/index.d.ts.map +1 -1
- package/bedrockfoundation/index.js +19 -1
- package/bedrockfoundation/index.js.map +1 -1
- package/bedrockfoundation/modelAgreement.d.ts +124 -0
- package/bedrockfoundation/modelAgreement.d.ts.map +1 -0
- package/bedrockfoundation/modelAgreement.js +124 -0
- package/bedrockfoundation/modelAgreement.js.map +1 -0
- package/cloudwatch/compositeAlarm.d.ts +13 -2
- package/cloudwatch/compositeAlarm.d.ts.map +1 -1
- package/cloudwatch/compositeAlarm.js +13 -2
- package/cloudwatch/compositeAlarm.js.map +1 -1
- package/cloudwatch/contributorInsightRule.d.ts +14 -3
- package/cloudwatch/contributorInsightRule.d.ts.map +1 -1
- package/cloudwatch/contributorInsightRule.js +13 -2
- package/cloudwatch/contributorInsightRule.js.map +1 -1
- package/cloudwatch/contributorManagedInsightRule.d.ts +20 -2
- package/cloudwatch/contributorManagedInsightRule.d.ts.map +1 -1
- package/cloudwatch/contributorManagedInsightRule.js +14 -2
- package/cloudwatch/contributorManagedInsightRule.js.map +1 -1
- package/cloudwatch/dashboard.d.ts +13 -2
- package/cloudwatch/dashboard.d.ts.map +1 -1
- package/cloudwatch/dashboard.js +13 -2
- package/cloudwatch/dashboard.js.map +1 -1
- package/cloudwatch/logAccountPolicy.d.ts +13 -1
- package/cloudwatch/logAccountPolicy.d.ts.map +1 -1
- package/cloudwatch/logAccountPolicy.js +13 -1
- package/cloudwatch/logAccountPolicy.js.map +1 -1
- package/cloudwatch/logAnomalyDetector.d.ts +8 -2
- package/cloudwatch/logAnomalyDetector.d.ts.map +1 -1
- package/cloudwatch/logAnomalyDetector.js +8 -2
- package/cloudwatch/logAnomalyDetector.js.map +1 -1
- package/cloudwatch/logDataProtectionPolicy.d.ts +12 -1
- package/cloudwatch/logDataProtectionPolicy.d.ts.map +1 -1
- package/cloudwatch/logDataProtectionPolicy.js +12 -1
- package/cloudwatch/logDataProtectionPolicy.js.map +1 -1
- package/cloudwatch/logDelivery.d.ts +12 -1
- package/cloudwatch/logDelivery.d.ts.map +1 -1
- package/cloudwatch/logDelivery.js +12 -1
- package/cloudwatch/logDelivery.js.map +1 -1
- package/cloudwatch/logDeliveryDestination.d.ts +12 -1
- package/cloudwatch/logDeliveryDestination.d.ts.map +1 -1
- package/cloudwatch/logDeliveryDestination.js +12 -1
- package/cloudwatch/logDeliveryDestination.js.map +1 -1
- package/cloudwatch/logDeliveryDestinationPolicy.d.ts +12 -1
- package/cloudwatch/logDeliveryDestinationPolicy.d.ts.map +1 -1
- package/cloudwatch/logDeliveryDestinationPolicy.js +12 -1
- package/cloudwatch/logDeliveryDestinationPolicy.js.map +1 -1
- package/cloudwatch/logDeliverySource.d.ts +12 -1
- package/cloudwatch/logDeliverySource.d.ts.map +1 -1
- package/cloudwatch/logDeliverySource.js +12 -1
- package/cloudwatch/logDeliverySource.js.map +1 -1
- package/cloudwatch/logDestination.d.ts +12 -1
- package/cloudwatch/logDestination.d.ts.map +1 -1
- package/cloudwatch/logDestination.js +12 -1
- package/cloudwatch/logDestination.js.map +1 -1
- package/cloudwatch/logDestinationPolicy.d.ts +12 -1
- package/cloudwatch/logDestinationPolicy.d.ts.map +1 -1
- package/cloudwatch/logDestinationPolicy.js +12 -1
- package/cloudwatch/logDestinationPolicy.js.map +1 -1
- package/cloudwatch/logIndexPolicy.d.ts +12 -1
- package/cloudwatch/logIndexPolicy.d.ts.map +1 -1
- package/cloudwatch/logIndexPolicy.js +12 -1
- package/cloudwatch/logIndexPolicy.js.map +1 -1
- package/cloudwatch/logResourcePolicy.d.ts +12 -1
- package/cloudwatch/logResourcePolicy.d.ts.map +1 -1
- package/cloudwatch/logResourcePolicy.js +12 -1
- package/cloudwatch/logResourcePolicy.js.map +1 -1
- package/cloudwatch/logStream.d.ts +14 -2
- package/cloudwatch/logStream.d.ts.map +1 -1
- package/cloudwatch/logStream.js +14 -2
- package/cloudwatch/logStream.js.map +1 -1
- package/cloudwatch/metricStream.d.ts +13 -2
- package/cloudwatch/metricStream.d.ts.map +1 -1
- package/cloudwatch/metricStream.js +13 -2
- package/cloudwatch/metricStream.js.map +1 -1
- package/cloudwatch/queryDefinition.d.ts +20 -1
- package/cloudwatch/queryDefinition.d.ts.map +1 -1
- package/cloudwatch/queryDefinition.js +14 -1
- package/cloudwatch/queryDefinition.js.map +1 -1
- package/dynamodb/getTableItem.d.ts +16 -14
- package/dynamodb/getTableItem.d.ts.map +1 -1
- package/dynamodb/getTableItem.js.map +1 -1
- package/dynamodb/tableItem.d.ts +42 -1
- package/dynamodb/tableItem.d.ts.map +1 -1
- package/dynamodb/tableItem.js +30 -1
- package/dynamodb/tableItem.js.map +1 -1
- package/ec2/capacityBlockReservation.d.ts +5 -4
- package/ec2/capacityBlockReservation.d.ts.map +1 -1
- package/ec2/capacityBlockReservation.js +1 -4
- package/ec2/capacityBlockReservation.js.map +1 -1
- package/ec2/defaultVpc.d.ts +11 -0
- package/ec2/defaultVpc.d.ts.map +1 -1
- package/ec2/defaultVpc.js +11 -0
- package/ec2/defaultVpc.js.map +1 -1
- package/ec2/getCapacityBlockReservation.d.ts +258 -0
- package/ec2/getCapacityBlockReservation.d.ts.map +1 -0
- package/ec2/getCapacityBlockReservation.js +159 -0
- package/ec2/getCapacityBlockReservation.js.map +1 -0
- package/ec2/index.d.ts +3 -0
- package/ec2/index.d.ts.map +1 -1
- package/ec2/index.js +8 -5
- package/ec2/index.js.map +1 -1
- package/ecs/capacityProvider.d.ts +2 -0
- package/ecs/capacityProvider.d.ts.map +1 -1
- package/ecs/capacityProvider.js +2 -0
- package/ecs/capacityProvider.js.map +1 -1
- package/ecs/clusterCapacityProviders.d.ts +2 -0
- package/ecs/clusterCapacityProviders.d.ts.map +1 -1
- package/ecs/clusterCapacityProviders.js +2 -0
- package/ecs/clusterCapacityProviders.js.map +1 -1
- package/glue/catalogTable.d.ts +14 -14
- package/glue/catalogTable.d.ts.map +1 -1
- package/grafana/workspace.d.ts +3 -3
- package/lightsail/bucketAccessKey.d.ts.map +1 -1
- package/lightsail/bucketAccessKey.js +2 -0
- package/lightsail/bucketAccessKey.js.map +1 -1
- package/lightsail/keyPair.d.ts.map +1 -1
- package/lightsail/keyPair.js +2 -0
- package/lightsail/keyPair.js.map +1 -1
- package/msk/cluster.d.ts +8 -0
- package/msk/cluster.d.ts.map +1 -1
- package/msk/cluster.js +2 -0
- package/msk/cluster.js.map +1 -1
- package/msk/getCluster.d.ts +5 -1
- package/msk/getCluster.d.ts.map +1 -1
- package/msk/getCluster.js.map +1 -1
- package/package.json +2 -2
- package/pinpoint/index.d.ts +3 -0
- package/pinpoint/index.d.ts.map +1 -1
- package/pinpoint/index.js +6 -1
- package/pinpoint/index.js.map +1 -1
- package/pinpoint/smsvoicev2PhoneNumber.d.ts +29 -11
- package/pinpoint/smsvoicev2PhoneNumber.d.ts.map +1 -1
- package/pinpoint/smsvoicev2PhoneNumber.js +2 -0
- package/pinpoint/smsvoicev2PhoneNumber.js.map +1 -1
- package/pinpoint/smsvoicev2Pool.d.ts +305 -0
- package/pinpoint/smsvoicev2Pool.d.ts.map +1 -0
- package/pinpoint/smsvoicev2Pool.js +193 -0
- package/pinpoint/smsvoicev2Pool.js.map +1 -0
- package/s3/bucketNotification.d.ts +53 -4
- package/s3/bucketNotification.d.ts.map +1 -1
- package/s3/bucketNotification.js +53 -4
- package/s3/bucketNotification.js.map +1 -1
- package/s3/getBucketNotification.d.ts +268 -0
- package/s3/getBucketNotification.d.ts.map +1 -0
- package/s3/getBucketNotification.js +257 -0
- package/s3/getBucketNotification.js.map +1 -0
- package/s3/index.d.ts +3 -0
- package/s3/index.d.ts.map +1 -1
- package/s3/index.js +5 -2
- package/s3/index.js.map +1 -1
- package/serverlessrepository/cloudFormationStack.d.ts +28 -24
- package/serverlessrepository/cloudFormationStack.d.ts.map +1 -1
- package/serverlessrepository/cloudFormationStack.js +5 -4
- package/serverlessrepository/cloudFormationStack.js.map +1 -1
- package/types/input.d.ts +198 -41
- package/types/input.d.ts.map +1 -1
- package/types/input.js.map +1 -1
- package/types/output.d.ts +376 -43
- package/types/output.d.ts.map +1 -1
- package/types/output.js.map +1 -1
- package/verifiedaccess/instanceLoggingConfiguration.d.ts +2 -0
- package/verifiedaccess/instanceLoggingConfiguration.d.ts.map +1 -1
- package/verifiedaccess/instanceLoggingConfiguration.js +2 -0
- package/verifiedaccess/instanceLoggingConfiguration.js.map +1 -1
- package/wafv2/getWebAcl.d.ts +2 -2
- package/wafv2/webAclAssociation.d.ts +3 -3
|
@@ -0,0 +1,193 @@
|
|
|
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.Smsvoicev2Pool = void 0;
|
|
29
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
30
|
+
const utilities = __importStar(require("../utilities"));
|
|
31
|
+
/**
|
|
32
|
+
* Manages an AWS End User Messaging SMS Pool.
|
|
33
|
+
*
|
|
34
|
+
* ## Example Usage
|
|
35
|
+
*
|
|
36
|
+
* ### Basic Usage
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
40
|
+
* import * as aws from "@pulumi/aws";
|
|
41
|
+
*
|
|
42
|
+
* const example = new aws.pinpoint.Smsvoicev2PhoneNumber("example", {
|
|
43
|
+
* isoCountryCode: "US",
|
|
44
|
+
* messageType: "TRANSACTIONAL",
|
|
45
|
+
* numberType: "SIMULATOR",
|
|
46
|
+
* numberCapabilities: ["SMS"],
|
|
47
|
+
* });
|
|
48
|
+
* const exampleSmsvoicev2Pool = new aws.pinpoint.Smsvoicev2Pool("example", {
|
|
49
|
+
* isoCountryCode: "US",
|
|
50
|
+
* messageType: "TRANSACTIONAL",
|
|
51
|
+
* originationIdentities: [example.arn],
|
|
52
|
+
* tags: {
|
|
53
|
+
* Name: "example",
|
|
54
|
+
* },
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ### Two-Way Channel
|
|
59
|
+
*
|
|
60
|
+
* ```typescript
|
|
61
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
62
|
+
* import * as aws from "@pulumi/aws";
|
|
63
|
+
*
|
|
64
|
+
* const example = new aws.sns.Topic("example", {name: "example-two-way-channel"});
|
|
65
|
+
* const exampleRole = new aws.iam.Role("example", {
|
|
66
|
+
* name: "example-pool-two-way",
|
|
67
|
+
* assumeRolePolicy: JSON.stringify({
|
|
68
|
+
* Version: "2012-10-17",
|
|
69
|
+
* Statement: [{
|
|
70
|
+
* Effect: "Allow",
|
|
71
|
+
* Principal: {
|
|
72
|
+
* Service: "sms-voice.amazonaws.com",
|
|
73
|
+
* },
|
|
74
|
+
* Action: "sts:AssumeRole",
|
|
75
|
+
* }],
|
|
76
|
+
* }),
|
|
77
|
+
* });
|
|
78
|
+
* const exampleSmsvoicev2PhoneNumber = new aws.pinpoint.Smsvoicev2PhoneNumber("example", {
|
|
79
|
+
* isoCountryCode: "US",
|
|
80
|
+
* messageType: "TRANSACTIONAL",
|
|
81
|
+
* numberType: "SIMULATOR",
|
|
82
|
+
* numberCapabilities: ["SMS"],
|
|
83
|
+
* });
|
|
84
|
+
* const exampleSmsvoicev2Pool = new aws.pinpoint.Smsvoicev2Pool("example", {
|
|
85
|
+
* isoCountryCode: "US",
|
|
86
|
+
* messageType: "TRANSACTIONAL",
|
|
87
|
+
* originationIdentities: [exampleSmsvoicev2PhoneNumber.arn],
|
|
88
|
+
* twoWayEnabled: true,
|
|
89
|
+
* twoWayChannelArn: example.arn,
|
|
90
|
+
* twoWayChannelRole: exampleRole.arn,
|
|
91
|
+
* tags: {
|
|
92
|
+
* Name: "example",
|
|
93
|
+
* },
|
|
94
|
+
* });
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* ## Import
|
|
98
|
+
*
|
|
99
|
+
* > **Note:** `isoCountryCode` is never returned by AWS, so importing a pool with `isoCountryCode` set plans a replacement until removed from config.
|
|
100
|
+
*
|
|
101
|
+
* ### Identity Schema
|
|
102
|
+
*
|
|
103
|
+
* #### Required
|
|
104
|
+
*
|
|
105
|
+
* * `id` - (String) ID of the Pool.
|
|
106
|
+
*
|
|
107
|
+
* #### Optional
|
|
108
|
+
*
|
|
109
|
+
* * `accountId` (String) AWS Account where this resource is managed.
|
|
110
|
+
* * `region` (String) Region where this resource is managed.
|
|
111
|
+
*
|
|
112
|
+
* Using `pulumi import`, import an AWS End User Messaging SMS Pool using the `id`. For example:
|
|
113
|
+
*
|
|
114
|
+
* ```sh
|
|
115
|
+
* $ pulumi import aws:pinpoint/smsvoicev2Pool:Smsvoicev2Pool example pool-abcdef0123456789abcdef0123456789
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
class Smsvoicev2Pool extends pulumi.CustomResource {
|
|
119
|
+
/**
|
|
120
|
+
* Get an existing Smsvoicev2Pool resource's state with the given name, ID, and optional extra
|
|
121
|
+
* properties used to qualify the lookup.
|
|
122
|
+
*
|
|
123
|
+
* @param name The _unique_ name of the resulting resource.
|
|
124
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
125
|
+
* @param state Any extra arguments used during the lookup.
|
|
126
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
127
|
+
*/
|
|
128
|
+
static get(name, id, state, opts) {
|
|
129
|
+
return new Smsvoicev2Pool(name, state, { ...opts, id: id });
|
|
130
|
+
}
|
|
131
|
+
/** @internal */
|
|
132
|
+
static __pulumiType = 'aws:pinpoint/smsvoicev2Pool:Smsvoicev2Pool';
|
|
133
|
+
/**
|
|
134
|
+
* Returns true if the given object is an instance of Smsvoicev2Pool. This is designed to work even
|
|
135
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
136
|
+
*/
|
|
137
|
+
static isInstance(obj) {
|
|
138
|
+
if (obj === undefined || obj === null) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
return obj['__pulumiType'] === Smsvoicev2Pool.__pulumiType;
|
|
142
|
+
}
|
|
143
|
+
constructor(name, argsOrState, opts) {
|
|
144
|
+
let resourceInputs = {};
|
|
145
|
+
opts = opts || {};
|
|
146
|
+
if (opts.id) {
|
|
147
|
+
const state = argsOrState;
|
|
148
|
+
resourceInputs["arn"] = state?.arn;
|
|
149
|
+
resourceInputs["deletionProtectionEnabled"] = state?.deletionProtectionEnabled;
|
|
150
|
+
resourceInputs["isoCountryCode"] = state?.isoCountryCode;
|
|
151
|
+
resourceInputs["messageType"] = state?.messageType;
|
|
152
|
+
resourceInputs["optOutListName"] = state?.optOutListName;
|
|
153
|
+
resourceInputs["originationIdentities"] = state?.originationIdentities;
|
|
154
|
+
resourceInputs["region"] = state?.region;
|
|
155
|
+
resourceInputs["selfManagedOptOutsEnabled"] = state?.selfManagedOptOutsEnabled;
|
|
156
|
+
resourceInputs["sharedRoutesEnabled"] = state?.sharedRoutesEnabled;
|
|
157
|
+
resourceInputs["tags"] = state?.tags;
|
|
158
|
+
resourceInputs["tagsAll"] = state?.tagsAll;
|
|
159
|
+
resourceInputs["timeouts"] = state?.timeouts;
|
|
160
|
+
resourceInputs["twoWayChannelArn"] = state?.twoWayChannelArn;
|
|
161
|
+
resourceInputs["twoWayChannelRole"] = state?.twoWayChannelRole;
|
|
162
|
+
resourceInputs["twoWayEnabled"] = state?.twoWayEnabled;
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
const args = argsOrState;
|
|
166
|
+
if (args?.messageType === undefined && !opts.urn) {
|
|
167
|
+
throw new Error("Missing required property 'messageType'");
|
|
168
|
+
}
|
|
169
|
+
if (args?.originationIdentities === undefined && !opts.urn) {
|
|
170
|
+
throw new Error("Missing required property 'originationIdentities'");
|
|
171
|
+
}
|
|
172
|
+
resourceInputs["deletionProtectionEnabled"] = args?.deletionProtectionEnabled;
|
|
173
|
+
resourceInputs["isoCountryCode"] = args?.isoCountryCode;
|
|
174
|
+
resourceInputs["messageType"] = args?.messageType;
|
|
175
|
+
resourceInputs["optOutListName"] = args?.optOutListName;
|
|
176
|
+
resourceInputs["originationIdentities"] = args?.originationIdentities;
|
|
177
|
+
resourceInputs["region"] = args?.region;
|
|
178
|
+
resourceInputs["selfManagedOptOutsEnabled"] = args?.selfManagedOptOutsEnabled;
|
|
179
|
+
resourceInputs["sharedRoutesEnabled"] = args?.sharedRoutesEnabled;
|
|
180
|
+
resourceInputs["tags"] = args?.tags;
|
|
181
|
+
resourceInputs["timeouts"] = args?.timeouts;
|
|
182
|
+
resourceInputs["twoWayChannelArn"] = args?.twoWayChannelArn;
|
|
183
|
+
resourceInputs["twoWayChannelRole"] = args?.twoWayChannelRole;
|
|
184
|
+
resourceInputs["twoWayEnabled"] = args?.twoWayEnabled;
|
|
185
|
+
resourceInputs["arn"] = undefined /*out*/;
|
|
186
|
+
resourceInputs["tagsAll"] = undefined /*out*/;
|
|
187
|
+
}
|
|
188
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
189
|
+
super(Smsvoicev2Pool.__pulumiType, name, resourceInputs, opts);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
exports.Smsvoicev2Pool = Smsvoicev2Pool;
|
|
193
|
+
//# sourceMappingURL=smsvoicev2Pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smsvoicev2Pool.js","sourceRoot":"","sources":["../../pinpoint/smsvoicev2Pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import * as outputs from "../types/output";
|
|
|
4
4
|
/**
|
|
5
5
|
* Manages a S3 Bucket Notification Configuration. For additional information, see the [Configuring S3 Event Notifications section in the Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).
|
|
6
6
|
*
|
|
7
|
-
* > **NOTE:** S3
|
|
7
|
+
* > **NOTE:** The S3 [`PutBucketNotificationConfiguration`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) API is atomic — it replaces the bucket's entire notification configuration on every call. Only one `aws.s3.BucketNotification` resource can manage a bucket; declaring more than one causes a perpetual diff, and applying this resource will overwrite any notifications already on the bucket. To configure multiple destinations on the same bucket, declare them all as nested blocks within a single resource (see Trigger multiple Lambda functions below). To let independent teams or Terraform configurations subscribe to the same bucket without stepping on each other, prefer the Emit events to EventBridge pattern below. To bring existing notifications under management without losing them, see the `aws.s3.BucketNotification` data source.
|
|
8
8
|
*
|
|
9
9
|
* > This resource cannot be used with S3 directory buckets.
|
|
10
10
|
*
|
|
@@ -254,17 +254,66 @@ import * as outputs from "../types/output";
|
|
|
254
254
|
*
|
|
255
255
|
* ### Emit events to EventBridge
|
|
256
256
|
*
|
|
257
|
+
* For a bucket shared by multiple independent consumers — different teams, different Terraform configurations, different applications — EventBridge is the recommended pattern. Each consumer subscribes to the bucket through its own `aws.cloudwatch.EventRule`, so they cannot overwrite one another the way notification configurations would.
|
|
258
|
+
*
|
|
257
259
|
* ```typescript
|
|
258
260
|
* import * as pulumi from "@pulumi/pulumi";
|
|
259
261
|
* import * as aws from "@pulumi/aws";
|
|
260
262
|
*
|
|
261
|
-
* const
|
|
262
|
-
* const
|
|
263
|
-
* bucket:
|
|
263
|
+
* const shared = new aws.s3.Bucket("shared", {bucket: "shared-bucket"});
|
|
264
|
+
* const sharedBucketNotification = new aws.s3.BucketNotification("shared", {
|
|
265
|
+
* bucket: shared.id,
|
|
264
266
|
* eventbridge: true,
|
|
265
267
|
* });
|
|
268
|
+
* // Team A: process new uploads under uploads/
|
|
269
|
+
* const teamA = new aws.cloudwatch.EventRule("team_a", {
|
|
270
|
+
* name: "team-a-uploads",
|
|
271
|
+
* eventPattern: pulumi.jsonStringify({
|
|
272
|
+
* source: ["aws.s3"],
|
|
273
|
+
* "detail-type": ["Object Created"],
|
|
274
|
+
* detail: {
|
|
275
|
+
* bucket: {
|
|
276
|
+
* name: [shared.bucket],
|
|
277
|
+
* },
|
|
278
|
+
* object: {
|
|
279
|
+
* key: [{
|
|
280
|
+
* prefix: "uploads/",
|
|
281
|
+
* }],
|
|
282
|
+
* },
|
|
283
|
+
* },
|
|
284
|
+
* }),
|
|
285
|
+
* });
|
|
286
|
+
* const teamAEventTarget = new aws.cloudwatch.EventTarget("team_a", {
|
|
287
|
+
* rule: teamA.name,
|
|
288
|
+
* arn: teamAProcessor.arn,
|
|
289
|
+
* });
|
|
290
|
+
* // Team B: archive deletions under archive/, declared in a separate
|
|
291
|
+
* // Terraform configuration that knows nothing about Team A.
|
|
292
|
+
* const teamB = new aws.cloudwatch.EventRule("team_b", {
|
|
293
|
+
* name: "team-b-deletions",
|
|
294
|
+
* eventPattern: pulumi.jsonStringify({
|
|
295
|
+
* source: ["aws.s3"],
|
|
296
|
+
* "detail-type": ["Object Deleted"],
|
|
297
|
+
* detail: {
|
|
298
|
+
* bucket: {
|
|
299
|
+
* name: [shared.bucket],
|
|
300
|
+
* },
|
|
301
|
+
* object: {
|
|
302
|
+
* key: [{
|
|
303
|
+
* prefix: "archive/",
|
|
304
|
+
* }],
|
|
305
|
+
* },
|
|
306
|
+
* },
|
|
307
|
+
* }),
|
|
308
|
+
* });
|
|
309
|
+
* const teamBEventTarget = new aws.cloudwatch.EventTarget("team_b", {
|
|
310
|
+
* rule: teamB.name,
|
|
311
|
+
* arn: teamBArchive.arn,
|
|
312
|
+
* });
|
|
266
313
|
* ```
|
|
267
314
|
*
|
|
315
|
+
* For sharing a bucket between Terraform configurations when EventBridge is not an option, use the `aws.s3.BucketNotification` data source to read existing notifications and re-emit them in your own resource.
|
|
316
|
+
*
|
|
268
317
|
* ## Import
|
|
269
318
|
*
|
|
270
319
|
* ### Identity Schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bucketNotification.d.ts","sourceRoot":"","sources":["../../s3/bucketNotification.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAI3C
|
|
1
|
+
{"version":3,"file":"bucketNotification.d.ts","sourceRoot":"","sources":["../../s3/bucketNotification.ts"],"names":[],"mappings":"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"}
|
package/s3/bucketNotification.js
CHANGED
|
@@ -31,7 +31,7 @@ const utilities = __importStar(require("../utilities"));
|
|
|
31
31
|
/**
|
|
32
32
|
* Manages a S3 Bucket Notification Configuration. For additional information, see the [Configuring S3 Event Notifications section in the Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).
|
|
33
33
|
*
|
|
34
|
-
* > **NOTE:** S3
|
|
34
|
+
* > **NOTE:** The S3 [`PutBucketNotificationConfiguration`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) API is atomic — it replaces the bucket's entire notification configuration on every call. Only one `aws.s3.BucketNotification` resource can manage a bucket; declaring more than one causes a perpetual diff, and applying this resource will overwrite any notifications already on the bucket. To configure multiple destinations on the same bucket, declare them all as nested blocks within a single resource (see Trigger multiple Lambda functions below). To let independent teams or Terraform configurations subscribe to the same bucket without stepping on each other, prefer the Emit events to EventBridge pattern below. To bring existing notifications under management without losing them, see the `aws.s3.BucketNotification` data source.
|
|
35
35
|
*
|
|
36
36
|
* > This resource cannot be used with S3 directory buckets.
|
|
37
37
|
*
|
|
@@ -281,17 +281,66 @@ const utilities = __importStar(require("../utilities"));
|
|
|
281
281
|
*
|
|
282
282
|
* ### Emit events to EventBridge
|
|
283
283
|
*
|
|
284
|
+
* For a bucket shared by multiple independent consumers — different teams, different Terraform configurations, different applications — EventBridge is the recommended pattern. Each consumer subscribes to the bucket through its own `aws.cloudwatch.EventRule`, so they cannot overwrite one another the way notification configurations would.
|
|
285
|
+
*
|
|
284
286
|
* ```typescript
|
|
285
287
|
* import * as pulumi from "@pulumi/pulumi";
|
|
286
288
|
* import * as aws from "@pulumi/aws";
|
|
287
289
|
*
|
|
288
|
-
* const
|
|
289
|
-
* const
|
|
290
|
-
* bucket:
|
|
290
|
+
* const shared = new aws.s3.Bucket("shared", {bucket: "shared-bucket"});
|
|
291
|
+
* const sharedBucketNotification = new aws.s3.BucketNotification("shared", {
|
|
292
|
+
* bucket: shared.id,
|
|
291
293
|
* eventbridge: true,
|
|
292
294
|
* });
|
|
295
|
+
* // Team A: process new uploads under uploads/
|
|
296
|
+
* const teamA = new aws.cloudwatch.EventRule("team_a", {
|
|
297
|
+
* name: "team-a-uploads",
|
|
298
|
+
* eventPattern: pulumi.jsonStringify({
|
|
299
|
+
* source: ["aws.s3"],
|
|
300
|
+
* "detail-type": ["Object Created"],
|
|
301
|
+
* detail: {
|
|
302
|
+
* bucket: {
|
|
303
|
+
* name: [shared.bucket],
|
|
304
|
+
* },
|
|
305
|
+
* object: {
|
|
306
|
+
* key: [{
|
|
307
|
+
* prefix: "uploads/",
|
|
308
|
+
* }],
|
|
309
|
+
* },
|
|
310
|
+
* },
|
|
311
|
+
* }),
|
|
312
|
+
* });
|
|
313
|
+
* const teamAEventTarget = new aws.cloudwatch.EventTarget("team_a", {
|
|
314
|
+
* rule: teamA.name,
|
|
315
|
+
* arn: teamAProcessor.arn,
|
|
316
|
+
* });
|
|
317
|
+
* // Team B: archive deletions under archive/, declared in a separate
|
|
318
|
+
* // Terraform configuration that knows nothing about Team A.
|
|
319
|
+
* const teamB = new aws.cloudwatch.EventRule("team_b", {
|
|
320
|
+
* name: "team-b-deletions",
|
|
321
|
+
* eventPattern: pulumi.jsonStringify({
|
|
322
|
+
* source: ["aws.s3"],
|
|
323
|
+
* "detail-type": ["Object Deleted"],
|
|
324
|
+
* detail: {
|
|
325
|
+
* bucket: {
|
|
326
|
+
* name: [shared.bucket],
|
|
327
|
+
* },
|
|
328
|
+
* object: {
|
|
329
|
+
* key: [{
|
|
330
|
+
* prefix: "archive/",
|
|
331
|
+
* }],
|
|
332
|
+
* },
|
|
333
|
+
* },
|
|
334
|
+
* }),
|
|
335
|
+
* });
|
|
336
|
+
* const teamBEventTarget = new aws.cloudwatch.EventTarget("team_b", {
|
|
337
|
+
* rule: teamB.name,
|
|
338
|
+
* arn: teamBArchive.arn,
|
|
339
|
+
* });
|
|
293
340
|
* ```
|
|
294
341
|
*
|
|
342
|
+
* For sharing a bucket between Terraform configurations when EventBridge is not an option, use the `aws.s3.BucketNotification` data source to read existing notifications and re-emit them in your own resource.
|
|
343
|
+
*
|
|
295
344
|
* ## Import
|
|
296
345
|
*
|
|
297
346
|
* ### Identity Schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bucketNotification.js","sourceRoot":"","sources":["../../s3/bucketNotification.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;AAEjF,uDAAyC;AAIzC,wDAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"bucketNotification.js","sourceRoot":"","sources":["../../s3/bucketNotification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as outputs from "../types/output";
|
|
3
|
+
/**
|
|
4
|
+
* Provides details about the notification configuration of an S3 bucket.
|
|
5
|
+
*
|
|
6
|
+
* Useful when `aws.s3.BucketNotification` is the right resource but the bucket already has notifications you do not manage. Read the existing notifications with this data source and re-emit them — alongside your own — in a single `aws.s3.BucketNotification` resource. See issue #501 for the longer story. For sharing a bucket across many independent consumers, enabling EventBridge on the resource is usually a better fit.
|
|
7
|
+
*
|
|
8
|
+
* ## Example Usage
|
|
9
|
+
*
|
|
10
|
+
* ### Basic Usage
|
|
11
|
+
*
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
14
|
+
* import * as aws from "@pulumi/aws";
|
|
15
|
+
*
|
|
16
|
+
* const example = aws.s3.getBucketNotification({
|
|
17
|
+
* bucket: "example-bucket",
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* ### Conditionally Subscribe via EventBridge
|
|
22
|
+
*
|
|
23
|
+
* When the bucket forwards events to Amazon EventBridge, independent consumers can subscribe with their own `aws.cloudwatch.EventRule` resources. Use this data source to subscribe only when EventBridge is in fact enabled on the bucket.
|
|
24
|
+
*
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
27
|
+
* import * as aws from "@pulumi/aws";
|
|
28
|
+
*
|
|
29
|
+
* export = async () => {
|
|
30
|
+
* const shared = await aws.s3.getBucketNotification({
|
|
31
|
+
* bucket: "shared-bucket",
|
|
32
|
+
* });
|
|
33
|
+
* const s3ObjectCreated: aws.cloudwatch.EventRule[] = [];
|
|
34
|
+
* for (const range = {value: 0}; range.value < (shared.eventbridge ? 1 : 0); range.value++) {
|
|
35
|
+
* s3ObjectCreated.push(new aws.cloudwatch.EventRule(`s3_object_created-${range.value}`, {
|
|
36
|
+
* name: "shared-bucket-object-created",
|
|
37
|
+
* description: "S3 object-created events from the shared bucket.",
|
|
38
|
+
* eventPattern: JSON.stringify({
|
|
39
|
+
* source: ["aws.s3"],
|
|
40
|
+
* "detail-type": ["Object Created"],
|
|
41
|
+
* detail: {
|
|
42
|
+
* bucket: {
|
|
43
|
+
* name: [shared.bucket],
|
|
44
|
+
* },
|
|
45
|
+
* },
|
|
46
|
+
* }),
|
|
47
|
+
* }));
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* ### Read Existing Notifications and Re-emit Them
|
|
53
|
+
*
|
|
54
|
+
* The S3 [`PutBucketNotificationConfiguration`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) API replaces the entire notification configuration on every call, so a single `aws.s3.BucketNotification` resource owns the bucket. To preserve notifications already on the bucket — or to mirror one bucket's configuration onto another — read them with this data source and pass them through `dynamic` blocks. The data source's output shape matches the resource's input shape, so each block forwards directly.
|
|
55
|
+
*
|
|
56
|
+
* ```typescript
|
|
57
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
58
|
+
* import * as aws from "@pulumi/aws";
|
|
59
|
+
*
|
|
60
|
+
* const existing = aws.s3.getBucketNotification({
|
|
61
|
+
* bucket: exampleAwsS3Bucket.id,
|
|
62
|
+
* });
|
|
63
|
+
* const example = new aws.s3.BucketNotification("example", {
|
|
64
|
+
* lambdaFunctions: .map(entry => ({
|
|
65
|
+
* id: entry.value.id,
|
|
66
|
+
* lambdaFunctionArn: entry.value.lambdaFunctionArn,
|
|
67
|
+
* events: entry.value.events,
|
|
68
|
+
* filterPrefix: entry.value.filterPrefix,
|
|
69
|
+
* filterSuffix: entry.value.filterSuffix,
|
|
70
|
+
* })),
|
|
71
|
+
* queues: .map(entry2 => ({
|
|
72
|
+
* id: entry2.value.id,
|
|
73
|
+
* queueArn: entry2.value.queueArn,
|
|
74
|
+
* events: entry2.value.events,
|
|
75
|
+
* filterPrefix: entry2.value.filterPrefix,
|
|
76
|
+
* filterSuffix: entry2.value.filterSuffix,
|
|
77
|
+
* })),
|
|
78
|
+
* topics: .map(entry3 => ({
|
|
79
|
+
* id: entry3.value.id,
|
|
80
|
+
* topicArn: entry3.value.topicArn,
|
|
81
|
+
* events: entry3.value.events,
|
|
82
|
+
* filterPrefix: entry3.value.filterPrefix,
|
|
83
|
+
* filterSuffix: entry3.value.filterSuffix,
|
|
84
|
+
* })),
|
|
85
|
+
* bucket: exampleAwsS3Bucket.id,
|
|
86
|
+
* eventbridge: existing.then(existing => existing.eventbridge),
|
|
87
|
+
* });
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* To add a new rule alongside existing ones, exclude IDs your resource owns from the iteration to avoid duplicates, and declare those rules separately:
|
|
91
|
+
*
|
|
92
|
+
* ```typescript
|
|
93
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
94
|
+
* import * as aws from "@pulumi/aws";
|
|
95
|
+
*
|
|
96
|
+
* const example = new aws.s3.BucketNotification("example", {
|
|
97
|
+
* lambdaFunctions: [{
|
|
98
|
+
* id: "my-team-rule",
|
|
99
|
+
* lambdaFunctionArn: mine.arn,
|
|
100
|
+
* events: ["s3:ObjectRemoved:*"],
|
|
101
|
+
* }],
|
|
102
|
+
* bucket: exampleAwsS3Bucket.id,
|
|
103
|
+
* });
|
|
104
|
+
* ```
|
|
105
|
+
*
|
|
106
|
+
* > **Note:** The S3 API has no per-rule mutation primitive and no compare-and-swap, so two `pulumi up` runs from different state files writing to the same bucket can still race. For independent consumers of one bucket, EventBridge is generally a better fit.
|
|
107
|
+
*/
|
|
108
|
+
export declare function getBucketNotification(args: GetBucketNotificationArgs, opts?: pulumi.InvokeOptions): Promise<GetBucketNotificationResult>;
|
|
109
|
+
/**
|
|
110
|
+
* A collection of arguments for invoking getBucketNotification.
|
|
111
|
+
*/
|
|
112
|
+
export interface GetBucketNotificationArgs {
|
|
113
|
+
/**
|
|
114
|
+
* Name of the bucket.
|
|
115
|
+
*/
|
|
116
|
+
bucket: string;
|
|
117
|
+
/**
|
|
118
|
+
* 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.
|
|
119
|
+
*/
|
|
120
|
+
region?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* A collection of values returned by getBucketNotification.
|
|
124
|
+
*/
|
|
125
|
+
export interface GetBucketNotificationResult {
|
|
126
|
+
readonly bucket: string;
|
|
127
|
+
/**
|
|
128
|
+
* Whether Amazon EventBridge notifications are enabled on this bucket.
|
|
129
|
+
*/
|
|
130
|
+
readonly eventbridge: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* The provider-assigned unique ID for this managed resource.
|
|
133
|
+
*/
|
|
134
|
+
readonly id: string;
|
|
135
|
+
/**
|
|
136
|
+
* List of Lambda function notification configurations. See `lambdaFunction` below.
|
|
137
|
+
*/
|
|
138
|
+
readonly lambdaFunctions: outputs.s3.GetBucketNotificationLambdaFunction[];
|
|
139
|
+
/**
|
|
140
|
+
* List of SQS queue notification configurations. See `queue` below.
|
|
141
|
+
*/
|
|
142
|
+
readonly queues: outputs.s3.GetBucketNotificationQueue[];
|
|
143
|
+
readonly region: string;
|
|
144
|
+
/**
|
|
145
|
+
* List of SNS topic notification configurations. See `topic` below.
|
|
146
|
+
*/
|
|
147
|
+
readonly topics: outputs.s3.GetBucketNotificationTopic[];
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Provides details about the notification configuration of an S3 bucket.
|
|
151
|
+
*
|
|
152
|
+
* Useful when `aws.s3.BucketNotification` is the right resource but the bucket already has notifications you do not manage. Read the existing notifications with this data source and re-emit them — alongside your own — in a single `aws.s3.BucketNotification` resource. See issue #501 for the longer story. For sharing a bucket across many independent consumers, enabling EventBridge on the resource is usually a better fit.
|
|
153
|
+
*
|
|
154
|
+
* ## Example Usage
|
|
155
|
+
*
|
|
156
|
+
* ### Basic Usage
|
|
157
|
+
*
|
|
158
|
+
* ```typescript
|
|
159
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
160
|
+
* import * as aws from "@pulumi/aws";
|
|
161
|
+
*
|
|
162
|
+
* const example = aws.s3.getBucketNotification({
|
|
163
|
+
* bucket: "example-bucket",
|
|
164
|
+
* });
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
167
|
+
* ### Conditionally Subscribe via EventBridge
|
|
168
|
+
*
|
|
169
|
+
* When the bucket forwards events to Amazon EventBridge, independent consumers can subscribe with their own `aws.cloudwatch.EventRule` resources. Use this data source to subscribe only when EventBridge is in fact enabled on the bucket.
|
|
170
|
+
*
|
|
171
|
+
* ```typescript
|
|
172
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
173
|
+
* import * as aws from "@pulumi/aws";
|
|
174
|
+
*
|
|
175
|
+
* export = async () => {
|
|
176
|
+
* const shared = await aws.s3.getBucketNotification({
|
|
177
|
+
* bucket: "shared-bucket",
|
|
178
|
+
* });
|
|
179
|
+
* const s3ObjectCreated: aws.cloudwatch.EventRule[] = [];
|
|
180
|
+
* for (const range = {value: 0}; range.value < (shared.eventbridge ? 1 : 0); range.value++) {
|
|
181
|
+
* s3ObjectCreated.push(new aws.cloudwatch.EventRule(`s3_object_created-${range.value}`, {
|
|
182
|
+
* name: "shared-bucket-object-created",
|
|
183
|
+
* description: "S3 object-created events from the shared bucket.",
|
|
184
|
+
* eventPattern: JSON.stringify({
|
|
185
|
+
* source: ["aws.s3"],
|
|
186
|
+
* "detail-type": ["Object Created"],
|
|
187
|
+
* detail: {
|
|
188
|
+
* bucket: {
|
|
189
|
+
* name: [shared.bucket],
|
|
190
|
+
* },
|
|
191
|
+
* },
|
|
192
|
+
* }),
|
|
193
|
+
* }));
|
|
194
|
+
* }
|
|
195
|
+
* }
|
|
196
|
+
* ```
|
|
197
|
+
*
|
|
198
|
+
* ### Read Existing Notifications and Re-emit Them
|
|
199
|
+
*
|
|
200
|
+
* The S3 [`PutBucketNotificationConfiguration`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) API replaces the entire notification configuration on every call, so a single `aws.s3.BucketNotification` resource owns the bucket. To preserve notifications already on the bucket — or to mirror one bucket's configuration onto another — read them with this data source and pass them through `dynamic` blocks. The data source's output shape matches the resource's input shape, so each block forwards directly.
|
|
201
|
+
*
|
|
202
|
+
* ```typescript
|
|
203
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
204
|
+
* import * as aws from "@pulumi/aws";
|
|
205
|
+
*
|
|
206
|
+
* const existing = aws.s3.getBucketNotification({
|
|
207
|
+
* bucket: exampleAwsS3Bucket.id,
|
|
208
|
+
* });
|
|
209
|
+
* const example = new aws.s3.BucketNotification("example", {
|
|
210
|
+
* lambdaFunctions: .map(entry => ({
|
|
211
|
+
* id: entry.value.id,
|
|
212
|
+
* lambdaFunctionArn: entry.value.lambdaFunctionArn,
|
|
213
|
+
* events: entry.value.events,
|
|
214
|
+
* filterPrefix: entry.value.filterPrefix,
|
|
215
|
+
* filterSuffix: entry.value.filterSuffix,
|
|
216
|
+
* })),
|
|
217
|
+
* queues: .map(entry2 => ({
|
|
218
|
+
* id: entry2.value.id,
|
|
219
|
+
* queueArn: entry2.value.queueArn,
|
|
220
|
+
* events: entry2.value.events,
|
|
221
|
+
* filterPrefix: entry2.value.filterPrefix,
|
|
222
|
+
* filterSuffix: entry2.value.filterSuffix,
|
|
223
|
+
* })),
|
|
224
|
+
* topics: .map(entry3 => ({
|
|
225
|
+
* id: entry3.value.id,
|
|
226
|
+
* topicArn: entry3.value.topicArn,
|
|
227
|
+
* events: entry3.value.events,
|
|
228
|
+
* filterPrefix: entry3.value.filterPrefix,
|
|
229
|
+
* filterSuffix: entry3.value.filterSuffix,
|
|
230
|
+
* })),
|
|
231
|
+
* bucket: exampleAwsS3Bucket.id,
|
|
232
|
+
* eventbridge: existing.then(existing => existing.eventbridge),
|
|
233
|
+
* });
|
|
234
|
+
* ```
|
|
235
|
+
*
|
|
236
|
+
* To add a new rule alongside existing ones, exclude IDs your resource owns from the iteration to avoid duplicates, and declare those rules separately:
|
|
237
|
+
*
|
|
238
|
+
* ```typescript
|
|
239
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
240
|
+
* import * as aws from "@pulumi/aws";
|
|
241
|
+
*
|
|
242
|
+
* const example = new aws.s3.BucketNotification("example", {
|
|
243
|
+
* lambdaFunctions: [{
|
|
244
|
+
* id: "my-team-rule",
|
|
245
|
+
* lambdaFunctionArn: mine.arn,
|
|
246
|
+
* events: ["s3:ObjectRemoved:*"],
|
|
247
|
+
* }],
|
|
248
|
+
* bucket: exampleAwsS3Bucket.id,
|
|
249
|
+
* });
|
|
250
|
+
* ```
|
|
251
|
+
*
|
|
252
|
+
* > **Note:** The S3 API has no per-rule mutation primitive and no compare-and-swap, so two `pulumi up` runs from different state files writing to the same bucket can still race. For independent consumers of one bucket, EventBridge is generally a better fit.
|
|
253
|
+
*/
|
|
254
|
+
export declare function getBucketNotificationOutput(args: GetBucketNotificationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBucketNotificationResult>;
|
|
255
|
+
/**
|
|
256
|
+
* A collection of arguments for invoking getBucketNotification.
|
|
257
|
+
*/
|
|
258
|
+
export interface GetBucketNotificationOutputArgs {
|
|
259
|
+
/**
|
|
260
|
+
* Name of the bucket.
|
|
261
|
+
*/
|
|
262
|
+
bucket: pulumi.Input<string>;
|
|
263
|
+
/**
|
|
264
|
+
* 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.
|
|
265
|
+
*/
|
|
266
|
+
region?: pulumi.Input<string | undefined>;
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=getBucketNotification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBucketNotification.d.ts","sourceRoot":"","sources":["../../s3/getBucketNotification.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAI3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAMxI;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,mCAAmC,EAAE,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC;CAC5D;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,+BAA+B,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAMhK;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C"}
|