@pulumi/aws 5.18.0 → 5.19.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 (72) hide show
  1. package/appstream/stack.d.ts +21 -9
  2. package/appstream/stack.js.map +1 -1
  3. package/cloudfront/distribution.d.ts +1 -3
  4. package/cloudfront/distribution.js +1 -3
  5. package/cloudfront/distribution.js.map +1 -1
  6. package/directoryservice/directory.d.ts +9 -9
  7. package/ec2/launchConfiguration.d.ts +0 -2
  8. package/ec2/launchConfiguration.js +0 -2
  9. package/ec2/launchConfiguration.js.map +1 -1
  10. package/elasticache/getSubnetGroup.d.ts +75 -0
  11. package/elasticache/getSubnetGroup.js +37 -0
  12. package/elasticache/getSubnetGroup.js.map +1 -0
  13. package/elasticache/index.d.ts +3 -0
  14. package/elasticache/index.js +4 -1
  15. package/elasticache/index.js.map +1 -1
  16. package/elasticache/userGroup.d.ts +9 -0
  17. package/elasticache/userGroup.js.map +1 -1
  18. package/lightsail/certificate.d.ts +157 -0
  19. package/lightsail/certificate.js +86 -0
  20. package/lightsail/certificate.js.map +1 -0
  21. package/lightsail/containerService.d.ts +45 -0
  22. package/lightsail/containerService.js +35 -0
  23. package/lightsail/containerService.js.map +1 -1
  24. package/lightsail/domainEntry.d.ts +121 -0
  25. package/lightsail/domainEntry.js +91 -0
  26. package/lightsail/domainEntry.js.map +1 -0
  27. package/lightsail/index.d.ts +12 -0
  28. package/lightsail/index.js +21 -1
  29. package/lightsail/index.js.map +1 -1
  30. package/lightsail/lb.d.ts +176 -0
  31. package/lightsail/lb.js +100 -0
  32. package/lightsail/lb.js.map +1 -0
  33. package/lightsail/lbAttachment.d.ts +102 -0
  34. package/lightsail/lbAttachment.js +99 -0
  35. package/lightsail/lbAttachment.js.map +1 -0
  36. package/package.json +2 -2
  37. package/package.json.dev +2 -2
  38. package/resourcegroups/group.d.ts +15 -3
  39. package/resourcegroups/group.js +2 -3
  40. package/resourcegroups/group.js.map +1 -1
  41. package/route53/getZone.d.ts +4 -0
  42. package/route53/getZone.js.map +1 -1
  43. package/route53/record.d.ts +1 -1
  44. package/route53/record.js +1 -1
  45. package/route53/zone.d.ts +8 -0
  46. package/route53/zone.js +2 -0
  47. package/route53/zone.js.map +1 -1
  48. package/rum/appMonitor.d.ts +20 -3
  49. package/rum/appMonitor.js +2 -0
  50. package/rum/appMonitor.js.map +1 -1
  51. package/sesv2/dedicatedIpPool.d.ts +95 -0
  52. package/sesv2/dedicatedIpPool.js +79 -0
  53. package/sesv2/dedicatedIpPool.js.map +1 -0
  54. package/sesv2/getDedicatedIpPool.d.ts +71 -0
  55. package/sesv2/getDedicatedIpPool.js +36 -0
  56. package/sesv2/getDedicatedIpPool.js.map +1 -0
  57. package/sesv2/index.d.ts +6 -0
  58. package/sesv2/index.js +9 -1
  59. package/sesv2/index.js.map +1 -1
  60. package/sns/platformApplication.d.ts +39 -1
  61. package/sns/platformApplication.js +19 -1
  62. package/sns/platformApplication.js.map +1 -1
  63. package/sqs/queue.d.ts +1 -10
  64. package/sqs/queue.js.map +1 -1
  65. package/ssm/association.d.ts +19 -3
  66. package/ssm/association.js +16 -0
  67. package/ssm/association.js.map +1 -1
  68. package/ssm/getPatchBaseline.d.ts +2 -2
  69. package/ssm/maintenanceWindow.d.ts +3 -3
  70. package/ssm/patchBaseline.d.ts +3 -3
  71. package/types/input.d.ts +63 -10
  72. package/types/output.d.ts +77 -10
@@ -0,0 +1,157 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Provides a lightsail certificate.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as aws from "@pulumi/aws";
12
+ *
13
+ * const test = new aws.lightsail.Certificate("test", {
14
+ * domainName: "testdomain.com",
15
+ * subjectAlternativeNames: ["www.testdomain.com"],
16
+ * });
17
+ * ```
18
+ *
19
+ * ## Import
20
+ *
21
+ * `aws_lightsail_certificate` can be imported using the certificate name, e.g.
22
+ *
23
+ * ```sh
24
+ * $ pulumi import aws:lightsail/certificate:Certificate test CertificateName
25
+ * ```
26
+ */
27
+ export declare class Certificate extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing Certificate resource's state with the given name, ID, and optional extra
30
+ * properties used to qualify the lookup.
31
+ *
32
+ * @param name The _unique_ name of the resulting resource.
33
+ * @param id The _unique_ provider ID of the resource to lookup.
34
+ * @param state Any extra arguments used during the lookup.
35
+ * @param opts Optional settings to control the behavior of the CustomResource.
36
+ */
37
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CertificateState, opts?: pulumi.CustomResourceOptions): Certificate;
38
+ /**
39
+ * Returns true if the given object is an instance of Certificate. This is designed to work even
40
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
41
+ */
42
+ static isInstance(obj: any): obj is Certificate;
43
+ /**
44
+ * The ARN of the lightsail certificate.
45
+ */
46
+ readonly arn: pulumi.Output<string>;
47
+ /**
48
+ * The timestamp when the instance was created.
49
+ */
50
+ readonly createdAt: pulumi.Output<string>;
51
+ /**
52
+ * A domain name for which the certificate should be issued.
53
+ */
54
+ readonly domainName: pulumi.Output<string>;
55
+ /**
56
+ * Set of domain validation objects which can be used to complete certificate validation. Can have more than one element, e.g., if SANs are defined.
57
+ */
58
+ readonly domainValidationOptions: pulumi.Output<outputs.lightsail.CertificateDomainValidationOption[]>;
59
+ /**
60
+ * The name of the Lightsail load balancer.
61
+ */
62
+ readonly name: pulumi.Output<string>;
63
+ /**
64
+ * Set of domains that should be SANs in the issued certificate. `domainName` attribute is automatically added as a Subject Alternative Name.
65
+ */
66
+ readonly subjectAlternativeNames: pulumi.Output<string[]>;
67
+ /**
68
+ * A map of tags to assign to the resource. To create a key-only tag, use an empty string as the value. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
69
+ */
70
+ readonly tags: pulumi.Output<{
71
+ [key: string]: string;
72
+ } | undefined>;
73
+ /**
74
+ * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
75
+ */
76
+ readonly tagsAll: pulumi.Output<{
77
+ [key: string]: string;
78
+ }>;
79
+ /**
80
+ * Create a Certificate resource with the given unique name, arguments, and options.
81
+ *
82
+ * @param name The _unique_ name of the resource.
83
+ * @param args The arguments to use to populate this resource's properties.
84
+ * @param opts A bag of options that control this resource's behavior.
85
+ */
86
+ constructor(name: string, args?: CertificateArgs, opts?: pulumi.CustomResourceOptions);
87
+ }
88
+ /**
89
+ * Input properties used for looking up and filtering Certificate resources.
90
+ */
91
+ export interface CertificateState {
92
+ /**
93
+ * The ARN of the lightsail certificate.
94
+ */
95
+ arn?: pulumi.Input<string>;
96
+ /**
97
+ * The timestamp when the instance was created.
98
+ */
99
+ createdAt?: pulumi.Input<string>;
100
+ /**
101
+ * A domain name for which the certificate should be issued.
102
+ */
103
+ domainName?: pulumi.Input<string>;
104
+ /**
105
+ * Set of domain validation objects which can be used to complete certificate validation. Can have more than one element, e.g., if SANs are defined.
106
+ */
107
+ domainValidationOptions?: pulumi.Input<pulumi.Input<inputs.lightsail.CertificateDomainValidationOption>[]>;
108
+ /**
109
+ * The name of the Lightsail load balancer.
110
+ */
111
+ name?: pulumi.Input<string>;
112
+ /**
113
+ * Set of domains that should be SANs in the issued certificate. `domainName` attribute is automatically added as a Subject Alternative Name.
114
+ */
115
+ subjectAlternativeNames?: pulumi.Input<pulumi.Input<string>[]>;
116
+ /**
117
+ * A map of tags to assign to the resource. To create a key-only tag, use an empty string as the value. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
118
+ */
119
+ tags?: pulumi.Input<{
120
+ [key: string]: pulumi.Input<string>;
121
+ }>;
122
+ /**
123
+ * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
124
+ */
125
+ tagsAll?: pulumi.Input<{
126
+ [key: string]: pulumi.Input<string>;
127
+ }>;
128
+ }
129
+ /**
130
+ * The set of arguments for constructing a Certificate resource.
131
+ */
132
+ export interface CertificateArgs {
133
+ /**
134
+ * A domain name for which the certificate should be issued.
135
+ */
136
+ domainName?: pulumi.Input<string>;
137
+ /**
138
+ * The name of the Lightsail load balancer.
139
+ */
140
+ name?: pulumi.Input<string>;
141
+ /**
142
+ * Set of domains that should be SANs in the issued certificate. `domainName` attribute is automatically added as a Subject Alternative Name.
143
+ */
144
+ subjectAlternativeNames?: pulumi.Input<pulumi.Input<string>[]>;
145
+ /**
146
+ * A map of tags to assign to the resource. To create a key-only tag, use an empty string as the value. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
147
+ */
148
+ tags?: pulumi.Input<{
149
+ [key: string]: pulumi.Input<string>;
150
+ }>;
151
+ /**
152
+ * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
153
+ */
154
+ tagsAll?: pulumi.Input<{
155
+ [key: string]: pulumi.Input<string>;
156
+ }>;
157
+ }
@@ -0,0 +1,86 @@
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.Certificate = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Provides a lightsail certificate.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as aws from "@pulumi/aws";
16
+ *
17
+ * const test = new aws.lightsail.Certificate("test", {
18
+ * domainName: "testdomain.com",
19
+ * subjectAlternativeNames: ["www.testdomain.com"],
20
+ * });
21
+ * ```
22
+ *
23
+ * ## Import
24
+ *
25
+ * `aws_lightsail_certificate` can be imported using the certificate name, e.g.
26
+ *
27
+ * ```sh
28
+ * $ pulumi import aws:lightsail/certificate:Certificate test CertificateName
29
+ * ```
30
+ */
31
+ class Certificate extends pulumi.CustomResource {
32
+ constructor(name, argsOrState, opts) {
33
+ let resourceInputs = {};
34
+ opts = opts || {};
35
+ if (opts.id) {
36
+ const state = argsOrState;
37
+ resourceInputs["arn"] = state ? state.arn : undefined;
38
+ resourceInputs["createdAt"] = state ? state.createdAt : undefined;
39
+ resourceInputs["domainName"] = state ? state.domainName : undefined;
40
+ resourceInputs["domainValidationOptions"] = state ? state.domainValidationOptions : undefined;
41
+ resourceInputs["name"] = state ? state.name : undefined;
42
+ resourceInputs["subjectAlternativeNames"] = state ? state.subjectAlternativeNames : undefined;
43
+ resourceInputs["tags"] = state ? state.tags : undefined;
44
+ resourceInputs["tagsAll"] = state ? state.tagsAll : undefined;
45
+ }
46
+ else {
47
+ const args = argsOrState;
48
+ resourceInputs["domainName"] = args ? args.domainName : undefined;
49
+ resourceInputs["name"] = args ? args.name : undefined;
50
+ resourceInputs["subjectAlternativeNames"] = args ? args.subjectAlternativeNames : undefined;
51
+ resourceInputs["tags"] = args ? args.tags : undefined;
52
+ resourceInputs["tagsAll"] = args ? args.tagsAll : undefined;
53
+ resourceInputs["arn"] = undefined /*out*/;
54
+ resourceInputs["createdAt"] = undefined /*out*/;
55
+ resourceInputs["domainValidationOptions"] = undefined /*out*/;
56
+ }
57
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
58
+ super(Certificate.__pulumiType, name, resourceInputs, opts);
59
+ }
60
+ /**
61
+ * Get an existing Certificate resource's state with the given name, ID, and optional extra
62
+ * properties used to qualify the lookup.
63
+ *
64
+ * @param name The _unique_ name of the resulting resource.
65
+ * @param id The _unique_ provider ID of the resource to lookup.
66
+ * @param state Any extra arguments used during the lookup.
67
+ * @param opts Optional settings to control the behavior of the CustomResource.
68
+ */
69
+ static get(name, id, state, opts) {
70
+ return new Certificate(name, state, Object.assign(Object.assign({}, opts), { id: id }));
71
+ }
72
+ /**
73
+ * Returns true if the given object is an instance of Certificate. This is designed to work even
74
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
75
+ */
76
+ static isInstance(obj) {
77
+ if (obj === undefined || obj === null) {
78
+ return false;
79
+ }
80
+ return obj['__pulumiType'] === Certificate.__pulumiType;
81
+ }
82
+ }
83
+ exports.Certificate = Certificate;
84
+ /** @internal */
85
+ Certificate.__pulumiType = 'aws:lightsail/certificate:Certificate';
86
+ //# sourceMappingURL=certificate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../lightsail/certificate.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,39 @@ import * as outputs from "../types/output";
41
41
  * },
42
42
  * });
43
43
  * ```
44
+ * ### Private Registry Access
45
+ *
46
+ * ```typescript
47
+ * import * as pulumi from "@pulumi/pulumi";
48
+ * import * as aws from "@pulumi/aws";
49
+ *
50
+ * // ... other configuration ...
51
+ * const defaultContainerService = new aws.lightsail.ContainerService("defaultContainerService", {privateRegistryAccess: {
52
+ * ecrImagePullerRole: {
53
+ * isActive: true,
54
+ * },
55
+ * }});
56
+ * const defaultRepositoryPolicy = new aws.ecr.RepositoryPolicy("defaultRepositoryPolicy", {
57
+ * repository: aws_ecr_repository["default"].name,
58
+ * policy: defaultContainerService.privateRegistryAccess.apply(privateRegistryAccess => `{
59
+ * "Version": "2012-10-17",
60
+ * "Statement": [
61
+ * {
62
+ * "Sid": "AllowLightsailPull",
63
+ * "Effect": "Allow",
64
+ * "Principal": {
65
+ * "AWS": "${privateRegistryAccess.ecrImagePullerRole?.principalArn}"
66
+ * },
67
+ * "Action": [
68
+ * "ecr:BatchGetImage",
69
+ * "ecr:GetDownloadUrlForLayer"
70
+ * ]
71
+ * }
72
+ * ]
73
+ * }
74
+ * `),
75
+ * });
76
+ * ```
44
77
  *
45
78
  * ## Import
46
79
  *
@@ -103,6 +136,10 @@ export declare class ContainerService extends pulumi.CustomResource {
103
136
  * by other resources within the default virtual private cloud (VPC) of your Lightsail account.
104
137
  */
105
138
  readonly privateDomainName: pulumi.Output<string>;
139
+ /**
140
+ * An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details.
141
+ */
142
+ readonly privateRegistryAccess: pulumi.Output<outputs.lightsail.ContainerServicePrivateRegistryAccess>;
106
143
  /**
107
144
  * The public domain names to use with the container service, such as example.com
108
145
  * and www.example.com. You can specify up to four public domain names for a container service. The domain names that you
@@ -185,6 +222,10 @@ export interface ContainerServiceState {
185
222
  * by other resources within the default virtual private cloud (VPC) of your Lightsail account.
186
223
  */
187
224
  privateDomainName?: pulumi.Input<string>;
225
+ /**
226
+ * An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details.
227
+ */
228
+ privateRegistryAccess?: pulumi.Input<inputs.lightsail.ContainerServicePrivateRegistryAccess>;
188
229
  /**
189
230
  * The public domain names to use with the container service, such as example.com
190
231
  * and www.example.com. You can specify up to four public domain names for a container service. The domain names that you
@@ -237,6 +278,10 @@ export interface ContainerServiceArgs {
237
278
  * Possible values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`.
238
279
  */
239
280
  power: pulumi.Input<string>;
281
+ /**
282
+ * An object to describe the configuration for the container service to access private container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private repositories. See Private Registry Access below for more details.
283
+ */
284
+ privateRegistryAccess?: pulumi.Input<inputs.lightsail.ContainerServicePrivateRegistryAccess>;
240
285
  /**
241
286
  * The public domain names to use with the container service, such as example.com
242
287
  * and www.example.com. You can specify up to four public domain names for a container service. The domain names that you
@@ -45,6 +45,39 @@ const utilities = require("../utilities");
45
45
  * },
46
46
  * });
47
47
  * ```
48
+ * ### Private Registry Access
49
+ *
50
+ * ```typescript
51
+ * import * as pulumi from "@pulumi/pulumi";
52
+ * import * as aws from "@pulumi/aws";
53
+ *
54
+ * // ... other configuration ...
55
+ * const defaultContainerService = new aws.lightsail.ContainerService("defaultContainerService", {privateRegistryAccess: {
56
+ * ecrImagePullerRole: {
57
+ * isActive: true,
58
+ * },
59
+ * }});
60
+ * const defaultRepositoryPolicy = new aws.ecr.RepositoryPolicy("defaultRepositoryPolicy", {
61
+ * repository: aws_ecr_repository["default"].name,
62
+ * policy: defaultContainerService.privateRegistryAccess.apply(privateRegistryAccess => `{
63
+ * "Version": "2012-10-17",
64
+ * "Statement": [
65
+ * {
66
+ * "Sid": "AllowLightsailPull",
67
+ * "Effect": "Allow",
68
+ * "Principal": {
69
+ * "AWS": "${privateRegistryAccess.ecrImagePullerRole?.principalArn}"
70
+ * },
71
+ * "Action": [
72
+ * "ecr:BatchGetImage",
73
+ * "ecr:GetDownloadUrlForLayer"
74
+ * ]
75
+ * }
76
+ * ]
77
+ * }
78
+ * `),
79
+ * });
80
+ * ```
48
81
  *
49
82
  * ## Import
50
83
  *
@@ -69,6 +102,7 @@ class ContainerService extends pulumi.CustomResource {
69
102
  resourceInputs["powerId"] = state ? state.powerId : undefined;
70
103
  resourceInputs["principalArn"] = state ? state.principalArn : undefined;
71
104
  resourceInputs["privateDomainName"] = state ? state.privateDomainName : undefined;
105
+ resourceInputs["privateRegistryAccess"] = state ? state.privateRegistryAccess : undefined;
72
106
  resourceInputs["publicDomainNames"] = state ? state.publicDomainNames : undefined;
73
107
  resourceInputs["resourceType"] = state ? state.resourceType : undefined;
74
108
  resourceInputs["scale"] = state ? state.scale : undefined;
@@ -88,6 +122,7 @@ class ContainerService extends pulumi.CustomResource {
88
122
  resourceInputs["isDisabled"] = args ? args.isDisabled : undefined;
89
123
  resourceInputs["name"] = args ? args.name : undefined;
90
124
  resourceInputs["power"] = args ? args.power : undefined;
125
+ resourceInputs["privateRegistryAccess"] = args ? args.privateRegistryAccess : undefined;
91
126
  resourceInputs["publicDomainNames"] = args ? args.publicDomainNames : undefined;
92
127
  resourceInputs["scale"] = args ? args.scale : undefined;
93
128
  resourceInputs["tags"] = args ? args.tags : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"containerService.js","sourceRoot":"","sources":["../../lightsail/containerService.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAIzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IAsGvD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,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;YAC1D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,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;YACxD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACvD,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACnD,cAAc,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACxD,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACnD,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IArJD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,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,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;;AA1BL,4CAuJC;AAzIG,gBAAgB;AACO,6BAAY,GAAG,iDAAiD,CAAC"}
1
+ {"version":3,"file":"containerService.js","sourceRoot":"","sources":["../../lightsail/containerService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Creates a domain entry resource
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as aws from "@pulumi/aws";
10
+ *
11
+ * const testDomain = new aws.lightsail.Domain("testDomain", {domainName: "mydomain.com"});
12
+ * const testDomainEntry = new aws.lightsail.DomainEntry("testDomainEntry", {
13
+ * domainName: aws_lightsail_domain.domain_test.domain_name,
14
+ * type: "A",
15
+ * target: "127.0.0.1",
16
+ * });
17
+ * ```
18
+ *
19
+ * ## Import
20
+ *
21
+ * `aws_lightsail_domain_entry` can be imported by using the id attribute, e.g.,
22
+ *
23
+ * ```sh
24
+ * $ pulumi import aws:lightsail/domainEntry:DomainEntry example www_mydomain.com_A_127.0.0.1
25
+ * ```
26
+ */
27
+ export declare class DomainEntry extends pulumi.CustomResource {
28
+ /**
29
+ * Get an existing DomainEntry resource's state with the given name, ID, and optional extra
30
+ * properties used to qualify the lookup.
31
+ *
32
+ * @param name The _unique_ name of the resulting resource.
33
+ * @param id The _unique_ provider ID of the resource to lookup.
34
+ * @param state Any extra arguments used during the lookup.
35
+ * @param opts Optional settings to control the behavior of the CustomResource.
36
+ */
37
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DomainEntryState, opts?: pulumi.CustomResourceOptions): DomainEntry;
38
+ /**
39
+ * Returns true if the given object is an instance of DomainEntry. This is designed to work even
40
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
41
+ */
42
+ static isInstance(obj: any): obj is DomainEntry;
43
+ /**
44
+ * The name of the Lightsail domain in which to create the entry
45
+ */
46
+ readonly domainName: pulumi.Output<string>;
47
+ /**
48
+ * If the entry should be an alias Defaults to `false`
49
+ */
50
+ readonly isAlias: pulumi.Output<boolean | undefined>;
51
+ /**
52
+ * Name of the entry record
53
+ */
54
+ readonly name: pulumi.Output<string>;
55
+ /**
56
+ * Target of the domain entry
57
+ */
58
+ readonly target: pulumi.Output<string>;
59
+ /**
60
+ * Type of record
61
+ */
62
+ readonly type: pulumi.Output<string>;
63
+ /**
64
+ * Create a DomainEntry resource with the given unique name, arguments, and options.
65
+ *
66
+ * @param name The _unique_ name of the resource.
67
+ * @param args The arguments to use to populate this resource's properties.
68
+ * @param opts A bag of options that control this resource's behavior.
69
+ */
70
+ constructor(name: string, args: DomainEntryArgs, opts?: pulumi.CustomResourceOptions);
71
+ }
72
+ /**
73
+ * Input properties used for looking up and filtering DomainEntry resources.
74
+ */
75
+ export interface DomainEntryState {
76
+ /**
77
+ * The name of the Lightsail domain in which to create the entry
78
+ */
79
+ domainName?: pulumi.Input<string>;
80
+ /**
81
+ * If the entry should be an alias Defaults to `false`
82
+ */
83
+ isAlias?: pulumi.Input<boolean>;
84
+ /**
85
+ * Name of the entry record
86
+ */
87
+ name?: pulumi.Input<string>;
88
+ /**
89
+ * Target of the domain entry
90
+ */
91
+ target?: pulumi.Input<string>;
92
+ /**
93
+ * Type of record
94
+ */
95
+ type?: pulumi.Input<string>;
96
+ }
97
+ /**
98
+ * The set of arguments for constructing a DomainEntry resource.
99
+ */
100
+ export interface DomainEntryArgs {
101
+ /**
102
+ * The name of the Lightsail domain in which to create the entry
103
+ */
104
+ domainName: pulumi.Input<string>;
105
+ /**
106
+ * If the entry should be an alias Defaults to `false`
107
+ */
108
+ isAlias?: pulumi.Input<boolean>;
109
+ /**
110
+ * Name of the entry record
111
+ */
112
+ name?: pulumi.Input<string>;
113
+ /**
114
+ * Target of the domain entry
115
+ */
116
+ target: pulumi.Input<string>;
117
+ /**
118
+ * Type of record
119
+ */
120
+ type: pulumi.Input<string>;
121
+ }
@@ -0,0 +1,91 @@
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.DomainEntry = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Creates a domain entry resource
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as aws from "@pulumi/aws";
16
+ *
17
+ * const testDomain = new aws.lightsail.Domain("testDomain", {domainName: "mydomain.com"});
18
+ * const testDomainEntry = new aws.lightsail.DomainEntry("testDomainEntry", {
19
+ * domainName: aws_lightsail_domain.domain_test.domain_name,
20
+ * type: "A",
21
+ * target: "127.0.0.1",
22
+ * });
23
+ * ```
24
+ *
25
+ * ## Import
26
+ *
27
+ * `aws_lightsail_domain_entry` can be imported by using the id attribute, e.g.,
28
+ *
29
+ * ```sh
30
+ * $ pulumi import aws:lightsail/domainEntry:DomainEntry example www_mydomain.com_A_127.0.0.1
31
+ * ```
32
+ */
33
+ class DomainEntry extends pulumi.CustomResource {
34
+ constructor(name, argsOrState, opts) {
35
+ let resourceInputs = {};
36
+ opts = opts || {};
37
+ if (opts.id) {
38
+ const state = argsOrState;
39
+ resourceInputs["domainName"] = state ? state.domainName : undefined;
40
+ resourceInputs["isAlias"] = state ? state.isAlias : undefined;
41
+ resourceInputs["name"] = state ? state.name : undefined;
42
+ resourceInputs["target"] = state ? state.target : undefined;
43
+ resourceInputs["type"] = state ? state.type : undefined;
44
+ }
45
+ else {
46
+ const args = argsOrState;
47
+ if ((!args || args.domainName === undefined) && !opts.urn) {
48
+ throw new Error("Missing required property 'domainName'");
49
+ }
50
+ if ((!args || args.target === undefined) && !opts.urn) {
51
+ throw new Error("Missing required property 'target'");
52
+ }
53
+ if ((!args || args.type === undefined) && !opts.urn) {
54
+ throw new Error("Missing required property 'type'");
55
+ }
56
+ resourceInputs["domainName"] = args ? args.domainName : undefined;
57
+ resourceInputs["isAlias"] = args ? args.isAlias : undefined;
58
+ resourceInputs["name"] = args ? args.name : undefined;
59
+ resourceInputs["target"] = args ? args.target : undefined;
60
+ resourceInputs["type"] = args ? args.type : undefined;
61
+ }
62
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
63
+ super(DomainEntry.__pulumiType, name, resourceInputs, opts);
64
+ }
65
+ /**
66
+ * Get an existing DomainEntry resource's state with the given name, ID, and optional extra
67
+ * properties used to qualify the lookup.
68
+ *
69
+ * @param name The _unique_ name of the resulting resource.
70
+ * @param id The _unique_ provider ID of the resource to lookup.
71
+ * @param state Any extra arguments used during the lookup.
72
+ * @param opts Optional settings to control the behavior of the CustomResource.
73
+ */
74
+ static get(name, id, state, opts) {
75
+ return new DomainEntry(name, state, Object.assign(Object.assign({}, opts), { id: id }));
76
+ }
77
+ /**
78
+ * Returns true if the given object is an instance of DomainEntry. This is designed to work even
79
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
80
+ */
81
+ static isInstance(obj) {
82
+ if (obj === undefined || obj === null) {
83
+ return false;
84
+ }
85
+ return obj['__pulumiType'] === DomainEntry.__pulumiType;
86
+ }
87
+ }
88
+ exports.DomainEntry = DomainEntry;
89
+ /** @internal */
90
+ DomainEntry.__pulumiType = 'aws:lightsail/domainEntry:DomainEntry';
91
+ //# sourceMappingURL=domainEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domainEntry.js","sourceRoot":"","sources":["../../lightsail/domainEntry.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ export { CertificateArgs, CertificateState } from "./certificate";
2
+ export declare type Certificate = import("./certificate").Certificate;
3
+ export declare const Certificate: typeof import("./certificate").Certificate;
1
4
  export { ContainerServiceArgs, ContainerServiceState } from "./containerService";
2
5
  export declare type ContainerService = import("./containerService").ContainerService;
3
6
  export declare const ContainerService: typeof import("./containerService").ContainerService;
@@ -10,6 +13,9 @@ export declare const Database: typeof import("./database").Database;
10
13
  export { DomainArgs, DomainState } from "./domain";
11
14
  export declare type Domain = import("./domain").Domain;
12
15
  export declare const Domain: typeof import("./domain").Domain;
16
+ export { DomainEntryArgs, DomainEntryState } from "./domainEntry";
17
+ export declare type DomainEntry = import("./domainEntry").DomainEntry;
18
+ export declare const DomainEntry: typeof import("./domainEntry").DomainEntry;
13
19
  export { InstanceArgs, InstanceState } from "./instance";
14
20
  export declare type Instance = import("./instance").Instance;
15
21
  export declare const Instance: typeof import("./instance").Instance;
@@ -19,6 +25,12 @@ export declare const InstancePublicPorts: typeof import("./instancePublicPorts")
19
25
  export { KeyPairArgs, KeyPairState } from "./keyPair";
20
26
  export declare type KeyPair = import("./keyPair").KeyPair;
21
27
  export declare const KeyPair: typeof import("./keyPair").KeyPair;
28
+ export { LbArgs, LbState } from "./lb";
29
+ export declare type Lb = import("./lb").Lb;
30
+ export declare const Lb: typeof import("./lb").Lb;
31
+ export { LbAttachmentArgs, LbAttachmentState } from "./lbAttachment";
32
+ export declare type LbAttachment = import("./lbAttachment").LbAttachment;
33
+ export declare const LbAttachment: typeof import("./lbAttachment").LbAttachment;
22
34
  export { StaticIpArgs, StaticIpState } from "./staticIp";
23
35
  export declare type StaticIp = import("./staticIp").StaticIp;
24
36
  export declare const StaticIp: typeof import("./staticIp").StaticIp;