pulumi-aws 7.15.0__py3-none-any.whl → 7.16.0__py3-none-any.whl
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.
- pulumi_aws/__init__.py +80 -0
- pulumi_aws/alb/listener.py +7 -7
- pulumi_aws/alb/target_group.py +7 -7
- pulumi_aws/alb/target_group_attachment.py +83 -0
- pulumi_aws/apigateway/domain_name.py +86 -7
- pulumi_aws/apigateway/get_domain_name.py +15 -1
- pulumi_aws/apigateway/integration.py +48 -8
- pulumi_aws/athena/_inputs.py +412 -5
- pulumi_aws/athena/outputs.py +342 -2
- pulumi_aws/backup/global_settings.py +15 -7
- pulumi_aws/bedrock/agentcore_memory_strategy.py +8 -0
- pulumi_aws/cleanrooms/collaboration.py +26 -6
- pulumi_aws/cloudfront/__init__.py +6 -0
- pulumi_aws/cloudfront/_inputs.py +3601 -478
- pulumi_aws/cloudfront/connection_function.py +658 -0
- pulumi_aws/cloudfront/connection_group.py +649 -0
- pulumi_aws/cloudfront/distribution.py +142 -0
- pulumi_aws/cloudfront/distribution_tenant.py +857 -0
- pulumi_aws/cloudfront/get_connection_group.py +249 -0
- pulumi_aws/cloudfront/get_distribution_tenant.py +279 -0
- pulumi_aws/cloudfront/multitenant_distribution.py +1181 -0
- pulumi_aws/cloudfront/outputs.py +3034 -376
- pulumi_aws/cloudwatch/log_subscription_filter.py +136 -42
- pulumi_aws/directconnect/gateway.py +78 -3
- pulumi_aws/directconnect/get_gateway.py +24 -4
- pulumi_aws/dlm/_inputs.py +3 -3
- pulumi_aws/dlm/outputs.py +2 -2
- pulumi_aws/dynamodb/__init__.py +1 -0
- pulumi_aws/dynamodb/_inputs.py +370 -0
- pulumi_aws/dynamodb/global_secondary_index.py +666 -0
- pulumi_aws/dynamodb/outputs.py +315 -0
- pulumi_aws/dynamodb/table.py +9 -1
- pulumi_aws/ec2/_inputs.py +44 -4
- pulumi_aws/ec2/get_vpc_endpoint.py +24 -4
- pulumi_aws/ec2/outputs.py +54 -4
- pulumi_aws/ecr/__init__.py +1 -0
- pulumi_aws/ecr/_inputs.py +58 -22
- pulumi_aws/ecr/get_repository_creation_template.py +1 -1
- pulumi_aws/ecr/lifecycle_policy.py +152 -64
- pulumi_aws/ecr/outputs.py +37 -15
- pulumi_aws/ecr/pull_time_update_exclusion.py +363 -0
- pulumi_aws/ecr/repository_creation_template.py +7 -7
- pulumi_aws/ecs/_inputs.py +20 -0
- pulumi_aws/ecs/outputs.py +14 -0
- pulumi_aws/ecs/task_definition.py +28 -28
- pulumi_aws/elasticache/replication_group.py +7 -7
- pulumi_aws/fsx/ontap_file_system.py +14 -0
- pulumi_aws/glue/resource_policy.py +4 -4
- pulumi_aws/guardduty/_inputs.py +41 -1
- pulumi_aws/guardduty/outputs.py +27 -1
- pulumi_aws/iam/get_saml_provider.py +15 -1
- pulumi_aws/iam/outbound_web_identity_federation.py +0 -4
- pulumi_aws/iam/policy.py +47 -0
- pulumi_aws/iam/saml_provider.py +28 -0
- pulumi_aws/iam/virtual_mfa_device.py +66 -38
- pulumi_aws/imagebuilder/_inputs.py +87 -0
- pulumi_aws/imagebuilder/image.py +47 -0
- pulumi_aws/imagebuilder/image_pipeline.py +47 -0
- pulumi_aws/imagebuilder/outputs.py +87 -0
- pulumi_aws/kms/grant.py +18 -18
- pulumi_aws/lambda_/_inputs.py +24 -4
- pulumi_aws/lambda_/event_source_mapping.py +2 -0
- pulumi_aws/lambda_/function.py +28 -0
- pulumi_aws/lambda_/function_url.py +4 -0
- pulumi_aws/lambda_/get_function.py +15 -1
- pulumi_aws/lambda_/outputs.py +17 -3
- pulumi_aws/lambda_/permission.py +47 -0
- pulumi_aws/lb/listener.py +7 -7
- pulumi_aws/lb/target_group.py +7 -7
- pulumi_aws/lb/target_group_attachment.py +83 -0
- pulumi_aws/networkfirewall/_inputs.py +3 -3
- pulumi_aws/networkfirewall/outputs.py +2 -2
- pulumi_aws/networkfirewall/vpc_endpoint_association.py +2 -2
- pulumi_aws/networkmanager/vpc_attachment.py +7 -7
- pulumi_aws/opensearchingest/pipeline.py +47 -0
- pulumi_aws/organizations/__init__.py +1 -0
- pulumi_aws/organizations/tag.py +292 -0
- pulumi_aws/pulumi-plugin.json +1 -1
- pulumi_aws/rds/cluster.py +21 -21
- pulumi_aws/rds/get_proxy.py +29 -1
- pulumi_aws/rds/proxy.py +94 -0
- pulumi_aws/rds/proxy_default_target_group.py +0 -76
- pulumi_aws/rds/proxy_target.py +0 -80
- pulumi_aws/redshift/__init__.py +1 -0
- pulumi_aws/redshift/_inputs.py +329 -0
- pulumi_aws/redshift/idc_application.py +687 -0
- pulumi_aws/redshift/outputs.py +265 -0
- pulumi_aws/route53/get_resolver_firewall_rules.py +9 -0
- pulumi_aws/route53/get_resolver_rule.py +19 -4
- pulumi_aws/route53/outputs.py +108 -1
- pulumi_aws/route53/resolver_firewall_rule.py +199 -32
- pulumi_aws/secretsmanager/__init__.py +1 -0
- pulumi_aws/secretsmanager/tag.py +333 -0
- pulumi_aws/sesv2/__init__.py +1 -0
- pulumi_aws/sesv2/tenant.py +418 -0
- pulumi_aws/sfn/activity.py +0 -4
- pulumi_aws/sfn/alias.py +0 -4
- pulumi_aws/transfer/_inputs.py +126 -0
- pulumi_aws/transfer/outputs.py +97 -0
- pulumi_aws/transfer/web_app.py +54 -7
- pulumi_aws/vpclattice/service_network_resource_association.py +47 -0
- {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/METADATA +1 -1
- {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/RECORD +105 -93
- {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/WHEEL +0 -0
- {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/top_level.txt +0 -0
|
@@ -27,6 +27,7 @@ class DomainNameArgs:
|
|
|
27
27
|
certificate_chain: Optional[pulumi.Input[_builtins.str]] = None,
|
|
28
28
|
certificate_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
29
29
|
certificate_private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
endpoint_access_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
31
|
endpoint_configuration: Optional[pulumi.Input['DomainNameEndpointConfigurationArgs']] = None,
|
|
31
32
|
mutual_tls_authentication: Optional[pulumi.Input['DomainNameMutualTlsAuthenticationArgs']] = None,
|
|
32
33
|
ownership_verification_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -44,6 +45,7 @@ class DomainNameArgs:
|
|
|
44
45
|
:param pulumi.Input[_builtins.str] certificate_chain: Certificate for the CA that issued the certificate, along with any intermediate CA certificates required to create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
|
|
45
46
|
:param pulumi.Input[_builtins.str] certificate_name: Unique name to use when registering this certificate as an IAM server certificate. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`. Required if `certificate_arn` is not set.
|
|
46
47
|
:param pulumi.Input[_builtins.str] certificate_private_key: Private key associated with the domain certificate given in `certificate_body`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
|
|
48
|
+
:param pulumi.Input[_builtins.str] endpoint_access_mode: Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`. Valid values: `BASIC`, `STRICT`.
|
|
47
49
|
:param pulumi.Input['DomainNameEndpointConfigurationArgs'] endpoint_configuration: Configuration block defining API endpoint information including type. See below.
|
|
48
50
|
:param pulumi.Input['DomainNameMutualTlsAuthenticationArgs'] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below.
|
|
49
51
|
:param pulumi.Input[_builtins.str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
|
|
@@ -53,7 +55,7 @@ class DomainNameArgs:
|
|
|
53
55
|
|
|
54
56
|
When uploading a certificate, the following arguments are supported:
|
|
55
57
|
:param pulumi.Input[_builtins.str] regional_certificate_name: User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
|
|
56
|
-
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName.
|
|
58
|
+
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName. Must be configured to perform drift detection. For a list of valid security policies, see [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) in the Amazon API Gateway API Reference.
|
|
57
59
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
|
|
58
60
|
|
|
59
61
|
When referencing an AWS-managed certificate, the following arguments are supported:
|
|
@@ -69,6 +71,8 @@ class DomainNameArgs:
|
|
|
69
71
|
pulumi.set(__self__, "certificate_name", certificate_name)
|
|
70
72
|
if certificate_private_key is not None:
|
|
71
73
|
pulumi.set(__self__, "certificate_private_key", certificate_private_key)
|
|
74
|
+
if endpoint_access_mode is not None:
|
|
75
|
+
pulumi.set(__self__, "endpoint_access_mode", endpoint_access_mode)
|
|
72
76
|
if endpoint_configuration is not None:
|
|
73
77
|
pulumi.set(__self__, "endpoint_configuration", endpoint_configuration)
|
|
74
78
|
if mutual_tls_authentication is not None:
|
|
@@ -160,6 +164,18 @@ class DomainNameArgs:
|
|
|
160
164
|
def certificate_private_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
161
165
|
pulumi.set(self, "certificate_private_key", value)
|
|
162
166
|
|
|
167
|
+
@_builtins.property
|
|
168
|
+
@pulumi.getter(name="endpointAccessMode")
|
|
169
|
+
def endpoint_access_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
170
|
+
"""
|
|
171
|
+
Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`. Valid values: `BASIC`, `STRICT`.
|
|
172
|
+
"""
|
|
173
|
+
return pulumi.get(self, "endpoint_access_mode")
|
|
174
|
+
|
|
175
|
+
@endpoint_access_mode.setter
|
|
176
|
+
def endpoint_access_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
177
|
+
pulumi.set(self, "endpoint_access_mode", value)
|
|
178
|
+
|
|
163
179
|
@_builtins.property
|
|
164
180
|
@pulumi.getter(name="endpointConfiguration")
|
|
165
181
|
def endpoint_configuration(self) -> Optional[pulumi.Input['DomainNameEndpointConfigurationArgs']]:
|
|
@@ -250,7 +266,7 @@ class DomainNameArgs:
|
|
|
250
266
|
@pulumi.getter(name="securityPolicy")
|
|
251
267
|
def security_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
252
268
|
"""
|
|
253
|
-
Transport Layer Security (TLS) version + cipher suite for this DomainName.
|
|
269
|
+
Transport Layer Security (TLS) version + cipher suite for this DomainName. Must be configured to perform drift detection. For a list of valid security policies, see [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) in the Amazon API Gateway API Reference.
|
|
254
270
|
"""
|
|
255
271
|
return pulumi.get(self, "security_policy")
|
|
256
272
|
|
|
@@ -287,6 +303,7 @@ class _DomainNameState:
|
|
|
287
303
|
cloudfront_zone_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
288
304
|
domain_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
289
305
|
domain_name_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
306
|
+
endpoint_access_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
|
290
307
|
endpoint_configuration: Optional[pulumi.Input['DomainNameEndpointConfigurationArgs']] = None,
|
|
291
308
|
mutual_tls_authentication: Optional[pulumi.Input['DomainNameMutualTlsAuthenticationArgs']] = None,
|
|
292
309
|
ownership_verification_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -312,6 +329,7 @@ class _DomainNameState:
|
|
|
312
329
|
:param pulumi.Input[_builtins.str] cloudfront_zone_id: For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`) that can be used to create a Route53 alias record for the distribution.
|
|
313
330
|
:param pulumi.Input[_builtins.str] domain_name: Fully-qualified domain name to register.
|
|
314
331
|
:param pulumi.Input[_builtins.str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names.
|
|
332
|
+
:param pulumi.Input[_builtins.str] endpoint_access_mode: Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`. Valid values: `BASIC`, `STRICT`.
|
|
315
333
|
:param pulumi.Input['DomainNameEndpointConfigurationArgs'] endpoint_configuration: Configuration block defining API endpoint information including type. See below.
|
|
316
334
|
:param pulumi.Input['DomainNameMutualTlsAuthenticationArgs'] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below.
|
|
317
335
|
:param pulumi.Input[_builtins.str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
|
|
@@ -323,7 +341,7 @@ class _DomainNameState:
|
|
|
323
341
|
:param pulumi.Input[_builtins.str] regional_certificate_name: User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
|
|
324
342
|
:param pulumi.Input[_builtins.str] regional_domain_name: Hostname for the custom domain's regional endpoint.
|
|
325
343
|
:param pulumi.Input[_builtins.str] regional_zone_id: Hosted zone ID that can be used to create a Route53 alias record for the regional endpoint.
|
|
326
|
-
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName.
|
|
344
|
+
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName. Must be configured to perform drift detection. For a list of valid security policies, see [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) in the Amazon API Gateway API Reference.
|
|
327
345
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
|
|
328
346
|
|
|
329
347
|
When referencing an AWS-managed certificate, the following arguments are supported:
|
|
@@ -351,6 +369,8 @@ class _DomainNameState:
|
|
|
351
369
|
pulumi.set(__self__, "domain_name", domain_name)
|
|
352
370
|
if domain_name_id is not None:
|
|
353
371
|
pulumi.set(__self__, "domain_name_id", domain_name_id)
|
|
372
|
+
if endpoint_access_mode is not None:
|
|
373
|
+
pulumi.set(__self__, "endpoint_access_mode", endpoint_access_mode)
|
|
354
374
|
if endpoint_configuration is not None:
|
|
355
375
|
pulumi.set(__self__, "endpoint_configuration", endpoint_configuration)
|
|
356
376
|
if mutual_tls_authentication is not None:
|
|
@@ -508,6 +528,18 @@ class _DomainNameState:
|
|
|
508
528
|
def domain_name_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
509
529
|
pulumi.set(self, "domain_name_id", value)
|
|
510
530
|
|
|
531
|
+
@_builtins.property
|
|
532
|
+
@pulumi.getter(name="endpointAccessMode")
|
|
533
|
+
def endpoint_access_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
534
|
+
"""
|
|
535
|
+
Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`. Valid values: `BASIC`, `STRICT`.
|
|
536
|
+
"""
|
|
537
|
+
return pulumi.get(self, "endpoint_access_mode")
|
|
538
|
+
|
|
539
|
+
@endpoint_access_mode.setter
|
|
540
|
+
def endpoint_access_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
541
|
+
pulumi.set(self, "endpoint_access_mode", value)
|
|
542
|
+
|
|
511
543
|
@_builtins.property
|
|
512
544
|
@pulumi.getter(name="endpointConfiguration")
|
|
513
545
|
def endpoint_configuration(self) -> Optional[pulumi.Input['DomainNameEndpointConfigurationArgs']]:
|
|
@@ -622,7 +654,7 @@ class _DomainNameState:
|
|
|
622
654
|
@pulumi.getter(name="securityPolicy")
|
|
623
655
|
def security_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
624
656
|
"""
|
|
625
|
-
Transport Layer Security (TLS) version + cipher suite for this DomainName.
|
|
657
|
+
Transport Layer Security (TLS) version + cipher suite for this DomainName. Must be configured to perform drift detection. For a list of valid security policies, see [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) in the Amazon API Gateway API Reference.
|
|
626
658
|
"""
|
|
627
659
|
return pulumi.get(self, "security_policy")
|
|
628
660
|
|
|
@@ -669,6 +701,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
669
701
|
certificate_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
670
702
|
certificate_private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
671
703
|
domain_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
704
|
+
endpoint_access_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
|
672
705
|
endpoint_configuration: Optional[pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']]] = None,
|
|
673
706
|
mutual_tls_authentication: Optional[pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']]] = None,
|
|
674
707
|
ownership_verification_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -756,6 +789,22 @@ class DomainName(pulumi.CustomResource):
|
|
|
756
789
|
}])
|
|
757
790
|
```
|
|
758
791
|
|
|
792
|
+
### Enhanced Security Policy
|
|
793
|
+
|
|
794
|
+
```python
|
|
795
|
+
import pulumi
|
|
796
|
+
import pulumi_aws as aws
|
|
797
|
+
|
|
798
|
+
example = aws.apigateway.DomainName("example",
|
|
799
|
+
domain_name="api.example.com",
|
|
800
|
+
regional_certificate_arn=example_aws_acm_certificate_validation["certificateArn"],
|
|
801
|
+
security_policy="SecurityPolicy_TLS13_1_3_2025_09",
|
|
802
|
+
endpoint_access_mode="STRICT",
|
|
803
|
+
endpoint_configuration={
|
|
804
|
+
"types": "REGIONAL",
|
|
805
|
+
})
|
|
806
|
+
```
|
|
807
|
+
|
|
759
808
|
## Import
|
|
760
809
|
|
|
761
810
|
For a private custom domain name:
|
|
@@ -779,6 +828,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
779
828
|
:param pulumi.Input[_builtins.str] certificate_name: Unique name to use when registering this certificate as an IAM server certificate. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`. Required if `certificate_arn` is not set.
|
|
780
829
|
:param pulumi.Input[_builtins.str] certificate_private_key: Private key associated with the domain certificate given in `certificate_body`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificate_arn`, `regional_certificate_arn`, and `regional_certificate_name`.
|
|
781
830
|
:param pulumi.Input[_builtins.str] domain_name: Fully-qualified domain name to register.
|
|
831
|
+
:param pulumi.Input[_builtins.str] endpoint_access_mode: Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`. Valid values: `BASIC`, `STRICT`.
|
|
782
832
|
:param pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']] endpoint_configuration: Configuration block defining API endpoint information including type. See below.
|
|
783
833
|
:param pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below.
|
|
784
834
|
:param pulumi.Input[_builtins.str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
|
|
@@ -788,7 +838,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
788
838
|
|
|
789
839
|
When uploading a certificate, the following arguments are supported:
|
|
790
840
|
:param pulumi.Input[_builtins.str] regional_certificate_name: User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
|
|
791
|
-
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName.
|
|
841
|
+
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName. Must be configured to perform drift detection. For a list of valid security policies, see [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) in the Amazon API Gateway API Reference.
|
|
792
842
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
|
|
793
843
|
|
|
794
844
|
When referencing an AWS-managed certificate, the following arguments are supported:
|
|
@@ -876,6 +926,22 @@ class DomainName(pulumi.CustomResource):
|
|
|
876
926
|
}])
|
|
877
927
|
```
|
|
878
928
|
|
|
929
|
+
### Enhanced Security Policy
|
|
930
|
+
|
|
931
|
+
```python
|
|
932
|
+
import pulumi
|
|
933
|
+
import pulumi_aws as aws
|
|
934
|
+
|
|
935
|
+
example = aws.apigateway.DomainName("example",
|
|
936
|
+
domain_name="api.example.com",
|
|
937
|
+
regional_certificate_arn=example_aws_acm_certificate_validation["certificateArn"],
|
|
938
|
+
security_policy="SecurityPolicy_TLS13_1_3_2025_09",
|
|
939
|
+
endpoint_access_mode="STRICT",
|
|
940
|
+
endpoint_configuration={
|
|
941
|
+
"types": "REGIONAL",
|
|
942
|
+
})
|
|
943
|
+
```
|
|
944
|
+
|
|
879
945
|
## Import
|
|
880
946
|
|
|
881
947
|
For a private custom domain name:
|
|
@@ -912,6 +978,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
912
978
|
certificate_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
913
979
|
certificate_private_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
914
980
|
domain_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
981
|
+
endpoint_access_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
|
915
982
|
endpoint_configuration: Optional[pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']]] = None,
|
|
916
983
|
mutual_tls_authentication: Optional[pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']]] = None,
|
|
917
984
|
ownership_verification_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -938,6 +1005,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
938
1005
|
if domain_name is None and not opts.urn:
|
|
939
1006
|
raise TypeError("Missing required property 'domain_name'")
|
|
940
1007
|
__props__.__dict__["domain_name"] = domain_name
|
|
1008
|
+
__props__.__dict__["endpoint_access_mode"] = endpoint_access_mode
|
|
941
1009
|
__props__.__dict__["endpoint_configuration"] = endpoint_configuration
|
|
942
1010
|
__props__.__dict__["mutual_tls_authentication"] = mutual_tls_authentication
|
|
943
1011
|
__props__.__dict__["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn
|
|
@@ -978,6 +1046,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
978
1046
|
cloudfront_zone_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
979
1047
|
domain_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
980
1048
|
domain_name_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1049
|
+
endpoint_access_mode: Optional[pulumi.Input[_builtins.str]] = None,
|
|
981
1050
|
endpoint_configuration: Optional[pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']]] = None,
|
|
982
1051
|
mutual_tls_authentication: Optional[pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']]] = None,
|
|
983
1052
|
ownership_verification_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -1008,6 +1077,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
1008
1077
|
:param pulumi.Input[_builtins.str] cloudfront_zone_id: For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`) that can be used to create a Route53 alias record for the distribution.
|
|
1009
1078
|
:param pulumi.Input[_builtins.str] domain_name: Fully-qualified domain name to register.
|
|
1010
1079
|
:param pulumi.Input[_builtins.str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names.
|
|
1080
|
+
:param pulumi.Input[_builtins.str] endpoint_access_mode: Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`. Valid values: `BASIC`, `STRICT`.
|
|
1011
1081
|
:param pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']] endpoint_configuration: Configuration block defining API endpoint information including type. See below.
|
|
1012
1082
|
:param pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below.
|
|
1013
1083
|
:param pulumi.Input[_builtins.str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)
|
|
@@ -1019,7 +1089,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
1019
1089
|
:param pulumi.Input[_builtins.str] regional_certificate_name: User-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.
|
|
1020
1090
|
:param pulumi.Input[_builtins.str] regional_domain_name: Hostname for the custom domain's regional endpoint.
|
|
1021
1091
|
:param pulumi.Input[_builtins.str] regional_zone_id: Hosted zone ID that can be used to create a Route53 alias record for the regional endpoint.
|
|
1022
|
-
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName.
|
|
1092
|
+
:param pulumi.Input[_builtins.str] security_policy: Transport Layer Security (TLS) version + cipher suite for this DomainName. Must be configured to perform drift detection. For a list of valid security policies, see [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) in the Amazon API Gateway API Reference.
|
|
1023
1093
|
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
|
|
1024
1094
|
|
|
1025
1095
|
When referencing an AWS-managed certificate, the following arguments are supported:
|
|
@@ -1040,6 +1110,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
1040
1110
|
__props__.__dict__["cloudfront_zone_id"] = cloudfront_zone_id
|
|
1041
1111
|
__props__.__dict__["domain_name"] = domain_name
|
|
1042
1112
|
__props__.__dict__["domain_name_id"] = domain_name_id
|
|
1113
|
+
__props__.__dict__["endpoint_access_mode"] = endpoint_access_mode
|
|
1043
1114
|
__props__.__dict__["endpoint_configuration"] = endpoint_configuration
|
|
1044
1115
|
__props__.__dict__["mutual_tls_authentication"] = mutual_tls_authentication
|
|
1045
1116
|
__props__.__dict__["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn
|
|
@@ -1142,6 +1213,14 @@ class DomainName(pulumi.CustomResource):
|
|
|
1142
1213
|
"""
|
|
1143
1214
|
return pulumi.get(self, "domain_name_id")
|
|
1144
1215
|
|
|
1216
|
+
@_builtins.property
|
|
1217
|
+
@pulumi.getter(name="endpointAccessMode")
|
|
1218
|
+
def endpoint_access_mode(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1219
|
+
"""
|
|
1220
|
+
Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`. Valid values: `BASIC`, `STRICT`.
|
|
1221
|
+
"""
|
|
1222
|
+
return pulumi.get(self, "endpoint_access_mode")
|
|
1223
|
+
|
|
1145
1224
|
@_builtins.property
|
|
1146
1225
|
@pulumi.getter(name="endpointConfiguration")
|
|
1147
1226
|
def endpoint_configuration(self) -> pulumi.Output['outputs.DomainNameEndpointConfiguration']:
|
|
@@ -1220,7 +1299,7 @@ class DomainName(pulumi.CustomResource):
|
|
|
1220
1299
|
@pulumi.getter(name="securityPolicy")
|
|
1221
1300
|
def security_policy(self) -> pulumi.Output[_builtins.str]:
|
|
1222
1301
|
"""
|
|
1223
|
-
Transport Layer Security (TLS) version + cipher suite for this DomainName.
|
|
1302
|
+
Transport Layer Security (TLS) version + cipher suite for this DomainName. Must be configured to perform drift detection. For a list of valid security policies, see [DomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DomainName.html) in the Amazon API Gateway API Reference.
|
|
1224
1303
|
"""
|
|
1225
1304
|
return pulumi.get(self, "security_policy")
|
|
1226
1305
|
|
|
@@ -27,7 +27,7 @@ class GetDomainNameResult:
|
|
|
27
27
|
"""
|
|
28
28
|
A collection of values returned by getDomainName.
|
|
29
29
|
"""
|
|
30
|
-
def __init__(__self__, arn=None, certificate_arn=None, certificate_name=None, certificate_upload_date=None, cloudfront_domain_name=None, cloudfront_zone_id=None, domain_name=None, domain_name_id=None, endpoint_configurations=None, id=None, policy=None, region=None, regional_certificate_arn=None, regional_certificate_name=None, regional_domain_name=None, regional_zone_id=None, security_policy=None, tags=None):
|
|
30
|
+
def __init__(__self__, arn=None, certificate_arn=None, certificate_name=None, certificate_upload_date=None, cloudfront_domain_name=None, cloudfront_zone_id=None, domain_name=None, domain_name_id=None, endpoint_access_mode=None, endpoint_configurations=None, id=None, policy=None, region=None, regional_certificate_arn=None, regional_certificate_name=None, regional_domain_name=None, regional_zone_id=None, security_policy=None, tags=None):
|
|
31
31
|
if arn and not isinstance(arn, str):
|
|
32
32
|
raise TypeError("Expected argument 'arn' to be a str")
|
|
33
33
|
pulumi.set(__self__, "arn", arn)
|
|
@@ -52,6 +52,9 @@ class GetDomainNameResult:
|
|
|
52
52
|
if domain_name_id and not isinstance(domain_name_id, str):
|
|
53
53
|
raise TypeError("Expected argument 'domain_name_id' to be a str")
|
|
54
54
|
pulumi.set(__self__, "domain_name_id", domain_name_id)
|
|
55
|
+
if endpoint_access_mode and not isinstance(endpoint_access_mode, str):
|
|
56
|
+
raise TypeError("Expected argument 'endpoint_access_mode' to be a str")
|
|
57
|
+
pulumi.set(__self__, "endpoint_access_mode", endpoint_access_mode)
|
|
55
58
|
if endpoint_configurations and not isinstance(endpoint_configurations, list):
|
|
56
59
|
raise TypeError("Expected argument 'endpoint_configurations' to be a list")
|
|
57
60
|
pulumi.set(__self__, "endpoint_configurations", endpoint_configurations)
|
|
@@ -141,6 +144,14 @@ class GetDomainNameResult:
|
|
|
141
144
|
def domain_name_id(self) -> _builtins.str:
|
|
142
145
|
return pulumi.get(self, "domain_name_id")
|
|
143
146
|
|
|
147
|
+
@_builtins.property
|
|
148
|
+
@pulumi.getter(name="endpointAccessMode")
|
|
149
|
+
def endpoint_access_mode(self) -> _builtins.str:
|
|
150
|
+
"""
|
|
151
|
+
(Optional) Endpoint access mode of the DomainName. Only available for domain names that use security policies that start with `SecurityPolicy_`.
|
|
152
|
+
"""
|
|
153
|
+
return pulumi.get(self, "endpoint_access_mode")
|
|
154
|
+
|
|
144
155
|
@_builtins.property
|
|
145
156
|
@pulumi.getter(name="endpointConfigurations")
|
|
146
157
|
def endpoint_configurations(self) -> Sequence['outputs.GetDomainNameEndpointConfigurationResult']:
|
|
@@ -233,6 +244,7 @@ class AwaitableGetDomainNameResult(GetDomainNameResult):
|
|
|
233
244
|
cloudfront_zone_id=self.cloudfront_zone_id,
|
|
234
245
|
domain_name=self.domain_name,
|
|
235
246
|
domain_name_id=self.domain_name_id,
|
|
247
|
+
endpoint_access_mode=self.endpoint_access_mode,
|
|
236
248
|
endpoint_configurations=self.endpoint_configurations,
|
|
237
249
|
id=self.id,
|
|
238
250
|
policy=self.policy,
|
|
@@ -285,6 +297,7 @@ def get_domain_name(domain_name: Optional[_builtins.str] = None,
|
|
|
285
297
|
cloudfront_zone_id=pulumi.get(__ret__, 'cloudfront_zone_id'),
|
|
286
298
|
domain_name=pulumi.get(__ret__, 'domain_name'),
|
|
287
299
|
domain_name_id=pulumi.get(__ret__, 'domain_name_id'),
|
|
300
|
+
endpoint_access_mode=pulumi.get(__ret__, 'endpoint_access_mode'),
|
|
288
301
|
endpoint_configurations=pulumi.get(__ret__, 'endpoint_configurations'),
|
|
289
302
|
id=pulumi.get(__ret__, 'id'),
|
|
290
303
|
policy=pulumi.get(__ret__, 'policy'),
|
|
@@ -334,6 +347,7 @@ def get_domain_name_output(domain_name: Optional[pulumi.Input[_builtins.str]] =
|
|
|
334
347
|
cloudfront_zone_id=pulumi.get(__response__, 'cloudfront_zone_id'),
|
|
335
348
|
domain_name=pulumi.get(__response__, 'domain_name'),
|
|
336
349
|
domain_name_id=pulumi.get(__response__, 'domain_name_id'),
|
|
350
|
+
endpoint_access_mode=pulumi.get(__response__, 'endpoint_access_mode'),
|
|
337
351
|
endpoint_configurations=pulumi.get(__response__, 'endpoint_configurations'),
|
|
338
352
|
id=pulumi.get(__response__, 'id'),
|
|
339
353
|
policy=pulumi.get(__response__, 'policy'),
|
|
@@ -780,9 +780,9 @@ class Integration(pulumi.CustomResource):
|
|
|
780
780
|
import pulumi_aws as aws
|
|
781
781
|
import pulumi_std as std
|
|
782
782
|
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
783
|
+
current = aws.get_caller_identity()
|
|
784
|
+
current_get_region = aws.get_region()
|
|
785
|
+
current_get_partition = aws.get_partition()
|
|
786
786
|
# API Gateway
|
|
787
787
|
api = aws.apigateway.RestApi("api", name="myapi")
|
|
788
788
|
resource = aws.apigateway.Resource("resource",
|
|
@@ -830,10 +830,30 @@ class Integration(pulumi.CustomResource):
|
|
|
830
830
|
id=api.id,
|
|
831
831
|
http_method=method.http_method,
|
|
832
832
|
path=resource.path
|
|
833
|
-
).apply(lambda resolved_outputs: f"arn:
|
|
833
|
+
).apply(lambda resolved_outputs: f"arn:{current_get_partition.partition}:execute-api:{current_get_region.region}:{current.account_id}:{resolved_outputs['id']}/*/{resolved_outputs['http_method']}{resolved_outputs['path']}")
|
|
834
834
|
)
|
|
835
835
|
```
|
|
836
836
|
|
|
837
|
+
## Lambda integration with response streaming
|
|
838
|
+
|
|
839
|
+
All other resources and data sources are the same as in the previous example; only the integration configuration differs.
|
|
840
|
+
Note that the `timeout` of the `lambda.Function` may need to be adjusted.
|
|
841
|
+
|
|
842
|
+
```python
|
|
843
|
+
import pulumi
|
|
844
|
+
import pulumi_aws as aws
|
|
845
|
+
|
|
846
|
+
integration = aws.apigateway.Integration("integration",
|
|
847
|
+
rest_api=api["id"],
|
|
848
|
+
resource_id=resource["id"],
|
|
849
|
+
http_method=method["httpMethod"],
|
|
850
|
+
integration_http_method="POST",
|
|
851
|
+
type="AWS_PROXY",
|
|
852
|
+
uri=lambda_["responseStreamingInvokeArn"],
|
|
853
|
+
response_transfer_mode="STREAM",
|
|
854
|
+
timeout_milliseconds=900000)
|
|
855
|
+
```
|
|
856
|
+
|
|
837
857
|
## VPC Link
|
|
838
858
|
|
|
839
859
|
```python
|
|
@@ -1029,9 +1049,9 @@ class Integration(pulumi.CustomResource):
|
|
|
1029
1049
|
import pulumi_aws as aws
|
|
1030
1050
|
import pulumi_std as std
|
|
1031
1051
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1052
|
+
current = aws.get_caller_identity()
|
|
1053
|
+
current_get_region = aws.get_region()
|
|
1054
|
+
current_get_partition = aws.get_partition()
|
|
1035
1055
|
# API Gateway
|
|
1036
1056
|
api = aws.apigateway.RestApi("api", name="myapi")
|
|
1037
1057
|
resource = aws.apigateway.Resource("resource",
|
|
@@ -1079,10 +1099,30 @@ class Integration(pulumi.CustomResource):
|
|
|
1079
1099
|
id=api.id,
|
|
1080
1100
|
http_method=method.http_method,
|
|
1081
1101
|
path=resource.path
|
|
1082
|
-
).apply(lambda resolved_outputs: f"arn:
|
|
1102
|
+
).apply(lambda resolved_outputs: f"arn:{current_get_partition.partition}:execute-api:{current_get_region.region}:{current.account_id}:{resolved_outputs['id']}/*/{resolved_outputs['http_method']}{resolved_outputs['path']}")
|
|
1083
1103
|
)
|
|
1084
1104
|
```
|
|
1085
1105
|
|
|
1106
|
+
## Lambda integration with response streaming
|
|
1107
|
+
|
|
1108
|
+
All other resources and data sources are the same as in the previous example; only the integration configuration differs.
|
|
1109
|
+
Note that the `timeout` of the `lambda.Function` may need to be adjusted.
|
|
1110
|
+
|
|
1111
|
+
```python
|
|
1112
|
+
import pulumi
|
|
1113
|
+
import pulumi_aws as aws
|
|
1114
|
+
|
|
1115
|
+
integration = aws.apigateway.Integration("integration",
|
|
1116
|
+
rest_api=api["id"],
|
|
1117
|
+
resource_id=resource["id"],
|
|
1118
|
+
http_method=method["httpMethod"],
|
|
1119
|
+
integration_http_method="POST",
|
|
1120
|
+
type="AWS_PROXY",
|
|
1121
|
+
uri=lambda_["responseStreamingInvokeArn"],
|
|
1122
|
+
response_transfer_mode="STREAM",
|
|
1123
|
+
timeout_milliseconds=900000)
|
|
1124
|
+
```
|
|
1125
|
+
|
|
1086
1126
|
## VPC Link
|
|
1087
1127
|
|
|
1088
1128
|
```python
|