@pulumi/aws 6.83.0-alpha.1749735083 → 6.83.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.
- package/amp/index.d.ts +3 -0
- package/amp/index.js +6 -1
- package/amp/index.js.map +1 -1
- package/amp/workspaceConfiguration.d.ts +149 -0
- package/amp/workspaceConfiguration.js +124 -0
- package/amp/workspaceConfiguration.js.map +1 -0
- package/cloudfront/keyvaluestoreKeysExclusive.d.ts +12 -0
- package/cloudfront/keyvaluestoreKeysExclusive.js +2 -0
- package/cloudfront/keyvaluestoreKeysExclusive.js.map +1 -1
- package/dsql/cluster.d.ts +170 -0
- package/dsql/cluster.js +94 -0
- package/dsql/cluster.js.map +1 -0
- package/dsql/clusterPeering.d.ts +114 -0
- package/dsql/clusterPeering.js +101 -0
- package/dsql/clusterPeering.js.map +1 -0
- package/dsql/index.d.ts +6 -0
- package/dsql/index.js +27 -0
- package/dsql/index.js.map +1 -0
- package/ec2/vpnConnection.d.ts +20 -0
- package/ec2/vpnConnection.js +4 -0
- package/ec2/vpnConnection.js.map +1 -1
- package/fsx/lustreFileSystem.d.ts +18 -3
- package/fsx/lustreFileSystem.js +4 -0
- package/fsx/lustreFileSystem.js.map +1 -1
- package/glue/job.d.ts +102 -5
- package/glue/job.js +102 -5
- package/glue/job.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +7 -3
- package/index.js.map +1 -1
- package/lambda/codeSigningConfig.d.ts +2 -2
- package/lambda/codeSigningConfig.js +2 -2
- package/lightsail/bucket.d.ts +40 -28
- package/lightsail/bucket.js +4 -4
- package/lightsail/bucket.js.map +1 -1
- package/lightsail/bucketAccessKey.d.ts +16 -16
- package/lightsail/bucketAccessKey.js +5 -5
- package/lightsail/bucketResourceAccess.d.ts +30 -8
- package/lightsail/bucketResourceAccess.js +24 -2
- package/lightsail/bucketResourceAccess.js.map +1 -1
- package/lightsail/certificate.d.ts +29 -23
- package/lightsail/certificate.js +6 -6
- package/lightsail/certificate.js.map +1 -1
- package/lightsail/containerService.d.ts +62 -97
- package/lightsail/containerService.js +11 -15
- package/lightsail/containerService.js.map +1 -1
- package/lightsail/containerServiceDeploymentVersion.d.ts +22 -16
- package/lightsail/containerServiceDeploymentVersion.js +1 -1
- package/lightsail/containerServiceDeploymentVersion.js.map +1 -1
- package/lightsail/database.d.ts +113 -109
- package/lightsail/database.js +36 -38
- package/lightsail/database.js.map +1 -1
- package/lightsail/disk.d.ts +30 -24
- package/lightsail/disk.js +4 -4
- package/lightsail/disk.js.map +1 -1
- package/lightsail/disk_attachment.d.ts +19 -19
- package/lightsail/disk_attachment.js +10 -10
- package/lightsail/distribution.d.ts +84 -88
- package/lightsail/distribution.js +32 -38
- package/lightsail/distribution.js.map +1 -1
- package/lightsail/domain.d.ts +10 -12
- package/lightsail/domain.js +5 -7
- package/lightsail/domain.js.map +1 -1
- package/lightsail/domainEntry.d.ts +27 -21
- package/lightsail/domainEntry.js +6 -6
- package/lightsail/domainEntry.js.map +1 -1
- package/lightsail/instance.d.ts +60 -78
- package/lightsail/instance.js +9 -12
- package/lightsail/instance.js.map +1 -1
- package/lightsail/instancePublicPorts.d.ts +29 -14
- package/lightsail/instancePublicPorts.js +26 -11
- package/lightsail/instancePublicPorts.js.map +1 -1
- package/lightsail/keyPair.d.ts +44 -34
- package/lightsail/keyPair.js +6 -9
- package/lightsail/keyPair.js.map +1 -1
- package/lightsail/lb.d.ts +47 -30
- package/lightsail/lb.js +6 -4
- package/lightsail/lb.js.map +1 -1
- package/lightsail/lbAttachment.d.ts +15 -15
- package/lightsail/lbAttachment.js +9 -9
- package/lightsail/lbCertificate.d.ts +41 -21
- package/lightsail/lbCertificate.js +10 -8
- package/lightsail/lbCertificate.js.map +1 -1
- package/lightsail/lbCertificateAttachment.d.ts +19 -17
- package/lightsail/lbCertificateAttachment.js +13 -11
- package/lightsail/lbCertificateAttachment.js.map +1 -1
- package/lightsail/lbHttpsRedirectionPolicy.d.ts +21 -19
- package/lightsail/lbHttpsRedirectionPolicy.js +15 -13
- package/lightsail/lbHttpsRedirectionPolicy.js.map +1 -1
- package/lightsail/lbStickinessPolicy.d.ts +17 -15
- package/lightsail/lbStickinessPolicy.js +8 -6
- package/lightsail/lbStickinessPolicy.js.map +1 -1
- package/lightsail/staticIp.d.ts +22 -12
- package/lightsail/staticIp.js +13 -3
- package/lightsail/staticIp.js.map +1 -1
- package/lightsail/staticIpAttachment.d.ts +28 -19
- package/lightsail/staticIpAttachment.js +20 -11
- package/lightsail/staticIpAttachment.js.map +1 -1
- package/neptune/cluster.d.ts +81 -90
- package/neptune/cluster.js.map +1 -1
- package/neptune/getEngineVersion.d.ts +95 -13
- package/neptune/getEngineVersion.js +22 -6
- package/neptune/getEngineVersion.js.map +1 -1
- package/neptune/globalCluster.d.ts +11 -14
- package/neptune/globalCluster.js.map +1 -1
- package/networkfirewall/ruleGroup.d.ts +46 -0
- package/networkfirewall/ruleGroup.js +46 -0
- package/networkfirewall/ruleGroup.js.map +1 -1
- package/package.json +2 -2
- package/pinpoint/smsvoicev2PhoneNumber.d.ts +12 -0
- package/pinpoint/smsvoicev2PhoneNumber.js +2 -0
- package/pinpoint/smsvoicev2PhoneNumber.js.map +1 -1
- package/s3/accessPoint.d.ts +22 -1
- package/s3/accessPoint.js +22 -1
- package/s3/accessPoint.js.map +1 -1
- package/s3control/directoryBucketAccessPointScope.d.ts +120 -0
- package/s3control/directoryBucketAccessPointScope.js +102 -0
- package/s3control/directoryBucketAccessPointScope.js.map +1 -0
- package/s3control/index.d.ts +3 -0
- package/s3control/index.js +6 -1
- package/s3control/index.js.map +1 -1
- package/ssm/association.d.ts +155 -0
- package/ssm/association.js +155 -0
- package/ssm/association.js.map +1 -1
- package/types/input.d.ts +579 -56
- package/types/input.js.map +1 -1
- package/types/output.d.ts +579 -56
- package/types/output.js.map +1 -1
- package/vpc/index.d.ts +15 -0
- package/vpc/index.js +26 -1
- package/vpc/index.js.map +1 -1
- package/vpc/routeServer.d.ts +197 -0
- package/vpc/routeServer.js +114 -0
- package/vpc/routeServer.js.map +1 -0
- package/vpc/routeServerEndpoint.d.ts +173 -0
- package/vpc/routeServerEndpoint.js +101 -0
- package/vpc/routeServerEndpoint.js.map +1 -0
- package/vpc/routeServerPeer.d.ts +233 -0
- package/vpc/routeServerPeer.js +154 -0
- package/vpc/routeServerPeer.js.map +1 -0
- package/vpc/routeServerPropagation.d.ts +90 -0
- package/vpc/routeServerPropagation.js +84 -0
- package/vpc/routeServerPropagation.js.map +1 -0
- package/vpc/routeServerVpcAssociation.d.ts +90 -0
- package/vpc/routeServerVpcAssociation.js +84 -0
- package/vpc/routeServerVpcAssociation.js.map +1 -0
- package/workspaces/index.d.ts +9 -0
- package/workspaces/index.js +16 -1
- package/workspaces/index.js.map +1 -1
- package/workspaces/webBrowserSettings.d.ts +5 -2
- package/workspaces/webBrowserSettings.js +7 -2
- package/workspaces/webBrowserSettings.js.map +1 -1
- package/workspaces/webDataProtectionSettings.d.ts +264 -0
- package/workspaces/webDataProtectionSettings.js +174 -0
- package/workspaces/webDataProtectionSettings.js.map +1 -0
- package/workspaces/webIpAccessSettings.d.ts +245 -0
- package/workspaces/webIpAccessSettings.js +155 -0
- package/workspaces/webIpAccessSettings.js.map +1 -0
- package/workspaces/webNetworkSettings.d.ts +4 -1
- package/workspaces/webNetworkSettings.js +6 -1
- package/workspaces/webNetworkSettings.js.map +1 -1
- package/workspaces/webUserAccessLoggingSettings.d.ts +152 -0
- package/workspaces/webUserAccessLoggingSettings.js +110 -0
- package/workspaces/webUserAccessLoggingSettings.js.map +1 -0
- package/workspaces/webUserSettings.d.ts +6 -3
- package/workspaces/webUserSettings.js +8 -3
- package/workspaces/webUserSettings.js.map +1 -1
- package/workspacesweb/browserSettings.d.ts +190 -0
- package/workspacesweb/browserSettings.js +122 -0
- package/workspacesweb/browserSettings.js.map +1 -0
- package/workspacesweb/dataProtectionSettings.d.ts +261 -0
- package/workspacesweb/dataProtectionSettings.js +171 -0
- package/workspacesweb/dataProtectionSettings.js.map +1 -0
- package/workspacesweb/index.d.ts +18 -0
- package/workspacesweb/index.js +47 -0
- package/workspacesweb/index.js.map +1 -0
- package/workspacesweb/ipAccessSettings.d.ts +242 -0
- package/workspacesweb/ipAccessSettings.js +152 -0
- package/workspacesweb/ipAccessSettings.js.map +1 -0
- package/workspacesweb/networkSettings.d.ts +181 -0
- package/workspacesweb/networkSettings.js +125 -0
- package/workspacesweb/networkSettings.js.map +1 -0
- package/workspacesweb/userAccessLoggingSettings.d.ts +149 -0
- package/workspacesweb/userAccessLoggingSettings.js +107 -0
- package/workspacesweb/userAccessLoggingSettings.js.map +1 -0
- package/workspacesweb/userSettings.d.ts +342 -0
- package/workspacesweb/userSettings.js +194 -0
- package/workspacesweb/userSettings.js.map +1 -0
package/s3/accessPoint.js
CHANGED
|
@@ -12,7 +12,7 @@ const utilities = require("../utilities");
|
|
|
12
12
|
*
|
|
13
13
|
* > Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration), not the `s3` endpoint provider configuration.
|
|
14
14
|
*
|
|
15
|
-
* > This resource
|
|
15
|
+
* > This resource can be used with s3 directory buckets. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html) for more information.
|
|
16
16
|
*
|
|
17
17
|
* ## Example Usage
|
|
18
18
|
*
|
|
@@ -46,6 +46,27 @@ const utilities = require("../utilities");
|
|
|
46
46
|
* });
|
|
47
47
|
* ```
|
|
48
48
|
*
|
|
49
|
+
* ### AWS Partition Directory Bucket
|
|
50
|
+
*
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
53
|
+
* import * as aws from "@pulumi/aws";
|
|
54
|
+
*
|
|
55
|
+
* const available = aws.getAvailabilityZones({
|
|
56
|
+
* state: "available",
|
|
57
|
+
* });
|
|
58
|
+
* const example = new aws.s3.DirectoryBucket("example", {
|
|
59
|
+
* bucket: "example--zoneId--x-s3",
|
|
60
|
+
* location: {
|
|
61
|
+
* name: available.then(available => available.zoneIds?.[0]),
|
|
62
|
+
* },
|
|
63
|
+
* });
|
|
64
|
+
* const exampleAccessPoint = new aws.s3.AccessPoint("example", {
|
|
65
|
+
* bucket: test.bucket,
|
|
66
|
+
* name: "example--zoneId--xa-s3",
|
|
67
|
+
* });
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
49
70
|
* ## Import
|
|
50
71
|
*
|
|
51
72
|
* Import using the ARN for Access Points associated with an S3 on Outposts Bucket:
|
package/s3/accessPoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessPoint.js","sourceRoot":"","sources":["../../s3/accessPoint.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"accessPoint.js","sourceRoot":"","sources":["../../s3/accessPoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "../types/input";
|
|
3
|
+
import * as outputs from "../types/output";
|
|
4
|
+
/**
|
|
5
|
+
* ## Example Usage
|
|
6
|
+
*
|
|
7
|
+
* ### S3 Access Point Scope for a directory bucket in an AWS Local Zone
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as aws from "@pulumi/aws";
|
|
12
|
+
*
|
|
13
|
+
* const available = aws.getAvailabilityZones({
|
|
14
|
+
* state: "available",
|
|
15
|
+
* });
|
|
16
|
+
* const example = new aws.s3.DirectoryBucket("example", {
|
|
17
|
+
* bucket: "example--zoneId--x-s3",
|
|
18
|
+
* location: {
|
|
19
|
+
* name: available.then(available => available.zoneIds?.[0]),
|
|
20
|
+
* },
|
|
21
|
+
* });
|
|
22
|
+
* const exampleAccessPoint = new aws.s3.AccessPoint("example", {
|
|
23
|
+
* bucket: example.id,
|
|
24
|
+
* name: "example--zoneId--xa-s3",
|
|
25
|
+
* });
|
|
26
|
+
* const exampleDirectoryBucketAccessPointScope = new aws.s3control.DirectoryBucketAccessPointScope("example", {
|
|
27
|
+
* name: "example--zoneId--xa-s3",
|
|
28
|
+
* accountId: "123456789012",
|
|
29
|
+
* scope: {
|
|
30
|
+
* permissions: [
|
|
31
|
+
* "GetObject",
|
|
32
|
+
* "ListBucket",
|
|
33
|
+
* ],
|
|
34
|
+
* prefixes: [
|
|
35
|
+
* "myobject1.csv",
|
|
36
|
+
* "myobject2*",
|
|
37
|
+
* ],
|
|
38
|
+
* },
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* ## Import
|
|
43
|
+
*
|
|
44
|
+
* Using `pulumi import`, import Access Point Scope using access point name and AWS account ID separated by a colon (`,`). For example:
|
|
45
|
+
*
|
|
46
|
+
* ```sh
|
|
47
|
+
* $ pulumi import aws:s3control/directoryBucketAccessPointScope:DirectoryBucketAccessPointScope example example--zoneid--xa-s3,123456789012
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare class DirectoryBucketAccessPointScope extends pulumi.CustomResource {
|
|
51
|
+
/**
|
|
52
|
+
* Get an existing DirectoryBucketAccessPointScope resource's state with the given name, ID, and optional extra
|
|
53
|
+
* properties used to qualify the lookup.
|
|
54
|
+
*
|
|
55
|
+
* @param name The _unique_ name of the resulting resource.
|
|
56
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
57
|
+
* @param state Any extra arguments used during the lookup.
|
|
58
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
59
|
+
*/
|
|
60
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DirectoryBucketAccessPointScopeState, opts?: pulumi.CustomResourceOptions): DirectoryBucketAccessPointScope;
|
|
61
|
+
/**
|
|
62
|
+
* Returns true if the given object is an instance of DirectoryBucketAccessPointScope. This is designed to work even
|
|
63
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
64
|
+
*/
|
|
65
|
+
static isInstance(obj: any): obj is DirectoryBucketAccessPointScope;
|
|
66
|
+
/**
|
|
67
|
+
* The AWS account ID that owns the specified access point.
|
|
68
|
+
*/
|
|
69
|
+
readonly accountId: pulumi.Output<string>;
|
|
70
|
+
/**
|
|
71
|
+
* The name of the access point that you want to apply the scope to.
|
|
72
|
+
*/
|
|
73
|
+
readonly name: pulumi.Output<string>;
|
|
74
|
+
/**
|
|
75
|
+
* . Scope is used to restrict access to specific prefixes, API operations, or a combination of both. To remove the `scope`, set it to `{permissions=[] prefixes=[]}`. The default scope is `{permissions=[] prefixes=[]}`.
|
|
76
|
+
*/
|
|
77
|
+
readonly scope: pulumi.Output<outputs.s3control.DirectoryBucketAccessPointScopeScope | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* Create a DirectoryBucketAccessPointScope resource with the given unique name, arguments, and options.
|
|
80
|
+
*
|
|
81
|
+
* @param name The _unique_ name of the resource.
|
|
82
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
83
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
84
|
+
*/
|
|
85
|
+
constructor(name: string, args: DirectoryBucketAccessPointScopeArgs, opts?: pulumi.CustomResourceOptions);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Input properties used for looking up and filtering DirectoryBucketAccessPointScope resources.
|
|
89
|
+
*/
|
|
90
|
+
export interface DirectoryBucketAccessPointScopeState {
|
|
91
|
+
/**
|
|
92
|
+
* The AWS account ID that owns the specified access point.
|
|
93
|
+
*/
|
|
94
|
+
accountId?: pulumi.Input<string>;
|
|
95
|
+
/**
|
|
96
|
+
* The name of the access point that you want to apply the scope to.
|
|
97
|
+
*/
|
|
98
|
+
name?: pulumi.Input<string>;
|
|
99
|
+
/**
|
|
100
|
+
* . Scope is used to restrict access to specific prefixes, API operations, or a combination of both. To remove the `scope`, set it to `{permissions=[] prefixes=[]}`. The default scope is `{permissions=[] prefixes=[]}`.
|
|
101
|
+
*/
|
|
102
|
+
scope?: pulumi.Input<inputs.s3control.DirectoryBucketAccessPointScopeScope>;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The set of arguments for constructing a DirectoryBucketAccessPointScope resource.
|
|
106
|
+
*/
|
|
107
|
+
export interface DirectoryBucketAccessPointScopeArgs {
|
|
108
|
+
/**
|
|
109
|
+
* The AWS account ID that owns the specified access point.
|
|
110
|
+
*/
|
|
111
|
+
accountId: pulumi.Input<string>;
|
|
112
|
+
/**
|
|
113
|
+
* The name of the access point that you want to apply the scope to.
|
|
114
|
+
*/
|
|
115
|
+
name?: pulumi.Input<string>;
|
|
116
|
+
/**
|
|
117
|
+
* . Scope is used to restrict access to specific prefixes, API operations, or a combination of both. To remove the `scope`, set it to `{permissions=[] prefixes=[]}`. The default scope is `{permissions=[] prefixes=[]}`.
|
|
118
|
+
*/
|
|
119
|
+
scope?: pulumi.Input<inputs.s3control.DirectoryBucketAccessPointScopeScope>;
|
|
120
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
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.DirectoryBucketAccessPointScope = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ### S3 Access Point Scope for a directory bucket in an AWS Local Zone
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as aws from "@pulumi/aws";
|
|
16
|
+
*
|
|
17
|
+
* const available = aws.getAvailabilityZones({
|
|
18
|
+
* state: "available",
|
|
19
|
+
* });
|
|
20
|
+
* const example = new aws.s3.DirectoryBucket("example", {
|
|
21
|
+
* bucket: "example--zoneId--x-s3",
|
|
22
|
+
* location: {
|
|
23
|
+
* name: available.then(available => available.zoneIds?.[0]),
|
|
24
|
+
* },
|
|
25
|
+
* });
|
|
26
|
+
* const exampleAccessPoint = new aws.s3.AccessPoint("example", {
|
|
27
|
+
* bucket: example.id,
|
|
28
|
+
* name: "example--zoneId--xa-s3",
|
|
29
|
+
* });
|
|
30
|
+
* const exampleDirectoryBucketAccessPointScope = new aws.s3control.DirectoryBucketAccessPointScope("example", {
|
|
31
|
+
* name: "example--zoneId--xa-s3",
|
|
32
|
+
* accountId: "123456789012",
|
|
33
|
+
* scope: {
|
|
34
|
+
* permissions: [
|
|
35
|
+
* "GetObject",
|
|
36
|
+
* "ListBucket",
|
|
37
|
+
* ],
|
|
38
|
+
* prefixes: [
|
|
39
|
+
* "myobject1.csv",
|
|
40
|
+
* "myobject2*",
|
|
41
|
+
* ],
|
|
42
|
+
* },
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* ## Import
|
|
47
|
+
*
|
|
48
|
+
* Using `pulumi import`, import Access Point Scope using access point name and AWS account ID separated by a colon (`,`). For example:
|
|
49
|
+
*
|
|
50
|
+
* ```sh
|
|
51
|
+
* $ pulumi import aws:s3control/directoryBucketAccessPointScope:DirectoryBucketAccessPointScope example example--zoneid--xa-s3,123456789012
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
class DirectoryBucketAccessPointScope extends pulumi.CustomResource {
|
|
55
|
+
/**
|
|
56
|
+
* Get an existing DirectoryBucketAccessPointScope resource's state with the given name, ID, and optional extra
|
|
57
|
+
* properties used to qualify the lookup.
|
|
58
|
+
*
|
|
59
|
+
* @param name The _unique_ name of the resulting resource.
|
|
60
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
61
|
+
* @param state Any extra arguments used during the lookup.
|
|
62
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
63
|
+
*/
|
|
64
|
+
static get(name, id, state, opts) {
|
|
65
|
+
return new DirectoryBucketAccessPointScope(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Returns true if the given object is an instance of DirectoryBucketAccessPointScope. This is designed to work even
|
|
69
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
70
|
+
*/
|
|
71
|
+
static isInstance(obj) {
|
|
72
|
+
if (obj === undefined || obj === null) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return obj['__pulumiType'] === DirectoryBucketAccessPointScope.__pulumiType;
|
|
76
|
+
}
|
|
77
|
+
constructor(name, argsOrState, opts) {
|
|
78
|
+
let resourceInputs = {};
|
|
79
|
+
opts = opts || {};
|
|
80
|
+
if (opts.id) {
|
|
81
|
+
const state = argsOrState;
|
|
82
|
+
resourceInputs["accountId"] = state ? state.accountId : undefined;
|
|
83
|
+
resourceInputs["name"] = state ? state.name : undefined;
|
|
84
|
+
resourceInputs["scope"] = state ? state.scope : undefined;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const args = argsOrState;
|
|
88
|
+
if ((!args || args.accountId === undefined) && !opts.urn) {
|
|
89
|
+
throw new Error("Missing required property 'accountId'");
|
|
90
|
+
}
|
|
91
|
+
resourceInputs["accountId"] = args ? args.accountId : undefined;
|
|
92
|
+
resourceInputs["name"] = args ? args.name : undefined;
|
|
93
|
+
resourceInputs["scope"] = args ? args.scope : undefined;
|
|
94
|
+
}
|
|
95
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
96
|
+
super(DirectoryBucketAccessPointScope.__pulumiType, name, resourceInputs, opts);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.DirectoryBucketAccessPointScope = DirectoryBucketAccessPointScope;
|
|
100
|
+
/** @internal */
|
|
101
|
+
DirectoryBucketAccessPointScope.__pulumiType = 'aws:s3control/directoryBucketAccessPointScope:DirectoryBucketAccessPointScope';
|
|
102
|
+
//# sourceMappingURL=directoryBucketAccessPointScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directoryBucketAccessPointScope.js","sourceRoot":"","sources":["../../s3control/directoryBucketAccessPointScope.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAa,+BAAgC,SAAQ,MAAM,CAAC,cAAc;IACtE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4C,EAAE,IAAmC;QAC1I,OAAO,IAAI,+BAA+B,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACtF,CAAC;IAKD;;;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,+BAA+B,CAAC,YAAY,CAAC;IAChF,CAAC;IAuBD,YAAY,IAAY,EAAE,WAAwF,EAAE,IAAmC;QACnJ,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+D,CAAC;YAC9E,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D;aAAM;YACH,MAAM,IAAI,GAAG,WAA8D,CAAC;YAC5E,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,+BAA+B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;;AApEL,0EAqEC;AAvDG,gBAAgB;AACO,4CAAY,GAAG,+EAA+E,CAAC"}
|
package/s3control/index.d.ts
CHANGED
|
@@ -22,6 +22,9 @@ export declare const BucketLifecycleConfiguration: typeof import("./bucketLifecy
|
|
|
22
22
|
export { BucketPolicyArgs, BucketPolicyState } from "./bucketPolicy";
|
|
23
23
|
export type BucketPolicy = import("./bucketPolicy").BucketPolicy;
|
|
24
24
|
export declare const BucketPolicy: typeof import("./bucketPolicy").BucketPolicy;
|
|
25
|
+
export { DirectoryBucketAccessPointScopeArgs, DirectoryBucketAccessPointScopeState } from "./directoryBucketAccessPointScope";
|
|
26
|
+
export type DirectoryBucketAccessPointScope = import("./directoryBucketAccessPointScope").DirectoryBucketAccessPointScope;
|
|
27
|
+
export declare const DirectoryBucketAccessPointScope: typeof import("./directoryBucketAccessPointScope").DirectoryBucketAccessPointScope;
|
|
25
28
|
export { GetMultiRegionAccessPointArgs, GetMultiRegionAccessPointResult, GetMultiRegionAccessPointOutputArgs } from "./getMultiRegionAccessPoint";
|
|
26
29
|
export declare const getMultiRegionAccessPoint: typeof import("./getMultiRegionAccessPoint").getMultiRegionAccessPoint;
|
|
27
30
|
export declare const getMultiRegionAccessPointOutput: typeof import("./getMultiRegionAccessPoint").getMultiRegionAccessPointOutput;
|
package/s3control/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
3
3
|
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.StorageLensConfiguration = exports.ObjectLambdaAccessPointPolicy = exports.ObjectLambdaAccessPoint = exports.MultiRegionAccessPointPolicy = exports.MultiRegionAccessPoint = exports.getMultiRegionAccessPointOutput = exports.getMultiRegionAccessPoint = exports.BucketPolicy = exports.BucketLifecycleConfiguration = exports.Bucket = exports.AccessPointPolicy = exports.AccessGrantsLocation = exports.AccessGrantsInstanceResourcePolicy = exports.AccessGrantsInstance = exports.AccessGrant = void 0;
|
|
5
|
+
exports.StorageLensConfiguration = exports.ObjectLambdaAccessPointPolicy = exports.ObjectLambdaAccessPoint = exports.MultiRegionAccessPointPolicy = exports.MultiRegionAccessPoint = exports.getMultiRegionAccessPointOutput = exports.getMultiRegionAccessPoint = exports.DirectoryBucketAccessPointScope = exports.BucketPolicy = exports.BucketLifecycleConfiguration = exports.Bucket = exports.AccessPointPolicy = exports.AccessGrantsLocation = exports.AccessGrantsInstanceResourcePolicy = exports.AccessGrantsInstance = exports.AccessGrant = void 0;
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("../utilities");
|
|
8
8
|
exports.AccessGrant = null;
|
|
@@ -21,6 +21,8 @@ exports.BucketLifecycleConfiguration = null;
|
|
|
21
21
|
utilities.lazyLoad(exports, ["BucketLifecycleConfiguration"], () => require("./bucketLifecycleConfiguration"));
|
|
22
22
|
exports.BucketPolicy = null;
|
|
23
23
|
utilities.lazyLoad(exports, ["BucketPolicy"], () => require("./bucketPolicy"));
|
|
24
|
+
exports.DirectoryBucketAccessPointScope = null;
|
|
25
|
+
utilities.lazyLoad(exports, ["DirectoryBucketAccessPointScope"], () => require("./directoryBucketAccessPointScope"));
|
|
24
26
|
exports.getMultiRegionAccessPoint = null;
|
|
25
27
|
exports.getMultiRegionAccessPointOutput = null;
|
|
26
28
|
utilities.lazyLoad(exports, ["getMultiRegionAccessPoint", "getMultiRegionAccessPointOutput"], () => require("./getMultiRegionAccessPoint"));
|
|
@@ -54,6 +56,8 @@ const _module = {
|
|
|
54
56
|
return new exports.BucketLifecycleConfiguration(name, undefined, { urn });
|
|
55
57
|
case "aws:s3control/bucketPolicy:BucketPolicy":
|
|
56
58
|
return new exports.BucketPolicy(name, undefined, { urn });
|
|
59
|
+
case "aws:s3control/directoryBucketAccessPointScope:DirectoryBucketAccessPointScope":
|
|
60
|
+
return new exports.DirectoryBucketAccessPointScope(name, undefined, { urn });
|
|
57
61
|
case "aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":
|
|
58
62
|
return new exports.MultiRegionAccessPoint(name, undefined, { urn });
|
|
59
63
|
case "aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":
|
|
@@ -77,6 +81,7 @@ pulumi.runtime.registerResourceModule("aws", "s3control/accessPointPolicy", _mod
|
|
|
77
81
|
pulumi.runtime.registerResourceModule("aws", "s3control/bucket", _module);
|
|
78
82
|
pulumi.runtime.registerResourceModule("aws", "s3control/bucketLifecycleConfiguration", _module);
|
|
79
83
|
pulumi.runtime.registerResourceModule("aws", "s3control/bucketPolicy", _module);
|
|
84
|
+
pulumi.runtime.registerResourceModule("aws", "s3control/directoryBucketAccessPointScope", _module);
|
|
80
85
|
pulumi.runtime.registerResourceModule("aws", "s3control/multiRegionAccessPoint", _module);
|
|
81
86
|
pulumi.runtime.registerResourceModule("aws", "s3control/multiRegionAccessPointPolicy", _module);
|
|
82
87
|
pulumi.runtime.registerResourceModule("aws", "s3control/objectLambdaAccessPoint", _module);
|
package/s3control/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../s3control/index.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAK7B,QAAA,WAAW,GAA+C,IAAW,CAAC;AACnF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;AAIhE,QAAA,oBAAoB,GAAiE,IAAW,CAAC;AAC9G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAIlF,QAAA,kCAAkC,GAA6F,IAAW,CAAC;AACxJ,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,oCAAoC,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,CAAC;AAI9G,QAAA,oBAAoB,GAAiE,IAAW,CAAC;AAC9G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAIlF,QAAA,iBAAiB,GAA2D,IAAW,CAAC;AACrG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAI5E,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAItD,QAAA,4BAA4B,GAAiF,IAAW,CAAC;AACtI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,8BAA8B,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC;AAIlG,QAAA,YAAY,GAAiD,IAAW,CAAC;AACtF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../s3control/index.ts"],"names":[],"mappings":"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"}
|
package/ssm/association.d.ts
CHANGED
|
@@ -73,6 +73,161 @@ import * as outputs from "../types/output";
|
|
|
73
73
|
* });
|
|
74
74
|
* ```
|
|
75
75
|
*
|
|
76
|
+
* ### Create an association with multiple instances with their instance ids
|
|
77
|
+
*
|
|
78
|
+
* ```typescript
|
|
79
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
80
|
+
* import * as aws from "@pulumi/aws";
|
|
81
|
+
* import * as std from "@pulumi/std";
|
|
82
|
+
*
|
|
83
|
+
* // First EC2 instance
|
|
84
|
+
* const webServer1 = new aws.ec2.Instance("web_server_1", {
|
|
85
|
+
* ami: amazonLinux.id,
|
|
86
|
+
* instanceType: aws.ec2.InstanceType.T3_Micro,
|
|
87
|
+
* subnetId: _public.id,
|
|
88
|
+
* vpcSecurityGroupIds: [ec2Sg.id],
|
|
89
|
+
* iamInstanceProfile: ec2SsmProfile.name,
|
|
90
|
+
* userData: `#!/bin/bash
|
|
91
|
+
* yum update -y
|
|
92
|
+
* yum install -y amazon-ssm-agent
|
|
93
|
+
* systemctl enable amazon-ssm-agent
|
|
94
|
+
* systemctl start amazon-ssm-agent
|
|
95
|
+
* `,
|
|
96
|
+
* });
|
|
97
|
+
* // Second EC2 instance
|
|
98
|
+
* const webServer2 = new aws.ec2.Instance("web_server_2", {
|
|
99
|
+
* ami: amazonLinux.id,
|
|
100
|
+
* instanceType: aws.ec2.InstanceType.T3_Micro,
|
|
101
|
+
* subnetId: _public.id,
|
|
102
|
+
* vpcSecurityGroupIds: [ec2Sg.id],
|
|
103
|
+
* iamInstanceProfile: ec2SsmProfile.name,
|
|
104
|
+
* userData: `#!/bin/bash
|
|
105
|
+
* yum update -y
|
|
106
|
+
* yum install -y amazon-ssm-agent
|
|
107
|
+
* systemctl enable amazon-ssm-agent
|
|
108
|
+
* systemctl start amazon-ssm-agent
|
|
109
|
+
* `,
|
|
110
|
+
* });
|
|
111
|
+
* // Removed EC2 provisioning dependencies for brevity
|
|
112
|
+
* const systemUpdate = new aws.ssm.Association("system_update", {
|
|
113
|
+
* name: "AWS-RunShellScript",
|
|
114
|
+
* targets: [{
|
|
115
|
+
* key: "InstanceIds",
|
|
116
|
+
* values: [
|
|
117
|
+
* webServer1.id,
|
|
118
|
+
* webServer2.id,
|
|
119
|
+
* ],
|
|
120
|
+
* }],
|
|
121
|
+
* scheduleExpression: "cron(0 2 ? * SUN *)",
|
|
122
|
+
* parameters: {
|
|
123
|
+
* commands: std.join({
|
|
124
|
+
* separator: "\n",
|
|
125
|
+
* input: [
|
|
126
|
+
* "#!/bin/bash",
|
|
127
|
+
* "echo 'Starting system update on $(hostname)'",
|
|
128
|
+
* "echo 'Instance ID: $(curl -s http://169.254.169.254/latest/meta-data/instance-id)'",
|
|
129
|
+
* "yum update -y",
|
|
130
|
+
* "echo 'System update completed successfully'",
|
|
131
|
+
* "systemctl status httpd",
|
|
132
|
+
* "df -h",
|
|
133
|
+
* "free -m",
|
|
134
|
+
* ],
|
|
135
|
+
* }).then(invoke => invoke.result),
|
|
136
|
+
* workingDirectory: "/tmp",
|
|
137
|
+
* executionTimeout: "3600",
|
|
138
|
+
* },
|
|
139
|
+
* associationName: "weekly-system-update",
|
|
140
|
+
* complianceSeverity: "MEDIUM",
|
|
141
|
+
* maxConcurrency: "1",
|
|
142
|
+
* maxErrors: "0",
|
|
143
|
+
* tags: {
|
|
144
|
+
* Name: "Weekly System Update",
|
|
145
|
+
* Environment: "demo",
|
|
146
|
+
* Purpose: "maintenance",
|
|
147
|
+
* },
|
|
148
|
+
* });
|
|
149
|
+
* ```
|
|
150
|
+
*
|
|
151
|
+
* ### Create an association with multiple instances with their values matching their tags
|
|
152
|
+
*
|
|
153
|
+
* ```typescript
|
|
154
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
155
|
+
* import * as aws from "@pulumi/aws";
|
|
156
|
+
* import * as std from "@pulumi/std";
|
|
157
|
+
*
|
|
158
|
+
* // SSM Association for Webbased Servers
|
|
159
|
+
* const databaseAssociation = new aws.ssm.Association("database_association", {
|
|
160
|
+
* name: systemUpdate.name,
|
|
161
|
+
* targets: [{
|
|
162
|
+
* key: "tag:Role",
|
|
163
|
+
* values: [
|
|
164
|
+
* "WebServer",
|
|
165
|
+
* "Database",
|
|
166
|
+
* ],
|
|
167
|
+
* }],
|
|
168
|
+
* parameters: {
|
|
169
|
+
* restartServices: "true",
|
|
170
|
+
* },
|
|
171
|
+
* scheduleExpression: "cron(0 3 ? * SUN *)",
|
|
172
|
+
* });
|
|
173
|
+
* // EC2 Instance 1 - Web Server with "ServerType" tag
|
|
174
|
+
* const webServer = new aws.ec2.Instance("web_server", {
|
|
175
|
+
* ami: amazonLinux.id,
|
|
176
|
+
* instanceType: aws.ec2.InstanceType[instanceType],
|
|
177
|
+
* subnetId: _default.id,
|
|
178
|
+
* vpcSecurityGroupIds: [ec2Sg.id],
|
|
179
|
+
* iamInstanceProfile: ec2SsmProfile.name,
|
|
180
|
+
* userData: std.base64encode({
|
|
181
|
+
* input: `#!/bin/bash
|
|
182
|
+
* yum update -y
|
|
183
|
+
* yum install -y amazon-ssm-agent
|
|
184
|
+
* systemctl enable amazon-ssm-agent
|
|
185
|
+
* systemctl start amazon-ssm-agent
|
|
186
|
+
*
|
|
187
|
+
* # Install Apache web server
|
|
188
|
+
* yum install -y httpd
|
|
189
|
+
* systemctl enable httpd
|
|
190
|
+
* systemctl start httpd
|
|
191
|
+
* echo "<h1>Web Server - ${prefix}</h1>" > /var/www/html/index.html
|
|
192
|
+
* `,
|
|
193
|
+
* }).then(invoke => invoke.result),
|
|
194
|
+
* tags: {
|
|
195
|
+
* Name: `${prefix}-web-server`,
|
|
196
|
+
* ServerType: "WebServer",
|
|
197
|
+
* Role: "WebServer",
|
|
198
|
+
* Environment: environment,
|
|
199
|
+
* Owner: owner,
|
|
200
|
+
* },
|
|
201
|
+
* });
|
|
202
|
+
* // EC2 Instance 2 - Database Server with "Role" tag
|
|
203
|
+
* const databaseServer = new aws.ec2.Instance("database_server", {
|
|
204
|
+
* ami: amazonLinux.id,
|
|
205
|
+
* instanceType: aws.ec2.InstanceType[instanceType],
|
|
206
|
+
* subnetId: _default.id,
|
|
207
|
+
* vpcSecurityGroupIds: [ec2Sg.id],
|
|
208
|
+
* iamInstanceProfile: ec2SsmProfile.name,
|
|
209
|
+
* userData: std.base64encode({
|
|
210
|
+
* input: `#!/bin/bash
|
|
211
|
+
* yum update -y
|
|
212
|
+
* yum install -y amazon-ssm-agent
|
|
213
|
+
* systemctl enable amazon-ssm-agent
|
|
214
|
+
* systemctl start amazon-ssm-agent
|
|
215
|
+
*
|
|
216
|
+
* # Install MySQL
|
|
217
|
+
* yum install -y mysql-server
|
|
218
|
+
* systemctl enable mysqld
|
|
219
|
+
* systemctl start mysqld
|
|
220
|
+
* `,
|
|
221
|
+
* }).then(invoke => invoke.result),
|
|
222
|
+
* tags: {
|
|
223
|
+
* Name: `${prefix}-database-server`,
|
|
224
|
+
* Role: "Database",
|
|
225
|
+
* Environment: environment,
|
|
226
|
+
* Owner: owner,
|
|
227
|
+
* },
|
|
228
|
+
* });
|
|
229
|
+
* ```
|
|
230
|
+
*
|
|
76
231
|
* ## Import
|
|
77
232
|
*
|
|
78
233
|
* Using `pulumi import`, import SSM associations using the `association_id`. For example:
|