diff --git a/sdk/dotnet/Alb/Listener.cs b/sdk/dotnet/Alb/Listener.cs index 14b10f09be8..6db85b81b40 100644 --- a/sdk/dotnet/Alb/Listener.cs +++ b/sdk/dotnet/Alb/Listener.cs @@ -395,6 +395,120 @@ public partial class Listener : global::Pulumi.CustomResource [Output("protocol")] public Output Protocol { get; private set; } = null!; + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertIssuerHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertLeafHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertSubjectHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertValidityHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznTlsCipherSuiteHeaderName")] + public Output RoutingHttpRequestXAmznTlsCipherSuiteHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznTlsVersionHeaderName")] + public Output RoutingHttpRequestXAmznTlsVersionHeaderName { get; private set; } = null!; + + /// + /// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + /// + [Output("routingHttpResponseAccessControlAllowCredentialsHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowCredentialsHeaderValue { get; private set; } = null!; + + /// + /// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + /// + [Output("routingHttpResponseAccessControlAllowHeadersHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowHeadersHeaderValue { get; private set; } = null!; + + /// + /// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + /// + [Output("routingHttpResponseAccessControlAllowMethodsHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowMethodsHeaderValue { get; private set; } = null!; + + /// + /// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + /// + [Output("routingHttpResponseAccessControlAllowOriginHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowOriginHeaderValue { get; private set; } = null!; + + /// + /// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + /// + [Output("routingHttpResponseAccessControlExposeHeadersHeaderValue")] + public Output RoutingHttpResponseAccessControlExposeHeadersHeaderValue { get; private set; } = null!; + + /// + /// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + /// + [Output("routingHttpResponseAccessControlMaxAgeHeaderValue")] + public Output RoutingHttpResponseAccessControlMaxAgeHeaderValue { get; private set; } = null!; + + /// + /// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + /// + [Output("routingHttpResponseContentSecurityPolicyHeaderValue")] + public Output RoutingHttpResponseContentSecurityPolicyHeaderValue { get; private set; } = null!; + + /// + /// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + /// + [Output("routingHttpResponseServerEnabled")] + public Output RoutingHttpResponseServerEnabled { get; private set; } = null!; + + /// + /// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + /// + [Output("routingHttpResponseStrictTransportSecurityHeaderValue")] + public Output RoutingHttpResponseStrictTransportSecurityHeaderValue { get; private set; } = null!; + + /// + /// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + /// + [Output("routingHttpResponseXContentTypeOptionsHeaderValue")] + public Output RoutingHttpResponseXContentTypeOptionsHeaderValue { get; private set; } = null!; + + /// + /// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + /// + [Output("routingHttpResponseXFrameOptionsHeaderValue")] + public Output RoutingHttpResponseXFrameOptionsHeaderValue { get; private set; } = null!; + /// /// Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. /// @@ -521,6 +635,120 @@ public InputList DefaultActions [Input("protocol")] public Input? Protocol { get; set; } + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertIssuerHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertLeafHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSubjectHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertValidityHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsCipherSuiteHeaderName")] + public Input? RoutingHttpRequestXAmznTlsCipherSuiteHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsVersionHeaderName")] + public Input? RoutingHttpRequestXAmznTlsVersionHeaderName { get; set; } + + /// + /// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + /// + [Input("routingHttpResponseAccessControlAllowCredentialsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowCredentialsHeaderValue { get; set; } + + /// + /// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + /// + [Input("routingHttpResponseAccessControlAllowHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowHeadersHeaderValue { get; set; } + + /// + /// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + /// + [Input("routingHttpResponseAccessControlAllowMethodsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowMethodsHeaderValue { get; set; } + + /// + /// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + /// + [Input("routingHttpResponseAccessControlAllowOriginHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowOriginHeaderValue { get; set; } + + /// + /// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + /// + [Input("routingHttpResponseAccessControlExposeHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlExposeHeadersHeaderValue { get; set; } + + /// + /// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + /// + [Input("routingHttpResponseAccessControlMaxAgeHeaderValue")] + public Input? RoutingHttpResponseAccessControlMaxAgeHeaderValue { get; set; } + + /// + /// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + /// + [Input("routingHttpResponseContentSecurityPolicyHeaderValue")] + public Input? RoutingHttpResponseContentSecurityPolicyHeaderValue { get; set; } + + /// + /// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + /// + [Input("routingHttpResponseServerEnabled")] + public Input? RoutingHttpResponseServerEnabled { get; set; } + + /// + /// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + /// + [Input("routingHttpResponseStrictTransportSecurityHeaderValue")] + public Input? RoutingHttpResponseStrictTransportSecurityHeaderValue { get; set; } + + /// + /// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + /// + [Input("routingHttpResponseXContentTypeOptionsHeaderValue")] + public Input? RoutingHttpResponseXContentTypeOptionsHeaderValue { get; set; } + + /// + /// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + /// + [Input("routingHttpResponseXFrameOptionsHeaderValue")] + public Input? RoutingHttpResponseXFrameOptionsHeaderValue { get; set; } + /// /// Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. /// @@ -611,6 +839,120 @@ public InputList DefaultActions [Input("protocol")] public Input? Protocol { get; set; } + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertIssuerHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertLeafHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSubjectHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertValidityHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsCipherSuiteHeaderName")] + public Input? RoutingHttpRequestXAmznTlsCipherSuiteHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsVersionHeaderName")] + public Input? RoutingHttpRequestXAmznTlsVersionHeaderName { get; set; } + + /// + /// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + /// + [Input("routingHttpResponseAccessControlAllowCredentialsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowCredentialsHeaderValue { get; set; } + + /// + /// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + /// + [Input("routingHttpResponseAccessControlAllowHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowHeadersHeaderValue { get; set; } + + /// + /// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + /// + [Input("routingHttpResponseAccessControlAllowMethodsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowMethodsHeaderValue { get; set; } + + /// + /// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + /// + [Input("routingHttpResponseAccessControlAllowOriginHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowOriginHeaderValue { get; set; } + + /// + /// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + /// + [Input("routingHttpResponseAccessControlExposeHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlExposeHeadersHeaderValue { get; set; } + + /// + /// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + /// + [Input("routingHttpResponseAccessControlMaxAgeHeaderValue")] + public Input? RoutingHttpResponseAccessControlMaxAgeHeaderValue { get; set; } + + /// + /// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + /// + [Input("routingHttpResponseContentSecurityPolicyHeaderValue")] + public Input? RoutingHttpResponseContentSecurityPolicyHeaderValue { get; set; } + + /// + /// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + /// + [Input("routingHttpResponseServerEnabled")] + public Input? RoutingHttpResponseServerEnabled { get; set; } + + /// + /// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + /// + [Input("routingHttpResponseStrictTransportSecurityHeaderValue")] + public Input? RoutingHttpResponseStrictTransportSecurityHeaderValue { get; set; } + + /// + /// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + /// + [Input("routingHttpResponseXContentTypeOptionsHeaderValue")] + public Input? RoutingHttpResponseXContentTypeOptionsHeaderValue { get; set; } + + /// + /// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + /// + [Input("routingHttpResponseXFrameOptionsHeaderValue")] + public Input? RoutingHttpResponseXFrameOptionsHeaderValue { get; set; } + /// /// Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. /// diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 291e2dc0730..c3adde68fa7 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -1033,6 +1033,10 @@ public class Endpoints public string? Internetmonitor { get; set; } = null!; /// /// Use this to override the default service endpoint URL + /// + public string? Invoicing { get; set; } = null!; + /// + /// Use this to override the default service endpoint URL /// public string? Iot { get; set; } = null!; /// diff --git a/sdk/dotnet/DataExchange/DataSet.cs b/sdk/dotnet/DataExchange/DataSet.cs index a8580e9a3fa..57972f73422 100644 --- a/sdk/dotnet/DataExchange/DataSet.cs +++ b/sdk/dotnet/DataExchange/DataSet.cs @@ -34,10 +34,10 @@ namespace Pulumi.Aws.DataExchange /// /// ## Import /// - /// Using `pulumi import`, import DataExchange DataSets using their ARN. For example: + /// Using `pulumi import`, import DataExchange DataSets using their `id`. For example: /// /// ```sh - /// $ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1 + /// $ pulumi import aws:dataexchange/dataSet:DataSet example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1 /// ``` /// [AwsResourceType("aws:dataexchange/dataSet:DataSet")] diff --git a/sdk/dotnet/DataSync/S3Location.cs b/sdk/dotnet/DataSync/S3Location.cs index a39e63bdc33..c2aa498db7c 100644 --- a/sdk/dotnet/DataSync/S3Location.cs +++ b/sdk/dotnet/DataSync/S3Location.cs @@ -14,6 +14,8 @@ namespace Pulumi.Aws.DataSync /// /// ## Example Usage /// + /// ### Basic Usage + /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; @@ -35,6 +37,34 @@ namespace Pulumi.Aws.DataSync /// }); /// ``` /// + /// ### S3 Bucket on AWS Outposts + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var destination = new Aws.DataSync.S3Location("destination", new() + /// { + /// AgentArns = new[] + /// { + /// exampleAwsDatasyncAgent.Arn, + /// }, + /// S3BucketArn = exampleAwsS3AccessPoint.Arn, + /// S3StorageClass = "OUTPOSTS", + /// Subdirectory = "/example/prefix", + /// S3Config = new Aws.DataSync.Inputs.S3LocationS3ConfigArgs + /// { + /// BucketAccessRoleArn = example.Arn, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Using `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example: @@ -47,7 +77,7 @@ namespace Pulumi.Aws.DataSync public partial class S3Location : global::Pulumi.CustomResource { /// - /// A list of DataSync Agent ARNs with which this location will be associated. + /// (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. /// [Output("agentArns")] public Output> AgentArns { get; private set; } = null!; @@ -59,7 +89,7 @@ public partial class S3Location : global::Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// Amazon Resource Name (ARN) of the S3 Bucket. + /// Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. /// [Output("s3BucketArn")] public Output S3BucketArn { get; private set; } = null!; @@ -71,7 +101,7 @@ public partial class S3Location : global::Pulumi.CustomResource public Output S3Config { get; private set; } = null!; /// - /// The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + /// Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) /// [Output("s3StorageClass")] public Output S3StorageClass { get; private set; } = null!; @@ -147,7 +177,7 @@ public sealed class S3LocationArgs : global::Pulumi.ResourceArgs private InputList? _agentArns; /// - /// A list of DataSync Agent ARNs with which this location will be associated. + /// (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. /// public InputList AgentArns { @@ -156,7 +186,7 @@ public InputList AgentArns } /// - /// Amazon Resource Name (ARN) of the S3 Bucket. + /// Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. /// [Input("s3BucketArn", required: true)] public Input S3BucketArn { get; set; } = null!; @@ -168,7 +198,7 @@ public InputList AgentArns public Input S3Config { get; set; } = null!; /// - /// The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + /// Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) /// [Input("s3StorageClass")] public Input? S3StorageClass { get; set; } @@ -203,7 +233,7 @@ public sealed class S3LocationState : global::Pulumi.ResourceArgs private InputList? _agentArns; /// - /// A list of DataSync Agent ARNs with which this location will be associated. + /// (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. /// public InputList AgentArns { @@ -218,7 +248,7 @@ public InputList AgentArns public Input? Arn { get; set; } /// - /// Amazon Resource Name (ARN) of the S3 Bucket. + /// Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. /// [Input("s3BucketArn")] public Input? S3BucketArn { get; set; } @@ -230,7 +260,7 @@ public InputList AgentArns public Input? S3Config { get; set; } /// - /// The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + /// Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) /// [Input("s3StorageClass")] public Input? S3StorageClass { get; set; } diff --git a/sdk/dotnet/Ec2/Ami.cs b/sdk/dotnet/Ec2/Ami.cs index fcbac3d52af..e3f6258ccc6 100644 --- a/sdk/dotnet/Ec2/Ami.cs +++ b/sdk/dotnet/Ec2/Ami.cs @@ -212,6 +212,12 @@ public partial class Ami : global::Pulumi.CustomResource [Output("tpmSupport")] public Output TpmSupport { get; private set; } = null!; + /// + /// Base64 representation of the non-volatile UEFI variable store. + /// + [Output("uefiData")] + public Output UefiData { get; private set; } = null!; + /// /// Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. /// @@ -376,6 +382,12 @@ public InputMap Tags [Input("tpmSupport")] public Input? TpmSupport { get; set; } + /// + /// Base64 representation of the non-volatile UEFI variable store. + /// + [Input("uefiData")] + public Input? UefiData { get; set; } + /// /// Keyword to choose what virtualization mode created instances /// will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -566,6 +578,12 @@ public InputMap TagsAll [Input("tpmSupport")] public Input? TpmSupport { get; set; } + /// + /// Base64 representation of the non-volatile UEFI variable store. + /// + [Input("uefiData")] + public Input? UefiData { get; set; } + /// /// Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. /// diff --git a/sdk/dotnet/Ec2/AmiCopy.cs b/sdk/dotnet/Ec2/AmiCopy.cs index 0bde0d0a741..590d3b40603 100644 --- a/sdk/dotnet/Ec2/AmiCopy.cs +++ b/sdk/dotnet/Ec2/AmiCopy.cs @@ -220,6 +220,12 @@ public partial class AmiCopy : global::Pulumi.CustomResource [Output("tpmSupport")] public Output TpmSupport { get; private set; } = null!; + /// + /// Base64 representation of the non-volatile UEFI variable store. + /// + [Output("uefiData")] + public Output UefiData { get; private set; } = null!; + [Output("usageOperation")] public Output UsageOperation { get; private set; } = null!; @@ -569,6 +575,12 @@ public InputMap TagsAll [Input("tpmSupport")] public Input? TpmSupport { get; set; } + /// + /// Base64 representation of the non-volatile UEFI variable store. + /// + [Input("uefiData")] + public Input? UefiData { get; set; } + [Input("usageOperation")] public Input? UsageOperation { get; set; } diff --git a/sdk/dotnet/Ec2/AmiFromInstance.cs b/sdk/dotnet/Ec2/AmiFromInstance.cs index 4ff36fe4c62..2380099a5b6 100644 --- a/sdk/dotnet/Ec2/AmiFromInstance.cs +++ b/sdk/dotnet/Ec2/AmiFromInstance.cs @@ -203,6 +203,12 @@ public partial class AmiFromInstance : global::Pulumi.CustomResource [Output("tpmSupport")] public Output TpmSupport { get; private set; } = null!; + /// + /// Base64 representation of the non-volatile UEFI variable store. + /// + [Output("uefiData")] + public Output UefiData { get; private set; } = null!; + [Output("usageOperation")] public Output UsageOperation { get; private set; } = null!; @@ -516,6 +522,12 @@ public InputMap TagsAll [Input("tpmSupport")] public Input? TpmSupport { get; set; } + /// + /// Base64 representation of the non-volatile UEFI variable store. + /// + [Input("uefiData")] + public Input? UefiData { get; set; } + [Input("usageOperation")] public Input? UsageOperation { get; set; } diff --git a/sdk/dotnet/Ec2/GetAmi.cs b/sdk/dotnet/Ec2/GetAmi.cs index e10a4c01092..03bb42388ef 100644 --- a/sdk/dotnet/Ec2/GetAmi.cs +++ b/sdk/dotnet/Ec2/GetAmi.cs @@ -279,6 +279,12 @@ public Dictionary Tags set => _tags = value; } + /// + /// (Optional) Base64 representation of the non-volatile UEFI variable store. + /// + [Input("uefiData")] + public string? UefiData { get; set; } + public GetAmiArgs() { } @@ -368,6 +374,12 @@ public InputMap Tags set => _tags = value; } + /// + /// (Optional) Base64 representation of the non-volatile UEFI variable store. + /// + [Input("uefiData")] + public Input? UefiData { get; set; } + public GetAmiInvokeArgs() { } @@ -519,6 +531,10 @@ public sealed class GetAmiResult /// public readonly string TpmSupport; /// + /// (Optional) Base64 representation of the non-volatile UEFI variable store. + /// + public readonly string? UefiData; + /// /// Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. /// public readonly string UsageOperation; @@ -604,6 +620,8 @@ private GetAmiResult( string tpmSupport, + string? uefiData, + string usageOperation, string virtualizationType) @@ -645,6 +663,7 @@ private GetAmiResult( StateReason = stateReason; Tags = tags; TpmSupport = tpmSupport; + UefiData = uefiData; UsageOperation = usageOperation; VirtualizationType = virtualizationType; } diff --git a/sdk/dotnet/Ec2/GetInstanceType.cs b/sdk/dotnet/Ec2/GetInstanceType.cs index 81c2c75878c..bca3f58b242 100644 --- a/sdk/dotnet/Ec2/GetInstanceType.cs +++ b/sdk/dotnet/Ec2/GetInstanceType.cs @@ -122,10 +122,18 @@ public sealed class GetInstanceTypeResult /// public readonly bool AutoRecoverySupported; /// + /// A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. + /// + public readonly ImmutableArray BandwidthWeightings; + /// /// `true` if it is a bare metal instance type. /// public readonly bool BareMetal; /// + /// A set of strings of supported boot modes. + /// + public readonly ImmutableArray BootModes; + /// /// `true` if the instance type is a burstable performance instance type. /// public readonly bool BurstablePerformanceSupported; @@ -142,6 +150,10 @@ public sealed class GetInstanceTypeResult /// public readonly int DefaultCores; /// + /// The index of the default network card, starting at `0`. + /// + public readonly int DefaultNetworkCardIndex; + /// /// The default number of threads per core for the instance type. /// public readonly int DefaultThreadsPerCore; @@ -186,22 +198,30 @@ public sealed class GetInstanceTypeResult /// public readonly double EbsPerformanceMaximumThroughput; /// - /// Whether Elastic Fabric Adapter (EFA) is supported. + /// The maximum number of Elastic Fabric Adapters for the instance type. + /// + public readonly int EfaMaximumInterfaces; + /// + /// `true` if Elastic Fabric Adapter (EFA) is supported. /// public readonly bool EfaSupported; /// - /// Whether Elastic Network Adapter (ENA) is supported. + /// `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). + /// + public readonly bool EnaSrdSupported; + /// + /// Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. /// public readonly string EnaSupport; /// - /// Indicates whether encryption in-transit between instances is supported. + /// `true` if encryption in-transit between instances is supported. /// public readonly bool EncryptionInTransitSupported; /// /// Describes the FPGA accelerator settings for the instance type. /// * `fpgas.#.count` - The count of FPGA accelerators for the instance type. /// * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. - /// * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + /// * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. /// * `fpgas.#.name` - The name of the FPGA accelerator. /// public readonly ImmutableArray Fpgas; @@ -213,7 +233,7 @@ public sealed class GetInstanceTypeResult /// Describes the GPU accelerators for the instance type. /// * `gpus.#.count` - The number of GPUs for the instance type. /// * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. - /// * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + /// * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. /// * `gpus.#.name` - The name of the GPU accelerator. /// public readonly ImmutableArray Gpuses; @@ -233,6 +253,7 @@ public sealed class GetInstanceTypeResult /// Describes the Inference accelerators for the instance type. /// * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. /// * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + /// * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. /// * `inference_accelerators.#.name` - The name of the Inference accelerator. /// public readonly ImmutableArray InferenceAccelerators; @@ -269,27 +290,73 @@ public sealed class GetInstanceTypeResult /// public readonly int MaximumNetworkInterfaces; /// + /// Describes the media accelerator settings for the instance type. + /// * `media_accelerators.#.count` - The number of media accelerators for the instance type. + /// * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. + /// * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. + /// * `media_accelerators.#.name` - The name of the media accelerator. + /// + public readonly ImmutableArray MediaAccelerators; + /// /// Size of the instance memory, in MiB. /// public readonly int MemorySize; /// + /// Describes the network cards for the instance type. + /// * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. + /// * `network_cards.#.index` - The index of the network card. + /// * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. + /// * `network_cards.#.performance` - Describes the network performance of the network card. + /// * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. + /// + public readonly ImmutableArray NetworkCards; + /// /// Describes the network performance. /// public readonly string NetworkPerformance; /// - /// A list of architectures supported by the instance type. + /// Describes the Neuron accelerator settings for the instance type. + /// * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. + /// * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. + /// * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. + /// * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. + /// * `neuron_devices.#.name` - The name of the neuron accelerator. + /// + public readonly ImmutableArray NeuronDevices; + /// + /// Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. + /// + public readonly string NitroEnclavesSupport; + /// + /// Indicates whether NitroTPM is `"supported"` or `"unsupported"`. + /// + public readonly string NitroTpmSupport; + /// + /// A set of strings indicating the supported NitroTPM versions. + /// + public readonly ImmutableArray NitroTpmSupportedVersions; + /// + /// `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. + /// + public readonly string PhcSupport; + /// + /// A list of strings of architectures supported by the instance type. /// public readonly ImmutableArray SupportedArchitectures; /// + /// A set of strings indicating supported CPU features. + /// + public readonly ImmutableArray SupportedCpuFeatures; + /// /// A list of supported placement groups types. /// public readonly ImmutableArray SupportedPlacementStrategies; /// - /// Indicates the supported root device types. + /// A list of supported root device types. /// public readonly ImmutableArray SupportedRootDeviceTypes; /// - /// Indicates whether the instance type is offered for spot or On-Demand. + /// A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. /// public readonly ImmutableArray SupportedUsagesClasses; /// @@ -309,10 +376,22 @@ public sealed class GetInstanceTypeResult /// public readonly int TotalGpuMemory; /// + /// The total size of the memory for the neuron accelerators for the instance type (in MiB). + /// + public readonly int TotalInferenceMemory; + /// /// The total size of the instance disks, in GB. /// public readonly int TotalInstanceStorage; /// + /// The total size of the memory for the media accelerators for the instance type (in MiB). + /// + public readonly int TotalMediaMemory; + /// + /// The total size of the memory for the neuron accelerators for the instance type (in MiB). + /// + public readonly int TotalNeuronDeviceMemory; + /// /// List of the valid number of cores that can be configured for the instance type. /// public readonly ImmutableArray ValidCores; @@ -325,8 +404,12 @@ public sealed class GetInstanceTypeResult private GetInstanceTypeResult( bool autoRecoverySupported, + ImmutableArray bandwidthWeightings, + bool bareMetal, + ImmutableArray bootModes, + bool burstablePerformanceSupported, bool currentGeneration, @@ -335,6 +418,8 @@ private GetInstanceTypeResult( int defaultCores, + int defaultNetworkCardIndex, + int defaultThreadsPerCore, int defaultVcpus, @@ -357,8 +442,12 @@ private GetInstanceTypeResult( double ebsPerformanceMaximumThroughput, + int efaMaximumInterfaces, + bool efaSupported, + bool enaSrdSupported, + string enaSupport, bool encryptionInTransitSupported, @@ -393,12 +482,28 @@ private GetInstanceTypeResult( int maximumNetworkInterfaces, + ImmutableArray mediaAccelerators, + int memorySize, + ImmutableArray networkCards, + string networkPerformance, + ImmutableArray neuronDevices, + + string nitroEnclavesSupport, + + string nitroTpmSupport, + + ImmutableArray nitroTpmSupportedVersions, + + string phcSupport, + ImmutableArray supportedArchitectures, + ImmutableArray supportedCpuFeatures, + ImmutableArray supportedPlacementStrategies, ImmutableArray supportedRootDeviceTypes, @@ -413,18 +518,27 @@ private GetInstanceTypeResult( int totalGpuMemory, + int totalInferenceMemory, + int totalInstanceStorage, + int totalMediaMemory, + + int totalNeuronDeviceMemory, + ImmutableArray validCores, ImmutableArray validThreadsPerCores) { AutoRecoverySupported = autoRecoverySupported; + BandwidthWeightings = bandwidthWeightings; BareMetal = bareMetal; + BootModes = bootModes; BurstablePerformanceSupported = burstablePerformanceSupported; CurrentGeneration = currentGeneration; DedicatedHostsSupported = dedicatedHostsSupported; DefaultCores = defaultCores; + DefaultNetworkCardIndex = defaultNetworkCardIndex; DefaultThreadsPerCore = defaultThreadsPerCore; DefaultVcpus = defaultVcpus; EbsEncryptionSupport = ebsEncryptionSupport; @@ -436,7 +550,9 @@ private GetInstanceTypeResult( EbsPerformanceMaximumBandwidth = ebsPerformanceMaximumBandwidth; EbsPerformanceMaximumIops = ebsPerformanceMaximumIops; EbsPerformanceMaximumThroughput = ebsPerformanceMaximumThroughput; + EfaMaximumInterfaces = efaMaximumInterfaces; EfaSupported = efaSupported; + EnaSrdSupported = enaSrdSupported; EnaSupport = enaSupport; EncryptionInTransitSupported = encryptionInTransitSupported; Fpgas = fpgas; @@ -454,9 +570,17 @@ private GetInstanceTypeResult( MaximumIpv6AddressesPerInterface = maximumIpv6AddressesPerInterface; MaximumNetworkCards = maximumNetworkCards; MaximumNetworkInterfaces = maximumNetworkInterfaces; + MediaAccelerators = mediaAccelerators; MemorySize = memorySize; + NetworkCards = networkCards; NetworkPerformance = networkPerformance; + NeuronDevices = neuronDevices; + NitroEnclavesSupport = nitroEnclavesSupport; + NitroTpmSupport = nitroTpmSupport; + NitroTpmSupportedVersions = nitroTpmSupportedVersions; + PhcSupport = phcSupport; SupportedArchitectures = supportedArchitectures; + SupportedCpuFeatures = supportedCpuFeatures; SupportedPlacementStrategies = supportedPlacementStrategies; SupportedRootDeviceTypes = supportedRootDeviceTypes; SupportedUsagesClasses = supportedUsagesClasses; @@ -464,7 +588,10 @@ private GetInstanceTypeResult( SustainedClockSpeed = sustainedClockSpeed; TotalFpgaMemory = totalFpgaMemory; TotalGpuMemory = totalGpuMemory; + TotalInferenceMemory = totalInferenceMemory; TotalInstanceStorage = totalInstanceStorage; + TotalMediaMemory = totalMediaMemory; + TotalNeuronDeviceMemory = totalNeuronDeviceMemory; ValidCores = validCores; ValidThreadsPerCores = validThreadsPerCores; } diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.cs index ec85b166732..dca39f9078e 100644 --- a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.cs +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeInferenceAcceleratorResult.cs @@ -15,6 +15,10 @@ public sealed class GetInstanceTypeInferenceAcceleratorResult { public readonly int Count; public readonly string Manufacturer; + /// + /// Size of the instance memory, in MiB. + /// + public readonly int MemorySize; public readonly string Name; [OutputConstructor] @@ -23,10 +27,13 @@ private GetInstanceTypeInferenceAcceleratorResult( string manufacturer, + int memorySize, + string name) { Count = count; Manufacturer = manufacturer; + MemorySize = memorySize; Name = name; } } diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeMediaAcceleratorResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeMediaAcceleratorResult.cs new file mode 100644 index 00000000000..bbc5a660c1a --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeMediaAcceleratorResult.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Outputs +{ + + [OutputType] + public sealed class GetInstanceTypeMediaAcceleratorResult + { + public readonly int Count; + public readonly string Manufacturer; + /// + /// Size of the instance memory, in MiB. + /// + public readonly int MemorySize; + public readonly string Name; + + [OutputConstructor] + private GetInstanceTypeMediaAcceleratorResult( + int count, + + string manufacturer, + + int memorySize, + + string name) + { + Count = count; + Manufacturer = manufacturer; + MemorySize = memorySize; + Name = name; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeNetworkCardResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeNetworkCardResult.cs new file mode 100644 index 00000000000..bdb8fb98564 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeNetworkCardResult.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Outputs +{ + + [OutputType] + public sealed class GetInstanceTypeNetworkCardResult + { + public readonly double BaselineBandwidth; + public readonly int Index; + public readonly int MaximumInterfaces; + public readonly double PeakBandwidth; + public readonly string Performance; + + [OutputConstructor] + private GetInstanceTypeNetworkCardResult( + double baselineBandwidth, + + int index, + + int maximumInterfaces, + + double peakBandwidth, + + string performance) + { + BaselineBandwidth = baselineBandwidth; + Index = index; + MaximumInterfaces = maximumInterfaces; + PeakBandwidth = peakBandwidth; + Performance = performance; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/GetInstanceTypeNeuronDeviceResult.cs b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeNeuronDeviceResult.cs new file mode 100644 index 00000000000..726665721ef --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/GetInstanceTypeNeuronDeviceResult.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Ec2.Outputs +{ + + [OutputType] + public sealed class GetInstanceTypeNeuronDeviceResult + { + public readonly int CoreCount; + public readonly int CoreVersion; + public readonly int Count; + /// + /// Size of the instance memory, in MiB. + /// + public readonly int MemorySize; + public readonly string Name; + + [OutputConstructor] + private GetInstanceTypeNeuronDeviceResult( + int coreCount, + + int coreVersion, + + int count, + + int memorySize, + + string name) + { + CoreCount = coreCount; + CoreVersion = coreVersion; + Count = count; + MemorySize = memorySize; + Name = name; + } + } +} diff --git a/sdk/dotnet/ElastiCache/User.cs b/sdk/dotnet/ElastiCache/User.cs index 24cce502eca..e572857a302 100644 --- a/sdk/dotnet/ElastiCache/User.cs +++ b/sdk/dotnet/ElastiCache/User.cs @@ -28,7 +28,7 @@ namespace Pulumi.Aws.ElastiCache /// UserId = "testUserId", /// UserName = "testUserName", /// AccessString = "on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - /// Engine = "REDIS", + /// Engine = "redis", /// Passwords = new[] /// { /// "password123456789", @@ -51,7 +51,7 @@ namespace Pulumi.Aws.ElastiCache /// UserId = "testUserId", /// UserName = "testUserName", /// AccessString = "on ~* +@all", - /// Engine = "REDIS", + /// Engine = "redis", /// AuthenticationMode = new Aws.ElastiCache.Inputs.UserAuthenticationModeArgs /// { /// Type = "iam", @@ -74,7 +74,7 @@ namespace Pulumi.Aws.ElastiCache /// UserId = "testUserId", /// UserName = "testUserName", /// AccessString = "on ~* +@all", - /// Engine = "REDIS", + /// Engine = "redis", /// AuthenticationMode = new Aws.ElastiCache.Inputs.UserAuthenticationModeArgs /// { /// Type = "password", @@ -119,7 +119,7 @@ public partial class User : global::Pulumi.CustomResource public Output AuthenticationMode { get; private set; } = null!; /// - /// The current supported values are `REDIS`, `VALKEY`. + /// The current supported values are `redis`, `valkey` (case insensitive). /// [Output("engine")] public Output Engine { get; private set; } = null!; @@ -222,7 +222,7 @@ public sealed class UserArgs : global::Pulumi.ResourceArgs public Input? AuthenticationMode { get; set; } /// - /// The current supported values are `REDIS`, `VALKEY`. + /// The current supported values are `redis`, `valkey` (case insensitive). /// [Input("engine", required: true)] public Input Engine { get; set; } = null!; @@ -302,7 +302,7 @@ public sealed class UserState : global::Pulumi.ResourceArgs public Input? AuthenticationMode { get; set; } /// - /// The current supported values are `REDIS`, `VALKEY`. + /// The current supported values are `redis`, `valkey` (case insensitive). /// [Input("engine")] public Input? Engine { get; set; } diff --git a/sdk/dotnet/ElastiCache/UserGroup.cs b/sdk/dotnet/ElastiCache/UserGroup.cs index 6aae23cae11..de3047d1529 100644 --- a/sdk/dotnet/ElastiCache/UserGroup.cs +++ b/sdk/dotnet/ElastiCache/UserGroup.cs @@ -27,7 +27,7 @@ namespace Pulumi.Aws.ElastiCache /// UserId = "testUserId", /// UserName = "default", /// AccessString = "on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - /// Engine = "REDIS", + /// Engine = "redis", /// Passwords = new[] /// { /// "password123456789", @@ -36,7 +36,7 @@ namespace Pulumi.Aws.ElastiCache /// /// var testUserGroup = new Aws.ElastiCache.UserGroup("test", new() /// { - /// Engine = "REDIS", + /// Engine = "redis", /// UserGroupId = "userGroupId", /// UserIds = new[] /// { @@ -65,7 +65,7 @@ public partial class UserGroup : global::Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// The current supported value are `REDIS`, `VALKEY`. + /// The current supported value are `redis`, `valkey` (case insensitive). /// [Output("engine")] public Output Engine { get; private set; } = null!; @@ -143,7 +143,7 @@ public static UserGroup Get(string name, Input id, UserGroupState? state public sealed class UserGroupArgs : global::Pulumi.ResourceArgs { /// - /// The current supported value are `REDIS`, `VALKEY`. + /// The current supported value are `redis`, `valkey` (case insensitive). /// [Input("engine", required: true)] public Input Engine { get; set; } = null!; @@ -195,7 +195,7 @@ public sealed class UserGroupState : global::Pulumi.ResourceArgs public Input? Arn { get; set; } /// - /// The current supported value are `REDIS`, `VALKEY`. + /// The current supported value are `redis`, `valkey` (case insensitive). /// [Input("engine")] public Input? Engine { get; set; } diff --git a/sdk/dotnet/GlobalAccelerator/Accelerator.cs b/sdk/dotnet/GlobalAccelerator/Accelerator.cs index b5a93e845b0..45b61accd94 100644 --- a/sdk/dotnet/GlobalAccelerator/Accelerator.cs +++ b/sdk/dotnet/GlobalAccelerator/Accelerator.cs @@ -53,6 +53,12 @@ namespace Pulumi.Aws.GlobalAccelerator [AwsResourceType("aws:globalaccelerator/accelerator:Accelerator")] public partial class Accelerator : global::Pulumi.CustomResource { + /// + /// The Amazon Resource Name (ARN) of the accelerator. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + /// /// The attributes of the accelerator. Fields documented below. /// @@ -223,6 +229,12 @@ public AcceleratorArgs() public sealed class AcceleratorState : global::Pulumi.ResourceArgs { + /// + /// The Amazon Resource Name (ARN) of the accelerator. + /// + [Input("arn")] + public Input? Arn { get; set; } + /// /// The attributes of the accelerator. Fields documented below. /// diff --git a/sdk/dotnet/GlobalAccelerator/CustomRoutingAccelerator.cs b/sdk/dotnet/GlobalAccelerator/CustomRoutingAccelerator.cs index 8f29f4dabc5..9c525f077bc 100644 --- a/sdk/dotnet/GlobalAccelerator/CustomRoutingAccelerator.cs +++ b/sdk/dotnet/GlobalAccelerator/CustomRoutingAccelerator.cs @@ -53,6 +53,12 @@ namespace Pulumi.Aws.GlobalAccelerator [AwsResourceType("aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator")] public partial class CustomRoutingAccelerator : global::Pulumi.CustomResource { + /// + /// The Amazon Resource Name (ARN) of the custom accelerator. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + /// /// The attributes of the accelerator. Fields documented below. /// @@ -217,6 +223,12 @@ public CustomRoutingAcceleratorArgs() public sealed class CustomRoutingAcceleratorState : global::Pulumi.ResourceArgs { + /// + /// The Amazon Resource Name (ARN) of the custom accelerator. + /// + [Input("arn")] + public Input? Arn { get; set; } + /// /// The attributes of the accelerator. Fields documented below. /// diff --git a/sdk/dotnet/GlobalAccelerator/CustomRoutingEndpointGroup.cs b/sdk/dotnet/GlobalAccelerator/CustomRoutingEndpointGroup.cs index 336f157f4ff..698c49d9b90 100644 --- a/sdk/dotnet/GlobalAccelerator/CustomRoutingEndpointGroup.cs +++ b/sdk/dotnet/GlobalAccelerator/CustomRoutingEndpointGroup.cs @@ -24,7 +24,7 @@ namespace Pulumi.Aws.GlobalAccelerator /// { /// var example = new Aws.GlobalAccelerator.CustomRoutingEndpointGroup("example", new() /// { - /// ListenerArn = exampleAwsGlobalacceleratorCustomRoutingListener.Id, + /// ListenerArn = exampleAwsGlobalacceleratorCustomRoutingListener.Arn, /// DestinationConfigurations = new[] /// { /// new Aws.GlobalAccelerator.Inputs.CustomRoutingEndpointGroupDestinationConfigurationArgs diff --git a/sdk/dotnet/GlobalAccelerator/CustomRoutingListener.cs b/sdk/dotnet/GlobalAccelerator/CustomRoutingListener.cs index b7ab893f5fb..789dfa8ef05 100644 --- a/sdk/dotnet/GlobalAccelerator/CustomRoutingListener.cs +++ b/sdk/dotnet/GlobalAccelerator/CustomRoutingListener.cs @@ -37,7 +37,7 @@ namespace Pulumi.Aws.GlobalAccelerator /// /// var exampleCustomRoutingListener = new Aws.GlobalAccelerator.CustomRoutingListener("example", new() /// { - /// AcceleratorArn = example.Id, + /// AcceleratorArn = example.Arn, /// PortRanges = new[] /// { /// new Aws.GlobalAccelerator.Inputs.CustomRoutingListenerPortRangeArgs @@ -68,6 +68,9 @@ public partial class CustomRoutingListener : global::Pulumi.CustomResource [Output("acceleratorArn")] public Output AcceleratorArn { get; private set; } = null!; + [Output("arn")] + public Output Arn { get; private set; } = null!; + /// /// The list of port ranges for the connections from clients to the accelerator. Fields documented below. /// @@ -152,6 +155,9 @@ public sealed class CustomRoutingListenerState : global::Pulumi.ResourceArgs [Input("acceleratorArn")] public Input? AcceleratorArn { get; set; } + [Input("arn")] + public Input? Arn { get; set; } + [Input("portRanges")] private InputList? _portRanges; diff --git a/sdk/dotnet/GlobalAccelerator/EndpointGroup.cs b/sdk/dotnet/GlobalAccelerator/EndpointGroup.cs index 74a73c5f026..6f04663770e 100644 --- a/sdk/dotnet/GlobalAccelerator/EndpointGroup.cs +++ b/sdk/dotnet/GlobalAccelerator/EndpointGroup.cs @@ -24,7 +24,7 @@ namespace Pulumi.Aws.GlobalAccelerator /// { /// var example = new Aws.GlobalAccelerator.EndpointGroup("example", new() /// { - /// ListenerArn = exampleAwsGlobalacceleratorListener.Id, + /// ListenerArn = exampleAwsGlobalacceleratorListener.Arn, /// EndpointConfigurations = new[] /// { /// new Aws.GlobalAccelerator.Inputs.EndpointGroupEndpointConfigurationArgs diff --git a/sdk/dotnet/GlobalAccelerator/Listener.cs b/sdk/dotnet/GlobalAccelerator/Listener.cs index 4a49fb4daa6..375a93211ba 100644 --- a/sdk/dotnet/GlobalAccelerator/Listener.cs +++ b/sdk/dotnet/GlobalAccelerator/Listener.cs @@ -37,7 +37,7 @@ namespace Pulumi.Aws.GlobalAccelerator /// /// var exampleListener = new Aws.GlobalAccelerator.Listener("example", new() /// { - /// AcceleratorArn = example.Id, + /// AcceleratorArn = example.Arn, /// ClientAffinity = "SOURCE_IP", /// Protocol = "TCP", /// PortRanges = new[] @@ -70,6 +70,12 @@ public partial class Listener : global::Pulumi.CustomResource [Output("acceleratorArn")] public Output AcceleratorArn { get; private set; } = null!; + /// + /// The Amazon Resource Name (ARN) of the listener. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + /// /// Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. /// @@ -178,6 +184,12 @@ public sealed class ListenerState : global::Pulumi.ResourceArgs [Input("acceleratorArn")] public Input? AcceleratorArn { get; set; } + /// + /// The Amazon Resource Name (ARN) of the listener. + /// + [Input("arn")] + public Input? Arn { get; set; } + /// /// Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. /// diff --git a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs index 6c42920601e..2da08561640 100644 --- a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs +++ b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs @@ -900,6 +900,12 @@ public sealed class ProviderEndpointArgs : global::Pulumi.ResourceArgs [Input("internetmonitor")] public Input? Internetmonitor { get; set; } + /// + /// Use this to override the default service endpoint URL + /// + [Input("invoicing")] + public Input? Invoicing { get; set; } + /// /// Use this to override the default service endpoint URL /// diff --git a/sdk/dotnet/Kms/CustomKeyStore.cs b/sdk/dotnet/Kms/CustomKeyStore.cs index 0832fc70b48..e1106ab1930 100644 --- a/sdk/dotnet/Kms/CustomKeyStore.cs +++ b/sdk/dotnet/Kms/CustomKeyStore.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Kms /// /// ## Example Usage /// - /// ### Basic Usage + /// ### CloudHSM /// /// ```csharp /// using System.Collections.Generic; @@ -39,6 +39,61 @@ namespace Pulumi.Aws.Kms /// }); /// ``` /// + /// ### External Key Store (VPC) + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Kms.CustomKeyStore("example", new() + /// { + /// CustomKeyStoreName = "example-vpc-xks", + /// CustomKeyStoreType = "EXTERNAL_KEY_STORE", + /// XksProxyAuthenticationCredential = new Aws.Kms.Inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs + /// { + /// AccessKeyId = ephemeralAccessKeyId, + /// RawSecretAccessKey = ephemeralSecretAccessKey, + /// }, + /// XksProxyConnectivity = "VPC_ENDPOINT_SERVICE", + /// XksProxyUriEndpoint = "https://myproxy-private.xks.example.com", + /// XksProxyUriPath = "/kms/xks/v1", + /// XksProxyVpcEndpointServiceName = "com.amazonaws.vpce.us-east-1.vpce-svc-example", + /// }); + /// + /// }); + /// ``` + /// + /// ### External Key Store (Public) + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Kms.CustomKeyStore("example", new() + /// { + /// CustomKeyStoreName = "example-public-xks", + /// CustomKeyStoreType = "EXTERNAL_KEY_STORE", + /// XksProxyAuthenticationCredential = new Aws.Kms.Inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs + /// { + /// AccessKeyId = ephemeralAccessKeyId, + /// RawSecretAccessKey = ephemeralSecretAccessKey, + /// }, + /// XksProxyConnectivity = "PUBLIC_ENDPOINT", + /// XksProxyUriEndpoint = "https://myproxy.xks.example.com", + /// XksProxyUriPath = "/kms/xks/v1", + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Using `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example: @@ -50,29 +105,43 @@ namespace Pulumi.Aws.Kms [AwsResourceType("aws:kms/customKeyStore:CustomKeyStore")] public partial class CustomKeyStore : global::Pulumi.CustomResource { - /// - /// Cluster ID of CloudHSM. - /// [Output("cloudHsmClusterId")] - public Output CloudHsmClusterId { get; private set; } = null!; + public Output CloudHsmClusterId { get; private set; } = null!; /// /// Unique name for Custom Key Store. + /// + /// The following arguments are optional: /// [Output("customKeyStoreName")] public Output CustomKeyStoreName { get; private set; } = null!; /// - /// Password for `kmsuser` on CloudHSM. + /// Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. /// + [Output("customKeyStoreType")] + public Output CustomKeyStoreType { get; private set; } = null!; + [Output("keyStorePassword")] - public Output KeyStorePassword { get; private set; } = null!; + public Output KeyStorePassword { get; private set; } = null!; - /// - /// Customer certificate used for signing on CloudHSM. - /// [Output("trustAnchorCertificate")] - public Output TrustAnchorCertificate { get; private set; } = null!; + public Output TrustAnchorCertificate { get; private set; } = null!; + + [Output("xksProxyAuthenticationCredential")] + public Output XksProxyAuthenticationCredential { get; private set; } = null!; + + [Output("xksProxyConnectivity")] + public Output XksProxyConnectivity { get; private set; } = null!; + + [Output("xksProxyUriEndpoint")] + public Output XksProxyUriEndpoint { get; private set; } = null!; + + [Output("xksProxyUriPath")] + public Output XksProxyUriPath { get; private set; } = null!; + + [Output("xksProxyVpcEndpointServiceName")] + public Output XksProxyVpcEndpointServiceName { get; private set; } = null!; /// @@ -120,29 +189,43 @@ public static CustomKeyStore Get(string name, Input id, CustomKeyStoreSt public sealed class CustomKeyStoreArgs : global::Pulumi.ResourceArgs { - /// - /// Cluster ID of CloudHSM. - /// - [Input("cloudHsmClusterId", required: true)] - public Input CloudHsmClusterId { get; set; } = null!; + [Input("cloudHsmClusterId")] + public Input? CloudHsmClusterId { get; set; } /// /// Unique name for Custom Key Store. + /// + /// The following arguments are optional: /// [Input("customKeyStoreName", required: true)] public Input CustomKeyStoreName { get; set; } = null!; /// - /// Password for `kmsuser` on CloudHSM. + /// Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. /// - [Input("keyStorePassword", required: true)] - public Input KeyStorePassword { get; set; } = null!; + [Input("customKeyStoreType")] + public Input? CustomKeyStoreType { get; set; } - /// - /// Customer certificate used for signing on CloudHSM. - /// - [Input("trustAnchorCertificate", required: true)] - public Input TrustAnchorCertificate { get; set; } = null!; + [Input("keyStorePassword")] + public Input? KeyStorePassword { get; set; } + + [Input("trustAnchorCertificate")] + public Input? TrustAnchorCertificate { get; set; } + + [Input("xksProxyAuthenticationCredential")] + public Input? XksProxyAuthenticationCredential { get; set; } + + [Input("xksProxyConnectivity")] + public Input? XksProxyConnectivity { get; set; } + + [Input("xksProxyUriEndpoint")] + public Input? XksProxyUriEndpoint { get; set; } + + [Input("xksProxyUriPath")] + public Input? XksProxyUriPath { get; set; } + + [Input("xksProxyVpcEndpointServiceName")] + public Input? XksProxyVpcEndpointServiceName { get; set; } public CustomKeyStoreArgs() { @@ -152,30 +235,44 @@ public CustomKeyStoreArgs() public sealed class CustomKeyStoreState : global::Pulumi.ResourceArgs { - /// - /// Cluster ID of CloudHSM. - /// [Input("cloudHsmClusterId")] public Input? CloudHsmClusterId { get; set; } /// /// Unique name for Custom Key Store. + /// + /// The following arguments are optional: /// [Input("customKeyStoreName")] public Input? CustomKeyStoreName { get; set; } /// - /// Password for `kmsuser` on CloudHSM. + /// Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. /// + [Input("customKeyStoreType")] + public Input? CustomKeyStoreType { get; set; } + [Input("keyStorePassword")] public Input? KeyStorePassword { get; set; } - /// - /// Customer certificate used for signing on CloudHSM. - /// [Input("trustAnchorCertificate")] public Input? TrustAnchorCertificate { get; set; } + [Input("xksProxyAuthenticationCredential")] + public Input? XksProxyAuthenticationCredential { get; set; } + + [Input("xksProxyConnectivity")] + public Input? XksProxyConnectivity { get; set; } + + [Input("xksProxyUriEndpoint")] + public Input? XksProxyUriEndpoint { get; set; } + + [Input("xksProxyUriPath")] + public Input? XksProxyUriPath { get; set; } + + [Input("xksProxyVpcEndpointServiceName")] + public Input? XksProxyVpcEndpointServiceName { get; set; } + public CustomKeyStoreState() { } diff --git a/sdk/dotnet/Kms/Inputs/CustomKeyStoreXksProxyAuthenticationCredentialArgs.cs b/sdk/dotnet/Kms/Inputs/CustomKeyStoreXksProxyAuthenticationCredentialArgs.cs new file mode 100644 index 00000000000..7844a857fb3 --- /dev/null +++ b/sdk/dotnet/Kms/Inputs/CustomKeyStoreXksProxyAuthenticationCredentialArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kms.Inputs +{ + + public sealed class CustomKeyStoreXksProxyAuthenticationCredentialArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique identifier for the raw secret access key. + /// + [Input("accessKeyId", required: true)] + public Input AccessKeyId { get; set; } = null!; + + /// + /// A secret string of 43-64 characters. + /// + [Input("rawSecretAccessKey", required: true)] + public Input RawSecretAccessKey { get; set; } = null!; + + public CustomKeyStoreXksProxyAuthenticationCredentialArgs() + { + } + public static new CustomKeyStoreXksProxyAuthenticationCredentialArgs Empty => new CustomKeyStoreXksProxyAuthenticationCredentialArgs(); + } +} diff --git a/sdk/dotnet/Kms/Inputs/CustomKeyStoreXksProxyAuthenticationCredentialGetArgs.cs b/sdk/dotnet/Kms/Inputs/CustomKeyStoreXksProxyAuthenticationCredentialGetArgs.cs new file mode 100644 index 00000000000..abfa7205186 --- /dev/null +++ b/sdk/dotnet/Kms/Inputs/CustomKeyStoreXksProxyAuthenticationCredentialGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kms.Inputs +{ + + public sealed class CustomKeyStoreXksProxyAuthenticationCredentialGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique identifier for the raw secret access key. + /// + [Input("accessKeyId", required: true)] + public Input AccessKeyId { get; set; } = null!; + + /// + /// A secret string of 43-64 characters. + /// + [Input("rawSecretAccessKey", required: true)] + public Input RawSecretAccessKey { get; set; } = null!; + + public CustomKeyStoreXksProxyAuthenticationCredentialGetArgs() + { + } + public static new CustomKeyStoreXksProxyAuthenticationCredentialGetArgs Empty => new CustomKeyStoreXksProxyAuthenticationCredentialGetArgs(); + } +} diff --git a/sdk/dotnet/Kms/Outputs/CustomKeyStoreXksProxyAuthenticationCredential.cs b/sdk/dotnet/Kms/Outputs/CustomKeyStoreXksProxyAuthenticationCredential.cs new file mode 100644 index 00000000000..c3b95e201e3 --- /dev/null +++ b/sdk/dotnet/Kms/Outputs/CustomKeyStoreXksProxyAuthenticationCredential.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kms.Outputs +{ + + [OutputType] + public sealed class CustomKeyStoreXksProxyAuthenticationCredential + { + /// + /// A unique identifier for the raw secret access key. + /// + public readonly string AccessKeyId; + /// + /// A secret string of 43-64 characters. + /// + public readonly string RawSecretAccessKey; + + [OutputConstructor] + private CustomKeyStoreXksProxyAuthenticationCredential( + string accessKeyId, + + string rawSecretAccessKey) + { + AccessKeyId = accessKeyId; + RawSecretAccessKey = rawSecretAccessKey; + } + } +} diff --git a/sdk/dotnet/LB/Listener.cs b/sdk/dotnet/LB/Listener.cs index 75e824bf0dc..e1fe6f86b6e 100644 --- a/sdk/dotnet/LB/Listener.cs +++ b/sdk/dotnet/LB/Listener.cs @@ -395,6 +395,120 @@ public partial class Listener : global::Pulumi.CustomResource [Output("protocol")] public Output Protocol { get; private set; } = null!; + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertIssuerHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertLeafHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertSubjectHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznMtlsClientcertValidityHeaderName")] + public Output RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznTlsCipherSuiteHeaderName")] + public Output RoutingHttpRequestXAmznTlsCipherSuiteHeaderName { get; private set; } = null!; + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Output("routingHttpRequestXAmznTlsVersionHeaderName")] + public Output RoutingHttpRequestXAmznTlsVersionHeaderName { get; private set; } = null!; + + /// + /// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + /// + [Output("routingHttpResponseAccessControlAllowCredentialsHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowCredentialsHeaderValue { get; private set; } = null!; + + /// + /// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + /// + [Output("routingHttpResponseAccessControlAllowHeadersHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowHeadersHeaderValue { get; private set; } = null!; + + /// + /// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + /// + [Output("routingHttpResponseAccessControlAllowMethodsHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowMethodsHeaderValue { get; private set; } = null!; + + /// + /// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + /// + [Output("routingHttpResponseAccessControlAllowOriginHeaderValue")] + public Output RoutingHttpResponseAccessControlAllowOriginHeaderValue { get; private set; } = null!; + + /// + /// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + /// + [Output("routingHttpResponseAccessControlExposeHeadersHeaderValue")] + public Output RoutingHttpResponseAccessControlExposeHeadersHeaderValue { get; private set; } = null!; + + /// + /// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + /// + [Output("routingHttpResponseAccessControlMaxAgeHeaderValue")] + public Output RoutingHttpResponseAccessControlMaxAgeHeaderValue { get; private set; } = null!; + + /// + /// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + /// + [Output("routingHttpResponseContentSecurityPolicyHeaderValue")] + public Output RoutingHttpResponseContentSecurityPolicyHeaderValue { get; private set; } = null!; + + /// + /// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + /// + [Output("routingHttpResponseServerEnabled")] + public Output RoutingHttpResponseServerEnabled { get; private set; } = null!; + + /// + /// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + /// + [Output("routingHttpResponseStrictTransportSecurityHeaderValue")] + public Output RoutingHttpResponseStrictTransportSecurityHeaderValue { get; private set; } = null!; + + /// + /// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + /// + [Output("routingHttpResponseXContentTypeOptionsHeaderValue")] + public Output RoutingHttpResponseXContentTypeOptionsHeaderValue { get; private set; } = null!; + + /// + /// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + /// + [Output("routingHttpResponseXFrameOptionsHeaderValue")] + public Output RoutingHttpResponseXFrameOptionsHeaderValue { get; private set; } = null!; + /// /// Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. /// @@ -521,6 +635,120 @@ public InputList DefaultActions [Input("protocol")] public Input? Protocol { get; set; } + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertIssuerHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertLeafHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSubjectHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertValidityHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsCipherSuiteHeaderName")] + public Input? RoutingHttpRequestXAmznTlsCipherSuiteHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsVersionHeaderName")] + public Input? RoutingHttpRequestXAmznTlsVersionHeaderName { get; set; } + + /// + /// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + /// + [Input("routingHttpResponseAccessControlAllowCredentialsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowCredentialsHeaderValue { get; set; } + + /// + /// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + /// + [Input("routingHttpResponseAccessControlAllowHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowHeadersHeaderValue { get; set; } + + /// + /// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + /// + [Input("routingHttpResponseAccessControlAllowMethodsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowMethodsHeaderValue { get; set; } + + /// + /// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + /// + [Input("routingHttpResponseAccessControlAllowOriginHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowOriginHeaderValue { get; set; } + + /// + /// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + /// + [Input("routingHttpResponseAccessControlExposeHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlExposeHeadersHeaderValue { get; set; } + + /// + /// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + /// + [Input("routingHttpResponseAccessControlMaxAgeHeaderValue")] + public Input? RoutingHttpResponseAccessControlMaxAgeHeaderValue { get; set; } + + /// + /// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + /// + [Input("routingHttpResponseContentSecurityPolicyHeaderValue")] + public Input? RoutingHttpResponseContentSecurityPolicyHeaderValue { get; set; } + + /// + /// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + /// + [Input("routingHttpResponseServerEnabled")] + public Input? RoutingHttpResponseServerEnabled { get; set; } + + /// + /// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + /// + [Input("routingHttpResponseStrictTransportSecurityHeaderValue")] + public Input? RoutingHttpResponseStrictTransportSecurityHeaderValue { get; set; } + + /// + /// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + /// + [Input("routingHttpResponseXContentTypeOptionsHeaderValue")] + public Input? RoutingHttpResponseXContentTypeOptionsHeaderValue { get; set; } + + /// + /// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + /// + [Input("routingHttpResponseXFrameOptionsHeaderValue")] + public Input? RoutingHttpResponseXFrameOptionsHeaderValue { get; set; } + /// /// Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. /// @@ -611,6 +839,120 @@ public InputList DefaultActions [Input("protocol")] public Input? Protocol { get; set; } + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertIssuerHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertLeafHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertSubjectHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznMtlsClientcertValidityHeaderName")] + public Input? RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsCipherSuiteHeaderName")] + public Input? RoutingHttpRequestXAmznTlsCipherSuiteHeaderName { get; set; } + + /// + /// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + /// + [Input("routingHttpRequestXAmznTlsVersionHeaderName")] + public Input? RoutingHttpRequestXAmznTlsVersionHeaderName { get; set; } + + /// + /// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + /// + [Input("routingHttpResponseAccessControlAllowCredentialsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowCredentialsHeaderValue { get; set; } + + /// + /// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + /// + [Input("routingHttpResponseAccessControlAllowHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowHeadersHeaderValue { get; set; } + + /// + /// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + /// + [Input("routingHttpResponseAccessControlAllowMethodsHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowMethodsHeaderValue { get; set; } + + /// + /// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + /// + [Input("routingHttpResponseAccessControlAllowOriginHeaderValue")] + public Input? RoutingHttpResponseAccessControlAllowOriginHeaderValue { get; set; } + + /// + /// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + /// + [Input("routingHttpResponseAccessControlExposeHeadersHeaderValue")] + public Input? RoutingHttpResponseAccessControlExposeHeadersHeaderValue { get; set; } + + /// + /// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + /// + [Input("routingHttpResponseAccessControlMaxAgeHeaderValue")] + public Input? RoutingHttpResponseAccessControlMaxAgeHeaderValue { get; set; } + + /// + /// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + /// + [Input("routingHttpResponseContentSecurityPolicyHeaderValue")] + public Input? RoutingHttpResponseContentSecurityPolicyHeaderValue { get; set; } + + /// + /// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + /// + [Input("routingHttpResponseServerEnabled")] + public Input? RoutingHttpResponseServerEnabled { get; set; } + + /// + /// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + /// + [Input("routingHttpResponseStrictTransportSecurityHeaderValue")] + public Input? RoutingHttpResponseStrictTransportSecurityHeaderValue { get; set; } + + /// + /// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + /// + [Input("routingHttpResponseXContentTypeOptionsHeaderValue")] + public Input? RoutingHttpResponseXContentTypeOptionsHeaderValue { get; set; } + + /// + /// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + /// + [Input("routingHttpResponseXFrameOptionsHeaderValue")] + public Input? RoutingHttpResponseXFrameOptionsHeaderValue { get; set; } + /// /// Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. /// diff --git a/sdk/dotnet/MediaPackage/V2ChannelGroup.cs b/sdk/dotnet/MediaPackage/V2ChannelGroup.cs new file mode 100644 index 00000000000..a3d438e127d --- /dev/null +++ b/sdk/dotnet/MediaPackage/V2ChannelGroup.cs @@ -0,0 +1,213 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.MediaPackage +{ + /// + /// Creates an AWS Elemental MediaPackage Version 2 Channel Group. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.MediaPackage.V2ChannelGroup("example", new() + /// { + /// Name = "example", + /// Description = "channel group for example channels", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Elemental MediaPackage Version 2 Channel Group using the channel group's `name`. For example: + /// + /// ```sh + /// $ pulumi import aws:mediapackage/v2ChannelGroup:V2ChannelGroup example example + /// ``` + /// + [AwsResourceType("aws:mediapackage/v2ChannelGroup:V2ChannelGroup")] + public partial class V2ChannelGroup : global::Pulumi.CustomResource + { + /// + /// The ARN of the channel + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// A description of the channel group + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The egress domain of the channel group + /// + [Output("egressDomain")] + public Output EgressDomain { get; private set; } = null!; + + /// + /// A unique identifier naming the channel group + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a V2ChannelGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public V2ChannelGroup(string name, V2ChannelGroupArgs? args = null, CustomResourceOptions? options = null) + : base("aws:mediapackage/v2ChannelGroup:V2ChannelGroup", name, args ?? new V2ChannelGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private V2ChannelGroup(string name, Input id, V2ChannelGroupState? state = null, CustomResourceOptions? options = null) + : base("aws:mediapackage/v2ChannelGroup:V2ChannelGroup", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing V2ChannelGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static V2ChannelGroup Get(string name, Input id, V2ChannelGroupState? state = null, CustomResourceOptions? options = null) + { + return new V2ChannelGroup(name, id, state, options); + } + } + + public sealed class V2ChannelGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of the channel group + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A unique identifier naming the channel group + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public V2ChannelGroupArgs() + { + } + public static new V2ChannelGroupArgs Empty => new V2ChannelGroupArgs(); + } + + public sealed class V2ChannelGroupState : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the channel + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// A description of the channel group + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The egress domain of the channel group + /// + [Input("egressDomain")] + public Input? EgressDomain { get; set; } + + /// + /// A unique identifier naming the channel group + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public V2ChannelGroupState() + { + } + public static new V2ChannelGroupState Empty => new V2ChannelGroupState(); + } +} diff --git a/sdk/dotnet/Route53/HealthCheck.cs b/sdk/dotnet/Route53/HealthCheck.cs index efe1cffeef0..6f4b7fcf02c 100644 --- a/sdk/dotnet/Route53/HealthCheck.cs +++ b/sdk/dotnet/Route53/HealthCheck.cs @@ -126,6 +126,47 @@ namespace Pulumi.Aws.Route53 /// }); /// ``` /// + /// ### CloudWatch Alarm Check With Triggers + /// + /// The `triggers` argument allows the Route53 health check to be synchronized when a change to the upstream CloudWatch alarm is made. + /// In the configuration below, the health check will be synchronized any time the `threshold` of the alarm is changed. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.CloudWatch.MetricAlarm("example", new() + /// { + /// Name = "example", + /// ComparisonOperator = "GreaterThanOrEqualToThreshold", + /// EvaluationPeriods = 2, + /// MetricName = "CPUUtilization", + /// Namespace = "AWS/EC2", + /// Period = 120, + /// Statistic = "Average", + /// Threshold = 80, + /// AlarmDescription = "This metric monitors ec2 cpu utilization", + /// }); + /// + /// var exampleHealthCheck = new Aws.Route53.HealthCheck("example", new() + /// { + /// Type = "CLOUDWATCH_METRIC", + /// CloudwatchAlarmName = example.Name, + /// CloudwatchAlarmRegion = "us-west-2", + /// InsufficientDataHealthStatus = "Healthy", + /// Triggers = + /// { + /// { "threshold", example.Threshold }, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Using `pulumi import`, import Route53 Health Checks using the health check `id`. For example: @@ -162,14 +203,14 @@ public partial class HealthCheck : global::Pulumi.CustomResource public Output CloudwatchAlarmName { get; private set; } = null!; /// - /// The CloudWatchRegion that the CloudWatch alarm was created in. + /// The region that the CloudWatch alarm was created in. /// [Output("cloudwatchAlarmRegion")] public Output CloudwatchAlarmRegion { get; private set; } = null!; /// /// A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - /// * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + /// * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. /// * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. /// * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. /// @@ -275,6 +316,12 @@ public partial class HealthCheck : global::Pulumi.CustomResource [Output("tagsAll")] public Output> TagsAll { get; private set; } = null!; + /// + /// Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + /// + [Output("triggers")] + public Output> Triggers { get; private set; } = null!; + /// /// The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. /// @@ -352,14 +399,14 @@ public InputList ChildHealthchecks public Input? CloudwatchAlarmName { get; set; } /// - /// The CloudWatchRegion that the CloudWatch alarm was created in. + /// The region that the CloudWatch alarm was created in. /// [Input("cloudwatchAlarmRegion")] public Input? CloudwatchAlarmRegion { get; set; } /// /// A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - /// * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + /// * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. /// * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. /// * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. /// @@ -471,6 +518,18 @@ public InputMap Tags set => _tags = value; } + [Input("triggers")] + private InputMap? _triggers; + + /// + /// Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + /// + public InputMap Triggers + { + get => _triggers ?? (_triggers = new InputMap()); + set => _triggers = value; + } + /// /// The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. /// @@ -516,14 +575,14 @@ public InputList ChildHealthchecks public Input? CloudwatchAlarmName { get; set; } /// - /// The CloudWatchRegion that the CloudWatch alarm was created in. + /// The region that the CloudWatch alarm was created in. /// [Input("cloudwatchAlarmRegion")] public Input? CloudwatchAlarmRegion { get; set; } /// /// A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - /// * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + /// * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. /// * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. /// * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. /// @@ -648,6 +707,18 @@ public InputMap TagsAll set => _tagsAll = value; } + [Input("triggers")] + private InputMap? _triggers; + + /// + /// Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + /// + public InputMap Triggers + { + get => _triggers ?? (_triggers = new InputMap()); + set => _triggers = value; + } + /// /// The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. /// diff --git a/sdk/go/aws/alb/listener.go b/sdk/go/aws/alb/listener.go index d797a6c051a..e5eacbc1df9 100644 --- a/sdk/go/aws/alb/listener.go +++ b/sdk/go/aws/alb/listener.go @@ -430,6 +430,44 @@ type Listener struct { Port pulumi.IntPtrOutput `pulumi:"port"` // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol pulumi.StringOutput `pulumi:"protocol"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertLeafHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertValidityHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznTlsCipherSuiteHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznTlsVersionHeaderName"` + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowCredentialsHeaderValue"` + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowHeadersHeaderValue"` + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowMethodsHeaderValue"` + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowOriginHeaderValue"` + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlExposeHeadersHeaderValue"` + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlMaxAgeHeaderValue"` + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseContentSecurityPolicyHeaderValue"` + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled pulumi.BoolOutput `pulumi:"routingHttpResponseServerEnabled"` + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseStrictTransportSecurityHeaderValue"` + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseXContentTypeOptionsHeaderValue"` + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseXFrameOptionsHeaderValue"` // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringOutput `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -504,6 +542,44 @@ type listenerState struct { Port *int `pulumi:"port"` // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol *string `pulumi:"protocol"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertLeafHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertValidityHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName *string `pulumi:"routingHttpRequestXAmznTlsCipherSuiteHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName *string `pulumi:"routingHttpRequestXAmznTlsVersionHeaderName"` + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowCredentialsHeaderValue"` + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowHeadersHeaderValue"` + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowMethodsHeaderValue"` + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowOriginHeaderValue"` + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlExposeHeadersHeaderValue"` + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue *string `pulumi:"routingHttpResponseAccessControlMaxAgeHeaderValue"` + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue *string `pulumi:"routingHttpResponseContentSecurityPolicyHeaderValue"` + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled *bool `pulumi:"routingHttpResponseServerEnabled"` + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue *string `pulumi:"routingHttpResponseStrictTransportSecurityHeaderValue"` + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue *string `pulumi:"routingHttpResponseXContentTypeOptionsHeaderValue"` + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue *string `pulumi:"routingHttpResponseXFrameOptionsHeaderValue"` // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -537,6 +613,44 @@ type ListenerState struct { Port pulumi.IntPtrInput // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName pulumi.StringPtrInput + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue pulumi.StringPtrInput + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue pulumi.StringPtrInput + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue pulumi.StringPtrInput + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue pulumi.StringPtrInput + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue pulumi.StringPtrInput + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue pulumi.StringPtrInput + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue pulumi.StringPtrInput + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled pulumi.BoolPtrInput + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue pulumi.StringPtrInput + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue pulumi.StringPtrInput + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue pulumi.StringPtrInput // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -572,6 +686,44 @@ type listenerArgs struct { Port *int `pulumi:"port"` // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol *string `pulumi:"protocol"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertLeafHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertValidityHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName *string `pulumi:"routingHttpRequestXAmznTlsCipherSuiteHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName *string `pulumi:"routingHttpRequestXAmznTlsVersionHeaderName"` + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowCredentialsHeaderValue"` + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowHeadersHeaderValue"` + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowMethodsHeaderValue"` + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowOriginHeaderValue"` + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlExposeHeadersHeaderValue"` + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue *string `pulumi:"routingHttpResponseAccessControlMaxAgeHeaderValue"` + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue *string `pulumi:"routingHttpResponseContentSecurityPolicyHeaderValue"` + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled *bool `pulumi:"routingHttpResponseServerEnabled"` + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue *string `pulumi:"routingHttpResponseStrictTransportSecurityHeaderValue"` + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue *string `pulumi:"routingHttpResponseXContentTypeOptionsHeaderValue"` + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue *string `pulumi:"routingHttpResponseXFrameOptionsHeaderValue"` // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -600,6 +752,44 @@ type ListenerArgs struct { Port pulumi.IntPtrInput // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName pulumi.StringPtrInput + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue pulumi.StringPtrInput + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue pulumi.StringPtrInput + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue pulumi.StringPtrInput + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue pulumi.StringPtrInput + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue pulumi.StringPtrInput + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue pulumi.StringPtrInput + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue pulumi.StringPtrInput + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled pulumi.BoolPtrInput + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue pulumi.StringPtrInput + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue pulumi.StringPtrInput + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue pulumi.StringPtrInput // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -739,6 +929,113 @@ func (o ListenerOutput) Protocol() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) } +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName + }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName + }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznTlsCipherSuiteHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznTlsCipherSuiteHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznTlsVersionHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznTlsVersionHeaderName }).(pulumi.StringOutput) +} + +// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowCredentialsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlAllowCredentialsHeaderValue + }).(pulumi.StringOutput) +} + +// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowHeadersHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlAllowHeadersHeaderValue + }).(pulumi.StringOutput) +} + +// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowMethodsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlAllowMethodsHeaderValue + }).(pulumi.StringOutput) +} + +// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowOriginHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseAccessControlAllowOriginHeaderValue }).(pulumi.StringOutput) +} + +// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. +func (o ListenerOutput) RoutingHttpResponseAccessControlExposeHeadersHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlExposeHeadersHeaderValue + }).(pulumi.StringOutput) +} + +// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. +func (o ListenerOutput) RoutingHttpResponseAccessControlMaxAgeHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseAccessControlMaxAgeHeaderValue }).(pulumi.StringOutput) +} + +// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. +func (o ListenerOutput) RoutingHttpResponseContentSecurityPolicyHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseContentSecurityPolicyHeaderValue }).(pulumi.StringOutput) +} + +// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. +func (o ListenerOutput) RoutingHttpResponseServerEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *Listener) pulumi.BoolOutput { return v.RoutingHttpResponseServerEnabled }).(pulumi.BoolOutput) +} + +// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. +func (o ListenerOutput) RoutingHttpResponseStrictTransportSecurityHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseStrictTransportSecurityHeaderValue }).(pulumi.StringOutput) +} + +// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. +func (o ListenerOutput) RoutingHttpResponseXContentTypeOptionsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseXContentTypeOptionsHeaderValue }).(pulumi.StringOutput) +} + +// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. +func (o ListenerOutput) RoutingHttpResponseXFrameOptionsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseXFrameOptionsHeaderValue }).(pulumi.StringOutput) +} + // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. func (o ListenerOutput) SslPolicy() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.SslPolicy }).(pulumi.StringOutput) diff --git a/sdk/go/aws/config/pulumiTypes.go b/sdk/go/aws/config/pulumiTypes.go index 7d47d72b9da..816dd67f4dc 100644 --- a/sdk/go/aws/config/pulumiTypes.go +++ b/sdk/go/aws/config/pulumiTypes.go @@ -587,6 +587,8 @@ type Endpoints struct { // Use this to override the default service endpoint URL Internetmonitor *string `pulumi:"internetmonitor"` // Use this to override the default service endpoint URL + Invoicing *string `pulumi:"invoicing"` + // Use this to override the default service endpoint URL Iot *string `pulumi:"iot"` // Use this to override the default service endpoint URL Iotanalytics *string `pulumi:"iotanalytics"` @@ -1193,6 +1195,8 @@ type EndpointsArgs struct { // Use this to override the default service endpoint URL Internetmonitor pulumi.StringPtrInput `pulumi:"internetmonitor"` // Use this to override the default service endpoint URL + Invoicing pulumi.StringPtrInput `pulumi:"invoicing"` + // Use this to override the default service endpoint URL Iot pulumi.StringPtrInput `pulumi:"iot"` // Use this to override the default service endpoint URL Iotanalytics pulumi.StringPtrInput `pulumi:"iotanalytics"` @@ -2281,6 +2285,11 @@ func (o EndpointsOutput) Internetmonitor() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Internetmonitor }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o EndpointsOutput) Invoicing() pulumi.StringPtrOutput { + return o.ApplyT(func(v Endpoints) *string { return v.Invoicing }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o EndpointsOutput) Iot() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Iot }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/dataexchange/dataSet.go b/sdk/go/aws/dataexchange/dataSet.go index c5c8b1853e9..819d7bc20b5 100644 --- a/sdk/go/aws/dataexchange/dataSet.go +++ b/sdk/go/aws/dataexchange/dataSet.go @@ -44,10 +44,10 @@ import ( // // ## Import // -// Using `pulumi import`, import DataExchange DataSets using their ARN. For example: +// Using `pulumi import`, import DataExchange DataSets using their `id`. For example: // // ```sh -// $ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1 +// $ pulumi import aws:dataexchange/dataSet:DataSet example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1 // ``` type DataSet struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/datasync/s3location.go b/sdk/go/aws/datasync/s3location.go index 313b4dd2bbe..37a5848f741 100644 --- a/sdk/go/aws/datasync/s3location.go +++ b/sdk/go/aws/datasync/s3location.go @@ -16,6 +16,8 @@ import ( // // ## Example Usage // +// ### Basic Usage +// // ```go // package main // @@ -45,6 +47,41 @@ import ( // // ``` // +// ### S3 Bucket on AWS Outposts +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/datasync" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := datasync.NewS3Location(ctx, "destination", &datasync.S3LocationArgs{ +// AgentArns: pulumi.StringArray{ +// exampleAwsDatasyncAgent.Arn, +// }, +// S3BucketArn: pulumi.Any(exampleAwsS3AccessPoint.Arn), +// S3StorageClass: pulumi.String("OUTPOSTS"), +// Subdirectory: pulumi.String("/example/prefix"), +// S3Config: &datasync.S3LocationS3ConfigArgs{ +// BucketAccessRoleArn: pulumi.Any(example.Arn), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example: @@ -55,15 +92,15 @@ import ( type S3Location struct { pulumi.CustomResourceState - // A list of DataSync Agent ARNs with which this location will be associated. + // (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. AgentArns pulumi.StringArrayOutput `pulumi:"agentArns"` // Amazon Resource Name (ARN) of the DataSync Location. Arn pulumi.StringOutput `pulumi:"arn"` - // Amazon Resource Name (ARN) of the S3 Bucket. + // Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. S3BucketArn pulumi.StringOutput `pulumi:"s3BucketArn"` // Configuration block containing information for connecting to S3. S3Config S3LocationS3ConfigOutput `pulumi:"s3Config"` - // The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + // Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) S3StorageClass pulumi.StringOutput `pulumi:"s3StorageClass"` // Prefix to perform actions as source or destination. Subdirectory pulumi.StringOutput `pulumi:"subdirectory"` @@ -115,15 +152,15 @@ func GetS3Location(ctx *pulumi.Context, // Input properties used for looking up and filtering S3Location resources. type s3locationState struct { - // A list of DataSync Agent ARNs with which this location will be associated. + // (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. AgentArns []string `pulumi:"agentArns"` // Amazon Resource Name (ARN) of the DataSync Location. Arn *string `pulumi:"arn"` - // Amazon Resource Name (ARN) of the S3 Bucket. + // Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. S3BucketArn *string `pulumi:"s3BucketArn"` // Configuration block containing information for connecting to S3. S3Config *S3LocationS3Config `pulumi:"s3Config"` - // The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + // Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) S3StorageClass *string `pulumi:"s3StorageClass"` // Prefix to perform actions as source or destination. Subdirectory *string `pulumi:"subdirectory"` @@ -137,15 +174,15 @@ type s3locationState struct { } type S3LocationState struct { - // A list of DataSync Agent ARNs with which this location will be associated. + // (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. AgentArns pulumi.StringArrayInput // Amazon Resource Name (ARN) of the DataSync Location. Arn pulumi.StringPtrInput - // Amazon Resource Name (ARN) of the S3 Bucket. + // Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. S3BucketArn pulumi.StringPtrInput // Configuration block containing information for connecting to S3. S3Config S3LocationS3ConfigPtrInput - // The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + // Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) S3StorageClass pulumi.StringPtrInput // Prefix to perform actions as source or destination. Subdirectory pulumi.StringPtrInput @@ -163,13 +200,13 @@ func (S3LocationState) ElementType() reflect.Type { } type s3locationArgs struct { - // A list of DataSync Agent ARNs with which this location will be associated. + // (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. AgentArns []string `pulumi:"agentArns"` - // Amazon Resource Name (ARN) of the S3 Bucket. + // Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. S3BucketArn string `pulumi:"s3BucketArn"` // Configuration block containing information for connecting to S3. S3Config S3LocationS3Config `pulumi:"s3Config"` - // The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + // Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) S3StorageClass *string `pulumi:"s3StorageClass"` // Prefix to perform actions as source or destination. Subdirectory string `pulumi:"subdirectory"` @@ -179,13 +216,13 @@ type s3locationArgs struct { // The set of arguments for constructing a S3Location resource. type S3LocationArgs struct { - // A list of DataSync Agent ARNs with which this location will be associated. + // (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. AgentArns pulumi.StringArrayInput - // Amazon Resource Name (ARN) of the S3 Bucket. + // Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. S3BucketArn pulumi.StringInput // Configuration block containing information for connecting to S3. S3Config S3LocationS3ConfigInput - // The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + // Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) S3StorageClass pulumi.StringPtrInput // Prefix to perform actions as source or destination. Subdirectory pulumi.StringInput @@ -280,7 +317,7 @@ func (o S3LocationOutput) ToS3LocationOutputWithContext(ctx context.Context) S3L return o } -// A list of DataSync Agent ARNs with which this location will be associated. +// (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. func (o S3LocationOutput) AgentArns() pulumi.StringArrayOutput { return o.ApplyT(func(v *S3Location) pulumi.StringArrayOutput { return v.AgentArns }).(pulumi.StringArrayOutput) } @@ -290,7 +327,7 @@ func (o S3LocationOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *S3Location) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// Amazon Resource Name (ARN) of the S3 Bucket. +// Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. func (o S3LocationOutput) S3BucketArn() pulumi.StringOutput { return o.ApplyT(func(v *S3Location) pulumi.StringOutput { return v.S3BucketArn }).(pulumi.StringOutput) } @@ -300,7 +337,7 @@ func (o S3LocationOutput) S3Config() S3LocationS3ConfigOutput { return o.ApplyT(func(v *S3Location) S3LocationS3ConfigOutput { return v.S3Config }).(S3LocationS3ConfigOutput) } -// The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) +// Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) func (o S3LocationOutput) S3StorageClass() pulumi.StringOutput { return o.ApplyT(func(v *S3Location) pulumi.StringOutput { return v.S3StorageClass }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/ec2/ami.go b/sdk/go/aws/ec2/ami.go index cc7bd7358e0..3e91bae3e4f 100644 --- a/sdk/go/aws/ec2/ami.go +++ b/sdk/go/aws/ec2/ami.go @@ -122,6 +122,8 @@ type Ami struct { TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. TpmSupport pulumi.StringPtrOutput `pulumi:"tpmSupport"` + // Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringPtrOutput `pulumi:"uefiData"` // Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. UsageOperation pulumi.StringOutput `pulumi:"usageOperation"` // Keyword to choose what virtualization mode created instances @@ -213,6 +215,8 @@ type amiState struct { TagsAll map[string]string `pulumi:"tagsAll"` // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. TpmSupport *string `pulumi:"tpmSupport"` + // Base64 representation of the non-volatile UEFI variable store. + UefiData *string `pulumi:"uefiData"` // Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. UsageOperation *string `pulumi:"usageOperation"` // Keyword to choose what virtualization mode created instances @@ -275,6 +279,8 @@ type AmiState struct { TagsAll pulumi.StringMapInput // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. TpmSupport pulumi.StringPtrInput + // Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringPtrInput // Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. UsageOperation pulumi.StringPtrInput // Keyword to choose what virtualization mode created instances @@ -318,6 +324,8 @@ type amiArgs struct { Tags map[string]string `pulumi:"tags"` // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. TpmSupport *string `pulumi:"tpmSupport"` + // Base64 representation of the non-volatile UEFI variable store. + UefiData *string `pulumi:"uefiData"` // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type // changes the set of further arguments that are required, as described below. @@ -356,6 +364,8 @@ type AmiArgs struct { Tags pulumi.StringMapInput // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. TpmSupport pulumi.StringPtrInput + // Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringPtrInput // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type // changes the set of further arguments that are required, as described below. @@ -583,6 +593,11 @@ func (o AmiOutput) TpmSupport() pulumi.StringPtrOutput { return o.ApplyT(func(v *Ami) pulumi.StringPtrOutput { return v.TpmSupport }).(pulumi.StringPtrOutput) } +// Base64 representation of the non-volatile UEFI variable store. +func (o AmiOutput) UefiData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Ami) pulumi.StringPtrOutput { return v.UefiData }).(pulumi.StringPtrOutput) +} + // Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. func (o AmiOutput) UsageOperation() pulumi.StringOutput { return o.ApplyT(func(v *Ami) pulumi.StringOutput { return v.UsageOperation }).(pulumi.StringOutput) diff --git a/sdk/go/aws/ec2/amiCopy.go b/sdk/go/aws/ec2/amiCopy.go index 7556e577c7f..0377193e9e0 100644 --- a/sdk/go/aws/ec2/amiCopy.go +++ b/sdk/go/aws/ec2/amiCopy.go @@ -120,7 +120,9 @@ type AmiCopy struct { // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. - TpmSupport pulumi.StringOutput `pulumi:"tpmSupport"` + TpmSupport pulumi.StringOutput `pulumi:"tpmSupport"` + // Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringOutput `pulumi:"uefiData"` UsageOperation pulumi.StringOutput `pulumi:"usageOperation"` // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -227,7 +229,9 @@ type amiCopyState struct { // Deprecated: Please use `tags` instead. TagsAll map[string]string `pulumi:"tagsAll"` // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. - TpmSupport *string `pulumi:"tpmSupport"` + TpmSupport *string `pulumi:"tpmSupport"` + // Base64 representation of the non-volatile UEFI variable store. + UefiData *string `pulumi:"uefiData"` UsageOperation *string `pulumi:"usageOperation"` // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -299,7 +303,9 @@ type AmiCopyState struct { // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. - TpmSupport pulumi.StringPtrInput + TpmSupport pulumi.StringPtrInput + // Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringPtrInput UsageOperation pulumi.StringPtrInput // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -619,6 +625,11 @@ func (o AmiCopyOutput) TpmSupport() pulumi.StringOutput { return o.ApplyT(func(v *AmiCopy) pulumi.StringOutput { return v.TpmSupport }).(pulumi.StringOutput) } +// Base64 representation of the non-volatile UEFI variable store. +func (o AmiCopyOutput) UefiData() pulumi.StringOutput { + return o.ApplyT(func(v *AmiCopy) pulumi.StringOutput { return v.UefiData }).(pulumi.StringOutput) +} + func (o AmiCopyOutput) UsageOperation() pulumi.StringOutput { return o.ApplyT(func(v *AmiCopy) pulumi.StringOutput { return v.UsageOperation }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/ec2/amiFromInstance.go b/sdk/go/aws/ec2/amiFromInstance.go index 31524a31c58..04b489daf89 100644 --- a/sdk/go/aws/ec2/amiFromInstance.go +++ b/sdk/go/aws/ec2/amiFromInstance.go @@ -116,7 +116,9 @@ type AmiFromInstance struct { // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. - TpmSupport pulumi.StringOutput `pulumi:"tpmSupport"` + TpmSupport pulumi.StringOutput `pulumi:"tpmSupport"` + // Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringOutput `pulumi:"uefiData"` UsageOperation pulumi.StringOutput `pulumi:"usageOperation"` // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -214,7 +216,9 @@ type amiFromInstanceState struct { // Deprecated: Please use `tags` instead. TagsAll map[string]string `pulumi:"tagsAll"` // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. - TpmSupport *string `pulumi:"tpmSupport"` + TpmSupport *string `pulumi:"tpmSupport"` + // Base64 representation of the non-volatile UEFI variable store. + UefiData *string `pulumi:"uefiData"` UsageOperation *string `pulumi:"usageOperation"` // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -280,7 +284,9 @@ type AmiFromInstanceState struct { // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput // If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. - TpmSupport pulumi.StringPtrInput + TpmSupport pulumi.StringPtrInput + // Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringPtrInput UsageOperation pulumi.StringPtrInput // Keyword to choose what virtualization mode created instances // will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -575,6 +581,11 @@ func (o AmiFromInstanceOutput) TpmSupport() pulumi.StringOutput { return o.ApplyT(func(v *AmiFromInstance) pulumi.StringOutput { return v.TpmSupport }).(pulumi.StringOutput) } +// Base64 representation of the non-volatile UEFI variable store. +func (o AmiFromInstanceOutput) UefiData() pulumi.StringOutput { + return o.ApplyT(func(v *AmiFromInstance) pulumi.StringOutput { return v.UefiData }).(pulumi.StringOutput) +} + func (o AmiFromInstanceOutput) UsageOperation() pulumi.StringOutput { return o.ApplyT(func(v *AmiFromInstance) pulumi.StringOutput { return v.UsageOperation }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/ec2/getAmi.go b/sdk/go/aws/ec2/getAmi.go index d78f4be0a7d..494409aaffc 100644 --- a/sdk/go/aws/ec2/getAmi.go +++ b/sdk/go/aws/ec2/getAmi.go @@ -107,6 +107,8 @@ type LookupAmiArgs struct { // * `tags.#.key` - Key name of the tag. // * `tags.#.value` - Value of the tag. Tags map[string]string `pulumi:"tags"` + // (Optional) Base64 representation of the non-volatile UEFI variable store. + UefiData *string `pulumi:"uefiData"` } // A collection of values returned by getAmi. @@ -189,6 +191,8 @@ type LookupAmiResult struct { Tags map[string]string `pulumi:"tags"` // If the image is configured for NitroTPM support, the value is `v2.0`. TpmSupport string `pulumi:"tpmSupport"` + // (Optional) Base64 representation of the non-volatile UEFI variable store. + UefiData *string `pulumi:"uefiData"` // Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. UsageOperation string `pulumi:"usageOperation"` // Type of virtualization of the AMI (ie: `hvm` or @@ -236,6 +240,8 @@ type LookupAmiOutputArgs struct { // * `tags.#.key` - Key name of the tag. // * `tags.#.value` - Value of the tag. Tags pulumi.StringMapInput `pulumi:"tags"` + // (Optional) Base64 representation of the non-volatile UEFI variable store. + UefiData pulumi.StringPtrInput `pulumi:"uefiData"` } func (LookupAmiOutputArgs) ElementType() reflect.Type { @@ -446,6 +452,11 @@ func (o LookupAmiResultOutput) TpmSupport() pulumi.StringOutput { return o.ApplyT(func(v LookupAmiResult) string { return v.TpmSupport }).(pulumi.StringOutput) } +// (Optional) Base64 representation of the non-volatile UEFI variable store. +func (o LookupAmiResultOutput) UefiData() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAmiResult) *string { return v.UefiData }).(pulumi.StringPtrOutput) +} + // Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. func (o LookupAmiResultOutput) UsageOperation() pulumi.StringOutput { return o.ApplyT(func(v LookupAmiResult) string { return v.UsageOperation }).(pulumi.StringOutput) diff --git a/sdk/go/aws/ec2/getInstanceType.go b/sdk/go/aws/ec2/getInstanceType.go index c6dc290b0d5..3bd7a1eb76f 100644 --- a/sdk/go/aws/ec2/getInstanceType.go +++ b/sdk/go/aws/ec2/getInstanceType.go @@ -58,8 +58,12 @@ type GetInstanceTypeArgs struct { type GetInstanceTypeResult struct { // `true` if auto recovery is supported. AutoRecoverySupported bool `pulumi:"autoRecoverySupported"` + // A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. + BandwidthWeightings []string `pulumi:"bandwidthWeightings"` // `true` if it is a bare metal instance type. BareMetal bool `pulumi:"bareMetal"` + // A set of strings of supported boot modes. + BootModes []string `pulumi:"bootModes"` // `true` if the instance type is a burstable performance instance type. BurstablePerformanceSupported bool `pulumi:"burstablePerformanceSupported"` // `true` if the instance type is a current generation. @@ -68,6 +72,8 @@ type GetInstanceTypeResult struct { DedicatedHostsSupported bool `pulumi:"dedicatedHostsSupported"` // Default number of cores for the instance type. DefaultCores int `pulumi:"defaultCores"` + // The index of the default network card, starting at `0`. + DefaultNetworkCardIndex int `pulumi:"defaultNetworkCardIndex"` // The default number of threads per core for the instance type. DefaultThreadsPerCore int `pulumi:"defaultThreadsPerCore"` // Default number of vCPUs for the instance type. @@ -90,16 +96,20 @@ type GetInstanceTypeResult struct { EbsPerformanceMaximumIops int `pulumi:"ebsPerformanceMaximumIops"` // The maximum throughput performance for an EBS-optimized instance type, in MBps. EbsPerformanceMaximumThroughput float64 `pulumi:"ebsPerformanceMaximumThroughput"` - // Whether Elastic Fabric Adapter (EFA) is supported. + // The maximum number of Elastic Fabric Adapters for the instance type. + EfaMaximumInterfaces int `pulumi:"efaMaximumInterfaces"` + // `true` if Elastic Fabric Adapter (EFA) is supported. EfaSupported bool `pulumi:"efaSupported"` - // Whether Elastic Network Adapter (ENA) is supported. + // `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). + EnaSrdSupported bool `pulumi:"enaSrdSupported"` + // Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. EnaSupport string `pulumi:"enaSupport"` - // Indicates whether encryption in-transit between instances is supported. + // `true` if encryption in-transit between instances is supported. EncryptionInTransitSupported bool `pulumi:"encryptionInTransitSupported"` // Describes the FPGA accelerator settings for the instance type. // * `fpgas.#.count` - The count of FPGA accelerators for the instance type. // * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. - // * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + // * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. // * `fpgas.#.name` - The name of the FPGA accelerator. Fpgas []GetInstanceTypeFpga `pulumi:"fpgas"` // `true` if the instance type is eligible for the free tier. @@ -107,7 +117,7 @@ type GetInstanceTypeResult struct { // Describes the GPU accelerators for the instance type. // * `gpus.#.count` - The number of GPUs for the instance type. // * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. - // * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + // * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. // * `gpus.#.name` - The name of the GPU accelerator. Gpuses []GetInstanceTypeGpus `pulumi:"gpuses"` // `true` if On-Demand hibernation is supported. @@ -119,6 +129,7 @@ type GetInstanceTypeResult struct { // Describes the Inference accelerators for the instance type. // * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. // * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + // * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. // * `inference_accelerators.#.name` - The name of the Inference accelerator. InferenceAccelerators []GetInstanceTypeInferenceAccelerator `pulumi:"inferenceAccelerators"` // Describes the disks for the instance type. @@ -139,17 +150,47 @@ type GetInstanceTypeResult struct { MaximumNetworkCards int `pulumi:"maximumNetworkCards"` // The maximum number of network interfaces for the instance type. MaximumNetworkInterfaces int `pulumi:"maximumNetworkInterfaces"` + // Describes the media accelerator settings for the instance type. + // * `media_accelerators.#.count` - The number of media accelerators for the instance type. + // * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. + // * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. + // * `media_accelerators.#.name` - The name of the media accelerator. + MediaAccelerators []GetInstanceTypeMediaAccelerator `pulumi:"mediaAccelerators"` // Size of the instance memory, in MiB. MemorySize int `pulumi:"memorySize"` + // Describes the network cards for the instance type. + // * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. + // * `network_cards.#.index` - The index of the network card. + // * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. + // * `network_cards.#.performance` - Describes the network performance of the network card. + // * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. + NetworkCards []GetInstanceTypeNetworkCard `pulumi:"networkCards"` // Describes the network performance. NetworkPerformance string `pulumi:"networkPerformance"` - // A list of architectures supported by the instance type. + // Describes the Neuron accelerator settings for the instance type. + // * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. + // * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. + // * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. + // * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. + // * `neuron_devices.#.name` - The name of the neuron accelerator. + NeuronDevices []GetInstanceTypeNeuronDevice `pulumi:"neuronDevices"` + // Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. + NitroEnclavesSupport string `pulumi:"nitroEnclavesSupport"` + // Indicates whether NitroTPM is `"supported"` or `"unsupported"`. + NitroTpmSupport string `pulumi:"nitroTpmSupport"` + // A set of strings indicating the supported NitroTPM versions. + NitroTpmSupportedVersions []string `pulumi:"nitroTpmSupportedVersions"` + // `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. + PhcSupport string `pulumi:"phcSupport"` + // A list of strings of architectures supported by the instance type. SupportedArchitectures []string `pulumi:"supportedArchitectures"` + // A set of strings indicating supported CPU features. + SupportedCpuFeatures []string `pulumi:"supportedCpuFeatures"` // A list of supported placement groups types. SupportedPlacementStrategies []string `pulumi:"supportedPlacementStrategies"` - // Indicates the supported root device types. + // A list of supported root device types. SupportedRootDeviceTypes []string `pulumi:"supportedRootDeviceTypes"` - // Indicates whether the instance type is offered for spot or On-Demand. + // A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. SupportedUsagesClasses []string `pulumi:"supportedUsagesClasses"` // The supported virtualization types. SupportedVirtualizationTypes []string `pulumi:"supportedVirtualizationTypes"` @@ -159,8 +200,14 @@ type GetInstanceTypeResult struct { TotalFpgaMemory int `pulumi:"totalFpgaMemory"` // Total size of the memory for the GPU accelerators for the instance type (in MiB). TotalGpuMemory int `pulumi:"totalGpuMemory"` + // The total size of the memory for the neuron accelerators for the instance type (in MiB). + TotalInferenceMemory int `pulumi:"totalInferenceMemory"` // The total size of the instance disks, in GB. TotalInstanceStorage int `pulumi:"totalInstanceStorage"` + // The total size of the memory for the media accelerators for the instance type (in MiB). + TotalMediaMemory int `pulumi:"totalMediaMemory"` + // The total size of the memory for the neuron accelerators for the instance type (in MiB). + TotalNeuronDeviceMemory int `pulumi:"totalNeuronDeviceMemory"` // List of the valid number of cores that can be configured for the instance type. ValidCores []int `pulumi:"validCores"` // List of the valid number of threads per core that can be configured for the instance type. @@ -206,11 +253,21 @@ func (o GetInstanceTypeResultOutput) AutoRecoverySupported() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceTypeResult) bool { return v.AutoRecoverySupported }).(pulumi.BoolOutput) } +// A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. +func (o GetInstanceTypeResultOutput) BandwidthWeightings() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.BandwidthWeightings }).(pulumi.StringArrayOutput) +} + // `true` if it is a bare metal instance type. func (o GetInstanceTypeResultOutput) BareMetal() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceTypeResult) bool { return v.BareMetal }).(pulumi.BoolOutput) } +// A set of strings of supported boot modes. +func (o GetInstanceTypeResultOutput) BootModes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.BootModes }).(pulumi.StringArrayOutput) +} + // `true` if the instance type is a burstable performance instance type. func (o GetInstanceTypeResultOutput) BurstablePerformanceSupported() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceTypeResult) bool { return v.BurstablePerformanceSupported }).(pulumi.BoolOutput) @@ -231,6 +288,11 @@ func (o GetInstanceTypeResultOutput) DefaultCores() pulumi.IntOutput { return o.ApplyT(func(v GetInstanceTypeResult) int { return v.DefaultCores }).(pulumi.IntOutput) } +// The index of the default network card, starting at `0`. +func (o GetInstanceTypeResultOutput) DefaultNetworkCardIndex() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeResult) int { return v.DefaultNetworkCardIndex }).(pulumi.IntOutput) +} + // The default number of threads per core for the instance type. func (o GetInstanceTypeResultOutput) DefaultThreadsPerCore() pulumi.IntOutput { return o.ApplyT(func(v GetInstanceTypeResult) int { return v.DefaultThreadsPerCore }).(pulumi.IntOutput) @@ -286,17 +348,27 @@ func (o GetInstanceTypeResultOutput) EbsPerformanceMaximumThroughput() pulumi.Fl return o.ApplyT(func(v GetInstanceTypeResult) float64 { return v.EbsPerformanceMaximumThroughput }).(pulumi.Float64Output) } -// Whether Elastic Fabric Adapter (EFA) is supported. +// The maximum number of Elastic Fabric Adapters for the instance type. +func (o GetInstanceTypeResultOutput) EfaMaximumInterfaces() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeResult) int { return v.EfaMaximumInterfaces }).(pulumi.IntOutput) +} + +// `true` if Elastic Fabric Adapter (EFA) is supported. func (o GetInstanceTypeResultOutput) EfaSupported() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceTypeResult) bool { return v.EfaSupported }).(pulumi.BoolOutput) } -// Whether Elastic Network Adapter (ENA) is supported. +// `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). +func (o GetInstanceTypeResultOutput) EnaSrdSupported() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstanceTypeResult) bool { return v.EnaSrdSupported }).(pulumi.BoolOutput) +} + +// Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. func (o GetInstanceTypeResultOutput) EnaSupport() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceTypeResult) string { return v.EnaSupport }).(pulumi.StringOutput) } -// Indicates whether encryption in-transit between instances is supported. +// `true` if encryption in-transit between instances is supported. func (o GetInstanceTypeResultOutput) EncryptionInTransitSupported() pulumi.BoolOutput { return o.ApplyT(func(v GetInstanceTypeResult) bool { return v.EncryptionInTransitSupported }).(pulumi.BoolOutput) } @@ -304,7 +376,7 @@ func (o GetInstanceTypeResultOutput) EncryptionInTransitSupported() pulumi.BoolO // Describes the FPGA accelerator settings for the instance type. // * `fpgas.#.count` - The count of FPGA accelerators for the instance type. // * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. -// * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. +// * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. // * `fpgas.#.name` - The name of the FPGA accelerator. func (o GetInstanceTypeResultOutput) Fpgas() GetInstanceTypeFpgaArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []GetInstanceTypeFpga { return v.Fpgas }).(GetInstanceTypeFpgaArrayOutput) @@ -318,7 +390,7 @@ func (o GetInstanceTypeResultOutput) FreeTierEligible() pulumi.BoolOutput { // Describes the GPU accelerators for the instance type. // * `gpus.#.count` - The number of GPUs for the instance type. // * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. -// * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. +// * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. // * `gpus.#.name` - The name of the GPU accelerator. func (o GetInstanceTypeResultOutput) Gpuses() GetInstanceTypeGpusArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []GetInstanceTypeGpus { return v.Gpuses }).(GetInstanceTypeGpusArrayOutput) @@ -342,6 +414,7 @@ func (o GetInstanceTypeResultOutput) Id() pulumi.StringOutput { // Describes the Inference accelerators for the instance type. // * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. // * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. +// * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. // * `inference_accelerators.#.name` - The name of the Inference accelerator. func (o GetInstanceTypeResultOutput) InferenceAccelerators() GetInstanceTypeInferenceAcceleratorArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []GetInstanceTypeInferenceAccelerator { return v.InferenceAccelerators }).(GetInstanceTypeInferenceAcceleratorArrayOutput) @@ -389,32 +462,86 @@ func (o GetInstanceTypeResultOutput) MaximumNetworkInterfaces() pulumi.IntOutput return o.ApplyT(func(v GetInstanceTypeResult) int { return v.MaximumNetworkInterfaces }).(pulumi.IntOutput) } +// Describes the media accelerator settings for the instance type. +// * `media_accelerators.#.count` - The number of media accelerators for the instance type. +// * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. +// * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. +// * `media_accelerators.#.name` - The name of the media accelerator. +func (o GetInstanceTypeResultOutput) MediaAccelerators() GetInstanceTypeMediaAcceleratorArrayOutput { + return o.ApplyT(func(v GetInstanceTypeResult) []GetInstanceTypeMediaAccelerator { return v.MediaAccelerators }).(GetInstanceTypeMediaAcceleratorArrayOutput) +} + // Size of the instance memory, in MiB. func (o GetInstanceTypeResultOutput) MemorySize() pulumi.IntOutput { return o.ApplyT(func(v GetInstanceTypeResult) int { return v.MemorySize }).(pulumi.IntOutput) } +// Describes the network cards for the instance type. +// * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. +// * `network_cards.#.index` - The index of the network card. +// * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. +// * `network_cards.#.performance` - Describes the network performance of the network card. +// * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. +func (o GetInstanceTypeResultOutput) NetworkCards() GetInstanceTypeNetworkCardArrayOutput { + return o.ApplyT(func(v GetInstanceTypeResult) []GetInstanceTypeNetworkCard { return v.NetworkCards }).(GetInstanceTypeNetworkCardArrayOutput) +} + // Describes the network performance. func (o GetInstanceTypeResultOutput) NetworkPerformance() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceTypeResult) string { return v.NetworkPerformance }).(pulumi.StringOutput) } -// A list of architectures supported by the instance type. +// Describes the Neuron accelerator settings for the instance type. +// * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. +// * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. +// * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. +// * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. +// * `neuron_devices.#.name` - The name of the neuron accelerator. +func (o GetInstanceTypeResultOutput) NeuronDevices() GetInstanceTypeNeuronDeviceArrayOutput { + return o.ApplyT(func(v GetInstanceTypeResult) []GetInstanceTypeNeuronDevice { return v.NeuronDevices }).(GetInstanceTypeNeuronDeviceArrayOutput) +} + +// Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. +func (o GetInstanceTypeResultOutput) NitroEnclavesSupport() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeResult) string { return v.NitroEnclavesSupport }).(pulumi.StringOutput) +} + +// Indicates whether NitroTPM is `"supported"` or `"unsupported"`. +func (o GetInstanceTypeResultOutput) NitroTpmSupport() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeResult) string { return v.NitroTpmSupport }).(pulumi.StringOutput) +} + +// A set of strings indicating the supported NitroTPM versions. +func (o GetInstanceTypeResultOutput) NitroTpmSupportedVersions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.NitroTpmSupportedVersions }).(pulumi.StringArrayOutput) +} + +// `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. +func (o GetInstanceTypeResultOutput) PhcSupport() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeResult) string { return v.PhcSupport }).(pulumi.StringOutput) +} + +// A list of strings of architectures supported by the instance type. func (o GetInstanceTypeResultOutput) SupportedArchitectures() pulumi.StringArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.SupportedArchitectures }).(pulumi.StringArrayOutput) } +// A set of strings indicating supported CPU features. +func (o GetInstanceTypeResultOutput) SupportedCpuFeatures() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.SupportedCpuFeatures }).(pulumi.StringArrayOutput) +} + // A list of supported placement groups types. func (o GetInstanceTypeResultOutput) SupportedPlacementStrategies() pulumi.StringArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.SupportedPlacementStrategies }).(pulumi.StringArrayOutput) } -// Indicates the supported root device types. +// A list of supported root device types. func (o GetInstanceTypeResultOutput) SupportedRootDeviceTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.SupportedRootDeviceTypes }).(pulumi.StringArrayOutput) } -// Indicates whether the instance type is offered for spot or On-Demand. +// A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. func (o GetInstanceTypeResultOutput) SupportedUsagesClasses() pulumi.StringArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []string { return v.SupportedUsagesClasses }).(pulumi.StringArrayOutput) } @@ -439,11 +566,26 @@ func (o GetInstanceTypeResultOutput) TotalGpuMemory() pulumi.IntOutput { return o.ApplyT(func(v GetInstanceTypeResult) int { return v.TotalGpuMemory }).(pulumi.IntOutput) } +// The total size of the memory for the neuron accelerators for the instance type (in MiB). +func (o GetInstanceTypeResultOutput) TotalInferenceMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeResult) int { return v.TotalInferenceMemory }).(pulumi.IntOutput) +} + // The total size of the instance disks, in GB. func (o GetInstanceTypeResultOutput) TotalInstanceStorage() pulumi.IntOutput { return o.ApplyT(func(v GetInstanceTypeResult) int { return v.TotalInstanceStorage }).(pulumi.IntOutput) } +// The total size of the memory for the media accelerators for the instance type (in MiB). +func (o GetInstanceTypeResultOutput) TotalMediaMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeResult) int { return v.TotalMediaMemory }).(pulumi.IntOutput) +} + +// The total size of the memory for the neuron accelerators for the instance type (in MiB). +func (o GetInstanceTypeResultOutput) TotalNeuronDeviceMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeResult) int { return v.TotalNeuronDeviceMemory }).(pulumi.IntOutput) +} + // List of the valid number of cores that can be configured for the instance type. func (o GetInstanceTypeResultOutput) ValidCores() pulumi.IntArrayOutput { return o.ApplyT(func(v GetInstanceTypeResult) []int { return v.ValidCores }).(pulumi.IntArrayOutput) diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 0cec7a0da57..2751aeae6f4 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -36820,7 +36820,9 @@ func (o GetInstanceTypeGpusArrayOutput) Index(i pulumi.IntInput) GetInstanceType type GetInstanceTypeInferenceAccelerator struct { Count int `pulumi:"count"` Manufacturer string `pulumi:"manufacturer"` - Name string `pulumi:"name"` + // Size of the instance memory, in MiB. + MemorySize int `pulumi:"memorySize"` + Name string `pulumi:"name"` } // GetInstanceTypeInferenceAcceleratorInput is an input type that accepts GetInstanceTypeInferenceAcceleratorArgs and GetInstanceTypeInferenceAcceleratorOutput values. @@ -36837,7 +36839,9 @@ type GetInstanceTypeInferenceAcceleratorInput interface { type GetInstanceTypeInferenceAcceleratorArgs struct { Count pulumi.IntInput `pulumi:"count"` Manufacturer pulumi.StringInput `pulumi:"manufacturer"` - Name pulumi.StringInput `pulumi:"name"` + // Size of the instance memory, in MiB. + MemorySize pulumi.IntInput `pulumi:"memorySize"` + Name pulumi.StringInput `pulumi:"name"` } func (GetInstanceTypeInferenceAcceleratorArgs) ElementType() reflect.Type { @@ -36899,6 +36903,11 @@ func (o GetInstanceTypeInferenceAcceleratorOutput) Manufacturer() pulumi.StringO return o.ApplyT(func(v GetInstanceTypeInferenceAccelerator) string { return v.Manufacturer }).(pulumi.StringOutput) } +// Size of the instance memory, in MiB. +func (o GetInstanceTypeInferenceAcceleratorOutput) MemorySize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeInferenceAccelerator) int { return v.MemorySize }).(pulumi.IntOutput) +} + func (o GetInstanceTypeInferenceAcceleratorOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceTypeInferenceAccelerator) string { return v.Name }).(pulumi.StringOutput) } @@ -37029,6 +37038,360 @@ func (o GetInstanceTypeInstanceDiskArrayOutput) Index(i pulumi.IntInput) GetInst }).(GetInstanceTypeInstanceDiskOutput) } +type GetInstanceTypeMediaAccelerator struct { + Count int `pulumi:"count"` + Manufacturer string `pulumi:"manufacturer"` + // Size of the instance memory, in MiB. + MemorySize int `pulumi:"memorySize"` + Name string `pulumi:"name"` +} + +// GetInstanceTypeMediaAcceleratorInput is an input type that accepts GetInstanceTypeMediaAcceleratorArgs and GetInstanceTypeMediaAcceleratorOutput values. +// You can construct a concrete instance of `GetInstanceTypeMediaAcceleratorInput` via: +// +// GetInstanceTypeMediaAcceleratorArgs{...} +type GetInstanceTypeMediaAcceleratorInput interface { + pulumi.Input + + ToGetInstanceTypeMediaAcceleratorOutput() GetInstanceTypeMediaAcceleratorOutput + ToGetInstanceTypeMediaAcceleratorOutputWithContext(context.Context) GetInstanceTypeMediaAcceleratorOutput +} + +type GetInstanceTypeMediaAcceleratorArgs struct { + Count pulumi.IntInput `pulumi:"count"` + Manufacturer pulumi.StringInput `pulumi:"manufacturer"` + // Size of the instance memory, in MiB. + MemorySize pulumi.IntInput `pulumi:"memorySize"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetInstanceTypeMediaAcceleratorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeMediaAccelerator)(nil)).Elem() +} + +func (i GetInstanceTypeMediaAcceleratorArgs) ToGetInstanceTypeMediaAcceleratorOutput() GetInstanceTypeMediaAcceleratorOutput { + return i.ToGetInstanceTypeMediaAcceleratorOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeMediaAcceleratorArgs) ToGetInstanceTypeMediaAcceleratorOutputWithContext(ctx context.Context) GetInstanceTypeMediaAcceleratorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeMediaAcceleratorOutput) +} + +// GetInstanceTypeMediaAcceleratorArrayInput is an input type that accepts GetInstanceTypeMediaAcceleratorArray and GetInstanceTypeMediaAcceleratorArrayOutput values. +// You can construct a concrete instance of `GetInstanceTypeMediaAcceleratorArrayInput` via: +// +// GetInstanceTypeMediaAcceleratorArray{ GetInstanceTypeMediaAcceleratorArgs{...} } +type GetInstanceTypeMediaAcceleratorArrayInput interface { + pulumi.Input + + ToGetInstanceTypeMediaAcceleratorArrayOutput() GetInstanceTypeMediaAcceleratorArrayOutput + ToGetInstanceTypeMediaAcceleratorArrayOutputWithContext(context.Context) GetInstanceTypeMediaAcceleratorArrayOutput +} + +type GetInstanceTypeMediaAcceleratorArray []GetInstanceTypeMediaAcceleratorInput + +func (GetInstanceTypeMediaAcceleratorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeMediaAccelerator)(nil)).Elem() +} + +func (i GetInstanceTypeMediaAcceleratorArray) ToGetInstanceTypeMediaAcceleratorArrayOutput() GetInstanceTypeMediaAcceleratorArrayOutput { + return i.ToGetInstanceTypeMediaAcceleratorArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeMediaAcceleratorArray) ToGetInstanceTypeMediaAcceleratorArrayOutputWithContext(ctx context.Context) GetInstanceTypeMediaAcceleratorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeMediaAcceleratorArrayOutput) +} + +type GetInstanceTypeMediaAcceleratorOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeMediaAcceleratorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeMediaAccelerator)(nil)).Elem() +} + +func (o GetInstanceTypeMediaAcceleratorOutput) ToGetInstanceTypeMediaAcceleratorOutput() GetInstanceTypeMediaAcceleratorOutput { + return o +} + +func (o GetInstanceTypeMediaAcceleratorOutput) ToGetInstanceTypeMediaAcceleratorOutputWithContext(ctx context.Context) GetInstanceTypeMediaAcceleratorOutput { + return o +} + +func (o GetInstanceTypeMediaAcceleratorOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeMediaAccelerator) int { return v.Count }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeMediaAcceleratorOutput) Manufacturer() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeMediaAccelerator) string { return v.Manufacturer }).(pulumi.StringOutput) +} + +// Size of the instance memory, in MiB. +func (o GetInstanceTypeMediaAcceleratorOutput) MemorySize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeMediaAccelerator) int { return v.MemorySize }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeMediaAcceleratorOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeMediaAccelerator) string { return v.Name }).(pulumi.StringOutput) +} + +type GetInstanceTypeMediaAcceleratorArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeMediaAcceleratorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeMediaAccelerator)(nil)).Elem() +} + +func (o GetInstanceTypeMediaAcceleratorArrayOutput) ToGetInstanceTypeMediaAcceleratorArrayOutput() GetInstanceTypeMediaAcceleratorArrayOutput { + return o +} + +func (o GetInstanceTypeMediaAcceleratorArrayOutput) ToGetInstanceTypeMediaAcceleratorArrayOutputWithContext(ctx context.Context) GetInstanceTypeMediaAcceleratorArrayOutput { + return o +} + +func (o GetInstanceTypeMediaAcceleratorArrayOutput) Index(i pulumi.IntInput) GetInstanceTypeMediaAcceleratorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceTypeMediaAccelerator { + return vs[0].([]GetInstanceTypeMediaAccelerator)[vs[1].(int)] + }).(GetInstanceTypeMediaAcceleratorOutput) +} + +type GetInstanceTypeNetworkCard struct { + BaselineBandwidth float64 `pulumi:"baselineBandwidth"` + Index int `pulumi:"index"` + MaximumInterfaces int `pulumi:"maximumInterfaces"` + PeakBandwidth float64 `pulumi:"peakBandwidth"` + Performance string `pulumi:"performance"` +} + +// GetInstanceTypeNetworkCardInput is an input type that accepts GetInstanceTypeNetworkCardArgs and GetInstanceTypeNetworkCardOutput values. +// You can construct a concrete instance of `GetInstanceTypeNetworkCardInput` via: +// +// GetInstanceTypeNetworkCardArgs{...} +type GetInstanceTypeNetworkCardInput interface { + pulumi.Input + + ToGetInstanceTypeNetworkCardOutput() GetInstanceTypeNetworkCardOutput + ToGetInstanceTypeNetworkCardOutputWithContext(context.Context) GetInstanceTypeNetworkCardOutput +} + +type GetInstanceTypeNetworkCardArgs struct { + BaselineBandwidth pulumi.Float64Input `pulumi:"baselineBandwidth"` + Index pulumi.IntInput `pulumi:"index"` + MaximumInterfaces pulumi.IntInput `pulumi:"maximumInterfaces"` + PeakBandwidth pulumi.Float64Input `pulumi:"peakBandwidth"` + Performance pulumi.StringInput `pulumi:"performance"` +} + +func (GetInstanceTypeNetworkCardArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeNetworkCard)(nil)).Elem() +} + +func (i GetInstanceTypeNetworkCardArgs) ToGetInstanceTypeNetworkCardOutput() GetInstanceTypeNetworkCardOutput { + return i.ToGetInstanceTypeNetworkCardOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeNetworkCardArgs) ToGetInstanceTypeNetworkCardOutputWithContext(ctx context.Context) GetInstanceTypeNetworkCardOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeNetworkCardOutput) +} + +// GetInstanceTypeNetworkCardArrayInput is an input type that accepts GetInstanceTypeNetworkCardArray and GetInstanceTypeNetworkCardArrayOutput values. +// You can construct a concrete instance of `GetInstanceTypeNetworkCardArrayInput` via: +// +// GetInstanceTypeNetworkCardArray{ GetInstanceTypeNetworkCardArgs{...} } +type GetInstanceTypeNetworkCardArrayInput interface { + pulumi.Input + + ToGetInstanceTypeNetworkCardArrayOutput() GetInstanceTypeNetworkCardArrayOutput + ToGetInstanceTypeNetworkCardArrayOutputWithContext(context.Context) GetInstanceTypeNetworkCardArrayOutput +} + +type GetInstanceTypeNetworkCardArray []GetInstanceTypeNetworkCardInput + +func (GetInstanceTypeNetworkCardArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeNetworkCard)(nil)).Elem() +} + +func (i GetInstanceTypeNetworkCardArray) ToGetInstanceTypeNetworkCardArrayOutput() GetInstanceTypeNetworkCardArrayOutput { + return i.ToGetInstanceTypeNetworkCardArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeNetworkCardArray) ToGetInstanceTypeNetworkCardArrayOutputWithContext(ctx context.Context) GetInstanceTypeNetworkCardArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeNetworkCardArrayOutput) +} + +type GetInstanceTypeNetworkCardOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeNetworkCardOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeNetworkCard)(nil)).Elem() +} + +func (o GetInstanceTypeNetworkCardOutput) ToGetInstanceTypeNetworkCardOutput() GetInstanceTypeNetworkCardOutput { + return o +} + +func (o GetInstanceTypeNetworkCardOutput) ToGetInstanceTypeNetworkCardOutputWithContext(ctx context.Context) GetInstanceTypeNetworkCardOutput { + return o +} + +func (o GetInstanceTypeNetworkCardOutput) BaselineBandwidth() pulumi.Float64Output { + return o.ApplyT(func(v GetInstanceTypeNetworkCard) float64 { return v.BaselineBandwidth }).(pulumi.Float64Output) +} + +func (o GetInstanceTypeNetworkCardOutput) Index() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeNetworkCard) int { return v.Index }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeNetworkCardOutput) MaximumInterfaces() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeNetworkCard) int { return v.MaximumInterfaces }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeNetworkCardOutput) PeakBandwidth() pulumi.Float64Output { + return o.ApplyT(func(v GetInstanceTypeNetworkCard) float64 { return v.PeakBandwidth }).(pulumi.Float64Output) +} + +func (o GetInstanceTypeNetworkCardOutput) Performance() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeNetworkCard) string { return v.Performance }).(pulumi.StringOutput) +} + +type GetInstanceTypeNetworkCardArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeNetworkCardArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeNetworkCard)(nil)).Elem() +} + +func (o GetInstanceTypeNetworkCardArrayOutput) ToGetInstanceTypeNetworkCardArrayOutput() GetInstanceTypeNetworkCardArrayOutput { + return o +} + +func (o GetInstanceTypeNetworkCardArrayOutput) ToGetInstanceTypeNetworkCardArrayOutputWithContext(ctx context.Context) GetInstanceTypeNetworkCardArrayOutput { + return o +} + +func (o GetInstanceTypeNetworkCardArrayOutput) Index(i pulumi.IntInput) GetInstanceTypeNetworkCardOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceTypeNetworkCard { + return vs[0].([]GetInstanceTypeNetworkCard)[vs[1].(int)] + }).(GetInstanceTypeNetworkCardOutput) +} + +type GetInstanceTypeNeuronDevice struct { + CoreCount int `pulumi:"coreCount"` + CoreVersion int `pulumi:"coreVersion"` + Count int `pulumi:"count"` + // Size of the instance memory, in MiB. + MemorySize int `pulumi:"memorySize"` + Name string `pulumi:"name"` +} + +// GetInstanceTypeNeuronDeviceInput is an input type that accepts GetInstanceTypeNeuronDeviceArgs and GetInstanceTypeNeuronDeviceOutput values. +// You can construct a concrete instance of `GetInstanceTypeNeuronDeviceInput` via: +// +// GetInstanceTypeNeuronDeviceArgs{...} +type GetInstanceTypeNeuronDeviceInput interface { + pulumi.Input + + ToGetInstanceTypeNeuronDeviceOutput() GetInstanceTypeNeuronDeviceOutput + ToGetInstanceTypeNeuronDeviceOutputWithContext(context.Context) GetInstanceTypeNeuronDeviceOutput +} + +type GetInstanceTypeNeuronDeviceArgs struct { + CoreCount pulumi.IntInput `pulumi:"coreCount"` + CoreVersion pulumi.IntInput `pulumi:"coreVersion"` + Count pulumi.IntInput `pulumi:"count"` + // Size of the instance memory, in MiB. + MemorySize pulumi.IntInput `pulumi:"memorySize"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetInstanceTypeNeuronDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeNeuronDevice)(nil)).Elem() +} + +func (i GetInstanceTypeNeuronDeviceArgs) ToGetInstanceTypeNeuronDeviceOutput() GetInstanceTypeNeuronDeviceOutput { + return i.ToGetInstanceTypeNeuronDeviceOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeNeuronDeviceArgs) ToGetInstanceTypeNeuronDeviceOutputWithContext(ctx context.Context) GetInstanceTypeNeuronDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeNeuronDeviceOutput) +} + +// GetInstanceTypeNeuronDeviceArrayInput is an input type that accepts GetInstanceTypeNeuronDeviceArray and GetInstanceTypeNeuronDeviceArrayOutput values. +// You can construct a concrete instance of `GetInstanceTypeNeuronDeviceArrayInput` via: +// +// GetInstanceTypeNeuronDeviceArray{ GetInstanceTypeNeuronDeviceArgs{...} } +type GetInstanceTypeNeuronDeviceArrayInput interface { + pulumi.Input + + ToGetInstanceTypeNeuronDeviceArrayOutput() GetInstanceTypeNeuronDeviceArrayOutput + ToGetInstanceTypeNeuronDeviceArrayOutputWithContext(context.Context) GetInstanceTypeNeuronDeviceArrayOutput +} + +type GetInstanceTypeNeuronDeviceArray []GetInstanceTypeNeuronDeviceInput + +func (GetInstanceTypeNeuronDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeNeuronDevice)(nil)).Elem() +} + +func (i GetInstanceTypeNeuronDeviceArray) ToGetInstanceTypeNeuronDeviceArrayOutput() GetInstanceTypeNeuronDeviceArrayOutput { + return i.ToGetInstanceTypeNeuronDeviceArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceTypeNeuronDeviceArray) ToGetInstanceTypeNeuronDeviceArrayOutputWithContext(ctx context.Context) GetInstanceTypeNeuronDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceTypeNeuronDeviceArrayOutput) +} + +type GetInstanceTypeNeuronDeviceOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeNeuronDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceTypeNeuronDevice)(nil)).Elem() +} + +func (o GetInstanceTypeNeuronDeviceOutput) ToGetInstanceTypeNeuronDeviceOutput() GetInstanceTypeNeuronDeviceOutput { + return o +} + +func (o GetInstanceTypeNeuronDeviceOutput) ToGetInstanceTypeNeuronDeviceOutputWithContext(ctx context.Context) GetInstanceTypeNeuronDeviceOutput { + return o +} + +func (o GetInstanceTypeNeuronDeviceOutput) CoreCount() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeNeuronDevice) int { return v.CoreCount }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeNeuronDeviceOutput) CoreVersion() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeNeuronDevice) int { return v.CoreVersion }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeNeuronDeviceOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeNeuronDevice) int { return v.Count }).(pulumi.IntOutput) +} + +// Size of the instance memory, in MiB. +func (o GetInstanceTypeNeuronDeviceOutput) MemorySize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceTypeNeuronDevice) int { return v.MemorySize }).(pulumi.IntOutput) +} + +func (o GetInstanceTypeNeuronDeviceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceTypeNeuronDevice) string { return v.Name }).(pulumi.StringOutput) +} + +type GetInstanceTypeNeuronDeviceArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceTypeNeuronDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceTypeNeuronDevice)(nil)).Elem() +} + +func (o GetInstanceTypeNeuronDeviceArrayOutput) ToGetInstanceTypeNeuronDeviceArrayOutput() GetInstanceTypeNeuronDeviceArrayOutput { + return o +} + +func (o GetInstanceTypeNeuronDeviceArrayOutput) ToGetInstanceTypeNeuronDeviceArrayOutputWithContext(ctx context.Context) GetInstanceTypeNeuronDeviceArrayOutput { + return o +} + +func (o GetInstanceTypeNeuronDeviceArrayOutput) Index(i pulumi.IntInput) GetInstanceTypeNeuronDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceTypeNeuronDevice { + return vs[0].([]GetInstanceTypeNeuronDevice)[vs[1].(int)] + }).(GetInstanceTypeNeuronDeviceOutput) +} + type GetInstanceTypeOfferingFilter struct { // Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. Name string `pulumi:"name"` @@ -58660,6 +59023,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeInferenceAcceleratorArrayInput)(nil)).Elem(), GetInstanceTypeInferenceAcceleratorArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeInstanceDiskInput)(nil)).Elem(), GetInstanceTypeInstanceDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeInstanceDiskArrayInput)(nil)).Elem(), GetInstanceTypeInstanceDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeMediaAcceleratorInput)(nil)).Elem(), GetInstanceTypeMediaAcceleratorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeMediaAcceleratorArrayInput)(nil)).Elem(), GetInstanceTypeMediaAcceleratorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeNetworkCardInput)(nil)).Elem(), GetInstanceTypeNetworkCardArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeNetworkCardArrayInput)(nil)).Elem(), GetInstanceTypeNetworkCardArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeNeuronDeviceInput)(nil)).Elem(), GetInstanceTypeNeuronDeviceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeNeuronDeviceArrayInput)(nil)).Elem(), GetInstanceTypeNeuronDeviceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeOfferingFilterInput)(nil)).Elem(), GetInstanceTypeOfferingFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeOfferingFilterArrayInput)(nil)).Elem(), GetInstanceTypeOfferingFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceTypeOfferingsFilterInput)(nil)).Elem(), GetInstanceTypeOfferingsFilterArgs{}) @@ -59517,6 +59886,12 @@ func init() { pulumi.RegisterOutputType(GetInstanceTypeInferenceAcceleratorArrayOutput{}) pulumi.RegisterOutputType(GetInstanceTypeInstanceDiskOutput{}) pulumi.RegisterOutputType(GetInstanceTypeInstanceDiskArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeMediaAcceleratorOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeMediaAcceleratorArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeNetworkCardOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeNetworkCardArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeNeuronDeviceOutput{}) + pulumi.RegisterOutputType(GetInstanceTypeNeuronDeviceArrayOutput{}) pulumi.RegisterOutputType(GetInstanceTypeOfferingFilterOutput{}) pulumi.RegisterOutputType(GetInstanceTypeOfferingFilterArrayOutput{}) pulumi.RegisterOutputType(GetInstanceTypeOfferingsFilterOutput{}) diff --git a/sdk/go/aws/elasticache/user.go b/sdk/go/aws/elasticache/user.go index 671c3563d44..bb1d265759c 100644 --- a/sdk/go/aws/elasticache/user.go +++ b/sdk/go/aws/elasticache/user.go @@ -33,7 +33,7 @@ import ( // UserId: pulumi.String("testUserId"), // UserName: pulumi.String("testUserName"), // AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"), -// Engine: pulumi.String("REDIS"), +// Engine: pulumi.String("redis"), // Passwords: pulumi.StringArray{ // pulumi.String("password123456789"), // }, @@ -63,7 +63,7 @@ import ( // UserId: pulumi.String("testUserId"), // UserName: pulumi.String("testUserName"), // AccessString: pulumi.String("on ~* +@all"), -// Engine: pulumi.String("REDIS"), +// Engine: pulumi.String("redis"), // AuthenticationMode: &elasticache.UserAuthenticationModeArgs{ // Type: pulumi.String("iam"), // }, @@ -93,7 +93,7 @@ import ( // UserId: pulumi.String("testUserId"), // UserName: pulumi.String("testUserName"), // AccessString: pulumi.String("on ~* +@all"), -// Engine: pulumi.String("REDIS"), +// Engine: pulumi.String("redis"), // AuthenticationMode: &elasticache.UserAuthenticationModeArgs{ // Type: pulumi.String("password"), // Passwords: pulumi.StringArray{ @@ -127,7 +127,7 @@ type User struct { Arn pulumi.StringOutput `pulumi:"arn"` // Denotes the user's authentication properties. Detailed below. AuthenticationMode UserAuthenticationModeOutput `pulumi:"authenticationMode"` - // The current supported values are `REDIS`, `VALKEY`. + // The current supported values are `redis`, `valkey` (case insensitive). Engine pulumi.StringOutput `pulumi:"engine"` // Indicates a password is not required for this user. NoPasswordRequired pulumi.BoolPtrOutput `pulumi:"noPasswordRequired"` @@ -200,7 +200,7 @@ type userState struct { Arn *string `pulumi:"arn"` // Denotes the user's authentication properties. Detailed below. AuthenticationMode *UserAuthenticationMode `pulumi:"authenticationMode"` - // The current supported values are `REDIS`, `VALKEY`. + // The current supported values are `redis`, `valkey` (case insensitive). Engine *string `pulumi:"engine"` // Indicates a password is not required for this user. NoPasswordRequired *bool `pulumi:"noPasswordRequired"` @@ -225,7 +225,7 @@ type UserState struct { Arn pulumi.StringPtrInput // Denotes the user's authentication properties. Detailed below. AuthenticationMode UserAuthenticationModePtrInput - // The current supported values are `REDIS`, `VALKEY`. + // The current supported values are `redis`, `valkey` (case insensitive). Engine pulumi.StringPtrInput // Indicates a password is not required for this user. NoPasswordRequired pulumi.BoolPtrInput @@ -252,7 +252,7 @@ type userArgs struct { AccessString string `pulumi:"accessString"` // Denotes the user's authentication properties. Detailed below. AuthenticationMode *UserAuthenticationMode `pulumi:"authenticationMode"` - // The current supported values are `REDIS`, `VALKEY`. + // The current supported values are `redis`, `valkey` (case insensitive). Engine string `pulumi:"engine"` // Indicates a password is not required for this user. NoPasswordRequired *bool `pulumi:"noPasswordRequired"` @@ -274,7 +274,7 @@ type UserArgs struct { AccessString pulumi.StringInput // Denotes the user's authentication properties. Detailed below. AuthenticationMode UserAuthenticationModePtrInput - // The current supported values are `REDIS`, `VALKEY`. + // The current supported values are `redis`, `valkey` (case insensitive). Engine pulumi.StringInput // Indicates a password is not required for this user. NoPasswordRequired pulumi.BoolPtrInput @@ -392,7 +392,7 @@ func (o UserOutput) AuthenticationMode() UserAuthenticationModeOutput { return o.ApplyT(func(v *User) UserAuthenticationModeOutput { return v.AuthenticationMode }).(UserAuthenticationModeOutput) } -// The current supported values are `REDIS`, `VALKEY`. +// The current supported values are `redis`, `valkey` (case insensitive). func (o UserOutput) Engine() pulumi.StringOutput { return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/elasticache/userGroup.go b/sdk/go/aws/elasticache/userGroup.go index 6cc04931252..5fa2a56a8b1 100644 --- a/sdk/go/aws/elasticache/userGroup.go +++ b/sdk/go/aws/elasticache/userGroup.go @@ -32,7 +32,7 @@ import ( // UserId: pulumi.String("testUserId"), // UserName: pulumi.String("default"), // AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"), -// Engine: pulumi.String("REDIS"), +// Engine: pulumi.String("redis"), // Passwords: pulumi.StringArray{ // pulumi.String("password123456789"), // }, @@ -41,7 +41,7 @@ import ( // return err // } // _, err = elasticache.NewUserGroup(ctx, "test", &elasticache.UserGroupArgs{ -// Engine: pulumi.String("REDIS"), +// Engine: pulumi.String("redis"), // UserGroupId: pulumi.String("userGroupId"), // UserIds: pulumi.StringArray{ // test.UserId, @@ -68,7 +68,7 @@ type UserGroup struct { // The ARN that identifies the user group. Arn pulumi.StringOutput `pulumi:"arn"` - // The current supported value are `REDIS`, `VALKEY`. + // The current supported value are `redis`, `valkey` (case insensitive). Engine pulumi.StringOutput `pulumi:"engine"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -122,7 +122,7 @@ func GetUserGroup(ctx *pulumi.Context, type userGroupState struct { // The ARN that identifies the user group. Arn *string `pulumi:"arn"` - // The current supported value are `REDIS`, `VALKEY`. + // The current supported value are `redis`, `valkey` (case insensitive). Engine *string `pulumi:"engine"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -141,7 +141,7 @@ type userGroupState struct { type UserGroupState struct { // The ARN that identifies the user group. Arn pulumi.StringPtrInput - // The current supported value are `REDIS`, `VALKEY`. + // The current supported value are `redis`, `valkey` (case insensitive). Engine pulumi.StringPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -162,7 +162,7 @@ func (UserGroupState) ElementType() reflect.Type { } type userGroupArgs struct { - // The current supported value are `REDIS`, `VALKEY`. + // The current supported value are `redis`, `valkey` (case insensitive). Engine string `pulumi:"engine"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -176,7 +176,7 @@ type userGroupArgs struct { // The set of arguments for constructing a UserGroup resource. type UserGroupArgs struct { - // The current supported value are `REDIS`, `VALKEY`. + // The current supported value are `redis`, `valkey` (case insensitive). Engine pulumi.StringInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -280,7 +280,7 @@ func (o UserGroupOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *UserGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// The current supported value are `REDIS`, `VALKEY`. +// The current supported value are `redis`, `valkey` (case insensitive). func (o UserGroupOutput) Engine() pulumi.StringOutput { return o.ApplyT(func(v *UserGroup) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/globalaccelerator/accelerator.go b/sdk/go/aws/globalaccelerator/accelerator.go index 7e09ba22189..bfd6556423b 100644 --- a/sdk/go/aws/globalaccelerator/accelerator.go +++ b/sdk/go/aws/globalaccelerator/accelerator.go @@ -59,6 +59,8 @@ import ( type Accelerator struct { pulumi.CustomResourceState + // The Amazon Resource Name (ARN) of the accelerator. + Arn pulumi.StringOutput `pulumi:"arn"` // The attributes of the accelerator. Fields documented below. Attributes AcceleratorAttributesPtrOutput `pulumi:"attributes"` // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. @@ -117,6 +119,8 @@ func GetAccelerator(ctx *pulumi.Context, // Input properties used for looking up and filtering Accelerator resources. type acceleratorState struct { + // The Amazon Resource Name (ARN) of the accelerator. + Arn *string `pulumi:"arn"` // The attributes of the accelerator. Fields documented below. Attributes *AcceleratorAttributes `pulumi:"attributes"` // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. @@ -146,6 +150,8 @@ type acceleratorState struct { } type AcceleratorState struct { + // The Amazon Resource Name (ARN) of the accelerator. + Arn pulumi.StringPtrInput // The attributes of the accelerator. Fields documented below. Attributes AcceleratorAttributesPtrInput // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. @@ -296,6 +302,11 @@ func (o AcceleratorOutput) ToAcceleratorOutputWithContext(ctx context.Context) A return o } +// The Amazon Resource Name (ARN) of the accelerator. +func (o AcceleratorOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Accelerator) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + // The attributes of the accelerator. Fields documented below. func (o AcceleratorOutput) Attributes() AcceleratorAttributesPtrOutput { return o.ApplyT(func(v *Accelerator) AcceleratorAttributesPtrOutput { return v.Attributes }).(AcceleratorAttributesPtrOutput) diff --git a/sdk/go/aws/globalaccelerator/customRoutingAccelerator.go b/sdk/go/aws/globalaccelerator/customRoutingAccelerator.go index 115dc31c80d..7ce3821529f 100644 --- a/sdk/go/aws/globalaccelerator/customRoutingAccelerator.go +++ b/sdk/go/aws/globalaccelerator/customRoutingAccelerator.go @@ -59,6 +59,8 @@ import ( type CustomRoutingAccelerator struct { pulumi.CustomResourceState + // The Amazon Resource Name (ARN) of the custom accelerator. + Arn pulumi.StringOutput `pulumi:"arn"` // The attributes of the accelerator. Fields documented below. Attributes CustomRoutingAcceleratorAttributesPtrOutput `pulumi:"attributes"` // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. @@ -115,6 +117,8 @@ func GetCustomRoutingAccelerator(ctx *pulumi.Context, // Input properties used for looking up and filtering CustomRoutingAccelerator resources. type customRoutingAcceleratorState struct { + // The Amazon Resource Name (ARN) of the custom accelerator. + Arn *string `pulumi:"arn"` // The attributes of the accelerator. Fields documented below. Attributes *CustomRoutingAcceleratorAttributes `pulumi:"attributes"` // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. @@ -142,6 +146,8 @@ type customRoutingAcceleratorState struct { } type CustomRoutingAcceleratorState struct { + // The Amazon Resource Name (ARN) of the custom accelerator. + Arn pulumi.StringPtrInput // The attributes of the accelerator. Fields documented below. Attributes CustomRoutingAcceleratorAttributesPtrInput // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. @@ -290,6 +296,11 @@ func (o CustomRoutingAcceleratorOutput) ToCustomRoutingAcceleratorOutputWithCont return o } +// The Amazon Resource Name (ARN) of the custom accelerator. +func (o CustomRoutingAcceleratorOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CustomRoutingAccelerator) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + // The attributes of the accelerator. Fields documented below. func (o CustomRoutingAcceleratorOutput) Attributes() CustomRoutingAcceleratorAttributesPtrOutput { return o.ApplyT(func(v *CustomRoutingAccelerator) CustomRoutingAcceleratorAttributesPtrOutput { return v.Attributes }).(CustomRoutingAcceleratorAttributesPtrOutput) diff --git a/sdk/go/aws/globalaccelerator/customRoutingEndpointGroup.go b/sdk/go/aws/globalaccelerator/customRoutingEndpointGroup.go index 60521e20615..bbe414f0679 100644 --- a/sdk/go/aws/globalaccelerator/customRoutingEndpointGroup.go +++ b/sdk/go/aws/globalaccelerator/customRoutingEndpointGroup.go @@ -29,7 +29,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := globalaccelerator.NewCustomRoutingEndpointGroup(ctx, "example", &globalaccelerator.CustomRoutingEndpointGroupArgs{ -// ListenerArn: pulumi.Any(exampleAwsGlobalacceleratorCustomRoutingListener.Id), +// ListenerArn: pulumi.Any(exampleAwsGlobalacceleratorCustomRoutingListener.Arn), // DestinationConfigurations: globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArray{ // &globalaccelerator.CustomRoutingEndpointGroupDestinationConfigurationArgs{ // FromPort: pulumi.Int(80), diff --git a/sdk/go/aws/globalaccelerator/customRoutingListener.go b/sdk/go/aws/globalaccelerator/customRoutingListener.go index 585c981b5de..2f574b9948d 100644 --- a/sdk/go/aws/globalaccelerator/customRoutingListener.go +++ b/sdk/go/aws/globalaccelerator/customRoutingListener.go @@ -42,7 +42,7 @@ import ( // return err // } // _, err = globalaccelerator.NewCustomRoutingListener(ctx, "example", &globalaccelerator.CustomRoutingListenerArgs{ -// AcceleratorArn: example.ID(), +// AcceleratorArn: example.Arn, // PortRanges: globalaccelerator.CustomRoutingListenerPortRangeArray{ // &globalaccelerator.CustomRoutingListenerPortRangeArgs{ // FromPort: pulumi.Int(80), @@ -71,6 +71,7 @@ type CustomRoutingListener struct { // The Amazon Resource Name (ARN) of a custom routing accelerator. AcceleratorArn pulumi.StringOutput `pulumi:"acceleratorArn"` + Arn pulumi.StringOutput `pulumi:"arn"` // The list of port ranges for the connections from clients to the accelerator. Fields documented below. PortRanges CustomRoutingListenerPortRangeArrayOutput `pulumi:"portRanges"` } @@ -113,6 +114,7 @@ func GetCustomRoutingListener(ctx *pulumi.Context, type customRoutingListenerState struct { // The Amazon Resource Name (ARN) of a custom routing accelerator. AcceleratorArn *string `pulumi:"acceleratorArn"` + Arn *string `pulumi:"arn"` // The list of port ranges for the connections from clients to the accelerator. Fields documented below. PortRanges []CustomRoutingListenerPortRange `pulumi:"portRanges"` } @@ -120,6 +122,7 @@ type customRoutingListenerState struct { type CustomRoutingListenerState struct { // The Amazon Resource Name (ARN) of a custom routing accelerator. AcceleratorArn pulumi.StringPtrInput + Arn pulumi.StringPtrInput // The list of port ranges for the connections from clients to the accelerator. Fields documented below. PortRanges CustomRoutingListenerPortRangeArrayInput } @@ -235,6 +238,10 @@ func (o CustomRoutingListenerOutput) AcceleratorArn() pulumi.StringOutput { return o.ApplyT(func(v *CustomRoutingListener) pulumi.StringOutput { return v.AcceleratorArn }).(pulumi.StringOutput) } +func (o CustomRoutingListenerOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CustomRoutingListener) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + // The list of port ranges for the connections from clients to the accelerator. Fields documented below. func (o CustomRoutingListenerOutput) PortRanges() CustomRoutingListenerPortRangeArrayOutput { return o.ApplyT(func(v *CustomRoutingListener) CustomRoutingListenerPortRangeArrayOutput { return v.PortRanges }).(CustomRoutingListenerPortRangeArrayOutput) diff --git a/sdk/go/aws/globalaccelerator/endpointGroup.go b/sdk/go/aws/globalaccelerator/endpointGroup.go index f9f61c79efe..aa3d9dd983b 100644 --- a/sdk/go/aws/globalaccelerator/endpointGroup.go +++ b/sdk/go/aws/globalaccelerator/endpointGroup.go @@ -29,7 +29,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := globalaccelerator.NewEndpointGroup(ctx, "example", &globalaccelerator.EndpointGroupArgs{ -// ListenerArn: pulumi.Any(exampleAwsGlobalacceleratorListener.Id), +// ListenerArn: pulumi.Any(exampleAwsGlobalacceleratorListener.Arn), // EndpointConfigurations: globalaccelerator.EndpointGroupEndpointConfigurationArray{ // &globalaccelerator.EndpointGroupEndpointConfigurationArgs{ // EndpointId: pulumi.Any(exampleAwsLb.Arn), diff --git a/sdk/go/aws/globalaccelerator/listener.go b/sdk/go/aws/globalaccelerator/listener.go index 64cca762fdd..ce2c03d980d 100644 --- a/sdk/go/aws/globalaccelerator/listener.go +++ b/sdk/go/aws/globalaccelerator/listener.go @@ -42,7 +42,7 @@ import ( // return err // } // _, err = globalaccelerator.NewListener(ctx, "example", &globalaccelerator.ListenerArgs{ -// AcceleratorArn: example.ID(), +// AcceleratorArn: example.Arn, // ClientAffinity: pulumi.String("SOURCE_IP"), // Protocol: pulumi.String("TCP"), // PortRanges: globalaccelerator.ListenerPortRangeArray{ @@ -73,6 +73,8 @@ type Listener struct { // The Amazon Resource Name (ARN) of your accelerator. AcceleratorArn pulumi.StringOutput `pulumi:"acceleratorArn"` + // The Amazon Resource Name (ARN) of the listener. + Arn pulumi.StringOutput `pulumi:"arn"` // Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. ClientAffinity pulumi.StringPtrOutput `pulumi:"clientAffinity"` // The list of port ranges for the connections from clients to the accelerator. Fields documented below. @@ -122,6 +124,8 @@ func GetListener(ctx *pulumi.Context, type listenerState struct { // The Amazon Resource Name (ARN) of your accelerator. AcceleratorArn *string `pulumi:"acceleratorArn"` + // The Amazon Resource Name (ARN) of the listener. + Arn *string `pulumi:"arn"` // Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. ClientAffinity *string `pulumi:"clientAffinity"` // The list of port ranges for the connections from clients to the accelerator. Fields documented below. @@ -133,6 +137,8 @@ type listenerState struct { type ListenerState struct { // The Amazon Resource Name (ARN) of your accelerator. AcceleratorArn pulumi.StringPtrInput + // The Amazon Resource Name (ARN) of the listener. + Arn pulumi.StringPtrInput // Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. ClientAffinity pulumi.StringPtrInput // The list of port ranges for the connections from clients to the accelerator. Fields documented below. @@ -260,6 +266,11 @@ func (o ListenerOutput) AcceleratorArn() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.AcceleratorArn }).(pulumi.StringOutput) } +// The Amazon Resource Name (ARN) of the listener. +func (o ListenerOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + // Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. func (o ListenerOutput) ClientAffinity() pulumi.StringPtrOutput { return o.ApplyT(func(v *Listener) pulumi.StringPtrOutput { return v.ClientAffinity }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/kms/customKeyStore.go b/sdk/go/aws/kms/customKeyStore.go index 9a38f6024a6..a9b6a28ef70 100644 --- a/sdk/go/aws/kms/customKeyStore.go +++ b/sdk/go/aws/kms/customKeyStore.go @@ -16,7 +16,7 @@ import ( // // ## Example Usage // -// ### Basic Usage +// ### CloudHSM // // ```go // package main @@ -52,6 +52,75 @@ import ( // // ``` // +// ### External Key Store (VPC) +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := kms.NewCustomKeyStore(ctx, "example", &kms.CustomKeyStoreArgs{ +// CustomKeyStoreName: pulumi.String("example-vpc-xks"), +// CustomKeyStoreType: pulumi.String("EXTERNAL_KEY_STORE"), +// XksProxyAuthenticationCredential: &kms.CustomKeyStoreXksProxyAuthenticationCredentialArgs{ +// AccessKeyId: pulumi.Any(ephemeralAccessKeyId), +// RawSecretAccessKey: pulumi.Any(ephemeralSecretAccessKey), +// }, +// XksProxyConnectivity: pulumi.String("VPC_ENDPOINT_SERVICE"), +// XksProxyUriEndpoint: pulumi.String("https://myproxy-private.xks.example.com"), +// XksProxyUriPath: pulumi.String("/kms/xks/v1"), +// XksProxyVpcEndpointServiceName: pulumi.String("com.amazonaws.vpce.us-east-1.vpce-svc-example"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### External Key Store (Public) +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := kms.NewCustomKeyStore(ctx, "example", &kms.CustomKeyStoreArgs{ +// CustomKeyStoreName: pulumi.String("example-public-xks"), +// CustomKeyStoreType: pulumi.String("EXTERNAL_KEY_STORE"), +// XksProxyAuthenticationCredential: &kms.CustomKeyStoreXksProxyAuthenticationCredentialArgs{ +// AccessKeyId: pulumi.Any(ephemeralAccessKeyId), +// RawSecretAccessKey: pulumi.Any(ephemeralSecretAccessKey), +// }, +// XksProxyConnectivity: pulumi.String("PUBLIC_ENDPOINT"), +// XksProxyUriEndpoint: pulumi.String("https://myproxy.xks.example.com"), +// XksProxyUriPath: pulumi.String("/kms/xks/v1"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example: @@ -62,14 +131,20 @@ import ( type CustomKeyStore struct { pulumi.CustomResourceState - // Cluster ID of CloudHSM. - CloudHsmClusterId pulumi.StringOutput `pulumi:"cloudHsmClusterId"` + CloudHsmClusterId pulumi.StringPtrOutput `pulumi:"cloudHsmClusterId"` // Unique name for Custom Key Store. + // + // The following arguments are optional: CustomKeyStoreName pulumi.StringOutput `pulumi:"customKeyStoreName"` - // Password for `kmsuser` on CloudHSM. - KeyStorePassword pulumi.StringOutput `pulumi:"keyStorePassword"` - // Customer certificate used for signing on CloudHSM. - TrustAnchorCertificate pulumi.StringOutput `pulumi:"trustAnchorCertificate"` + // Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. + CustomKeyStoreType pulumi.StringOutput `pulumi:"customKeyStoreType"` + KeyStorePassword pulumi.StringPtrOutput `pulumi:"keyStorePassword"` + TrustAnchorCertificate pulumi.StringPtrOutput `pulumi:"trustAnchorCertificate"` + XksProxyAuthenticationCredential CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput `pulumi:"xksProxyAuthenticationCredential"` + XksProxyConnectivity pulumi.StringPtrOutput `pulumi:"xksProxyConnectivity"` + XksProxyUriEndpoint pulumi.StringPtrOutput `pulumi:"xksProxyUriEndpoint"` + XksProxyUriPath pulumi.StringPtrOutput `pulumi:"xksProxyUriPath"` + XksProxyVpcEndpointServiceName pulumi.StringPtrOutput `pulumi:"xksProxyVpcEndpointServiceName"` } // NewCustomKeyStore registers a new resource with the given unique name, arguments, and options. @@ -79,18 +154,9 @@ func NewCustomKeyStore(ctx *pulumi.Context, return nil, errors.New("missing one or more required arguments") } - if args.CloudHsmClusterId == nil { - return nil, errors.New("invalid value for required argument 'CloudHsmClusterId'") - } if args.CustomKeyStoreName == nil { return nil, errors.New("invalid value for required argument 'CustomKeyStoreName'") } - if args.KeyStorePassword == nil { - return nil, errors.New("invalid value for required argument 'KeyStorePassword'") - } - if args.TrustAnchorCertificate == nil { - return nil, errors.New("invalid value for required argument 'TrustAnchorCertificate'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource CustomKeyStore err := ctx.RegisterResource("aws:kms/customKeyStore:CustomKeyStore", name, args, &resource, opts...) @@ -114,25 +180,37 @@ func GetCustomKeyStore(ctx *pulumi.Context, // Input properties used for looking up and filtering CustomKeyStore resources. type customKeyStoreState struct { - // Cluster ID of CloudHSM. CloudHsmClusterId *string `pulumi:"cloudHsmClusterId"` // Unique name for Custom Key Store. + // + // The following arguments are optional: CustomKeyStoreName *string `pulumi:"customKeyStoreName"` - // Password for `kmsuser` on CloudHSM. - KeyStorePassword *string `pulumi:"keyStorePassword"` - // Customer certificate used for signing on CloudHSM. - TrustAnchorCertificate *string `pulumi:"trustAnchorCertificate"` + // Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. + CustomKeyStoreType *string `pulumi:"customKeyStoreType"` + KeyStorePassword *string `pulumi:"keyStorePassword"` + TrustAnchorCertificate *string `pulumi:"trustAnchorCertificate"` + XksProxyAuthenticationCredential *CustomKeyStoreXksProxyAuthenticationCredential `pulumi:"xksProxyAuthenticationCredential"` + XksProxyConnectivity *string `pulumi:"xksProxyConnectivity"` + XksProxyUriEndpoint *string `pulumi:"xksProxyUriEndpoint"` + XksProxyUriPath *string `pulumi:"xksProxyUriPath"` + XksProxyVpcEndpointServiceName *string `pulumi:"xksProxyVpcEndpointServiceName"` } type CustomKeyStoreState struct { - // Cluster ID of CloudHSM. CloudHsmClusterId pulumi.StringPtrInput // Unique name for Custom Key Store. + // + // The following arguments are optional: CustomKeyStoreName pulumi.StringPtrInput - // Password for `kmsuser` on CloudHSM. - KeyStorePassword pulumi.StringPtrInput - // Customer certificate used for signing on CloudHSM. - TrustAnchorCertificate pulumi.StringPtrInput + // Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. + CustomKeyStoreType pulumi.StringPtrInput + KeyStorePassword pulumi.StringPtrInput + TrustAnchorCertificate pulumi.StringPtrInput + XksProxyAuthenticationCredential CustomKeyStoreXksProxyAuthenticationCredentialPtrInput + XksProxyConnectivity pulumi.StringPtrInput + XksProxyUriEndpoint pulumi.StringPtrInput + XksProxyUriPath pulumi.StringPtrInput + XksProxyVpcEndpointServiceName pulumi.StringPtrInput } func (CustomKeyStoreState) ElementType() reflect.Type { @@ -140,26 +218,38 @@ func (CustomKeyStoreState) ElementType() reflect.Type { } type customKeyStoreArgs struct { - // Cluster ID of CloudHSM. - CloudHsmClusterId string `pulumi:"cloudHsmClusterId"` + CloudHsmClusterId *string `pulumi:"cloudHsmClusterId"` // Unique name for Custom Key Store. + // + // The following arguments are optional: CustomKeyStoreName string `pulumi:"customKeyStoreName"` - // Password for `kmsuser` on CloudHSM. - KeyStorePassword string `pulumi:"keyStorePassword"` - // Customer certificate used for signing on CloudHSM. - TrustAnchorCertificate string `pulumi:"trustAnchorCertificate"` + // Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. + CustomKeyStoreType *string `pulumi:"customKeyStoreType"` + KeyStorePassword *string `pulumi:"keyStorePassword"` + TrustAnchorCertificate *string `pulumi:"trustAnchorCertificate"` + XksProxyAuthenticationCredential *CustomKeyStoreXksProxyAuthenticationCredential `pulumi:"xksProxyAuthenticationCredential"` + XksProxyConnectivity *string `pulumi:"xksProxyConnectivity"` + XksProxyUriEndpoint *string `pulumi:"xksProxyUriEndpoint"` + XksProxyUriPath *string `pulumi:"xksProxyUriPath"` + XksProxyVpcEndpointServiceName *string `pulumi:"xksProxyVpcEndpointServiceName"` } // The set of arguments for constructing a CustomKeyStore resource. type CustomKeyStoreArgs struct { - // Cluster ID of CloudHSM. - CloudHsmClusterId pulumi.StringInput + CloudHsmClusterId pulumi.StringPtrInput // Unique name for Custom Key Store. + // + // The following arguments are optional: CustomKeyStoreName pulumi.StringInput - // Password for `kmsuser` on CloudHSM. - KeyStorePassword pulumi.StringInput - // Customer certificate used for signing on CloudHSM. - TrustAnchorCertificate pulumi.StringInput + // Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. + CustomKeyStoreType pulumi.StringPtrInput + KeyStorePassword pulumi.StringPtrInput + TrustAnchorCertificate pulumi.StringPtrInput + XksProxyAuthenticationCredential CustomKeyStoreXksProxyAuthenticationCredentialPtrInput + XksProxyConnectivity pulumi.StringPtrInput + XksProxyUriEndpoint pulumi.StringPtrInput + XksProxyUriPath pulumi.StringPtrInput + XksProxyVpcEndpointServiceName pulumi.StringPtrInput } func (CustomKeyStoreArgs) ElementType() reflect.Type { @@ -249,24 +339,50 @@ func (o CustomKeyStoreOutput) ToCustomKeyStoreOutputWithContext(ctx context.Cont return o } -// Cluster ID of CloudHSM. -func (o CustomKeyStoreOutput) CloudHsmClusterId() pulumi.StringOutput { - return o.ApplyT(func(v *CustomKeyStore) pulumi.StringOutput { return v.CloudHsmClusterId }).(pulumi.StringOutput) +func (o CustomKeyStoreOutput) CloudHsmClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringPtrOutput { return v.CloudHsmClusterId }).(pulumi.StringPtrOutput) } // Unique name for Custom Key Store. +// +// The following arguments are optional: func (o CustomKeyStoreOutput) CustomKeyStoreName() pulumi.StringOutput { return o.ApplyT(func(v *CustomKeyStore) pulumi.StringOutput { return v.CustomKeyStoreName }).(pulumi.StringOutput) } -// Password for `kmsuser` on CloudHSM. -func (o CustomKeyStoreOutput) KeyStorePassword() pulumi.StringOutput { - return o.ApplyT(func(v *CustomKeyStore) pulumi.StringOutput { return v.KeyStorePassword }).(pulumi.StringOutput) +// Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. +func (o CustomKeyStoreOutput) CustomKeyStoreType() pulumi.StringOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringOutput { return v.CustomKeyStoreType }).(pulumi.StringOutput) +} + +func (o CustomKeyStoreOutput) KeyStorePassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringPtrOutput { return v.KeyStorePassword }).(pulumi.StringPtrOutput) +} + +func (o CustomKeyStoreOutput) TrustAnchorCertificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringPtrOutput { return v.TrustAnchorCertificate }).(pulumi.StringPtrOutput) +} + +func (o CustomKeyStoreOutput) XksProxyAuthenticationCredential() CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return v.XksProxyAuthenticationCredential + }).(CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) +} + +func (o CustomKeyStoreOutput) XksProxyConnectivity() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringPtrOutput { return v.XksProxyConnectivity }).(pulumi.StringPtrOutput) +} + +func (o CustomKeyStoreOutput) XksProxyUriEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringPtrOutput { return v.XksProxyUriEndpoint }).(pulumi.StringPtrOutput) +} + +func (o CustomKeyStoreOutput) XksProxyUriPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringPtrOutput { return v.XksProxyUriPath }).(pulumi.StringPtrOutput) } -// Customer certificate used for signing on CloudHSM. -func (o CustomKeyStoreOutput) TrustAnchorCertificate() pulumi.StringOutput { - return o.ApplyT(func(v *CustomKeyStore) pulumi.StringOutput { return v.TrustAnchorCertificate }).(pulumi.StringOutput) +func (o CustomKeyStoreOutput) XksProxyVpcEndpointServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStore) pulumi.StringPtrOutput { return v.XksProxyVpcEndpointServiceName }).(pulumi.StringPtrOutput) } type CustomKeyStoreArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/aws/kms/pulumiTypes.go b/sdk/go/aws/kms/pulumiTypes.go index 2a5a53a95f3..788a8beb928 100644 --- a/sdk/go/aws/kms/pulumiTypes.go +++ b/sdk/go/aws/kms/pulumiTypes.go @@ -13,6 +13,162 @@ import ( var _ = internal.GetEnvOrDefault +type CustomKeyStoreXksProxyAuthenticationCredential struct { + // A unique identifier for the raw secret access key. + AccessKeyId string `pulumi:"accessKeyId"` + // A secret string of 43-64 characters. + RawSecretAccessKey string `pulumi:"rawSecretAccessKey"` +} + +// CustomKeyStoreXksProxyAuthenticationCredentialInput is an input type that accepts CustomKeyStoreXksProxyAuthenticationCredentialArgs and CustomKeyStoreXksProxyAuthenticationCredentialOutput values. +// You can construct a concrete instance of `CustomKeyStoreXksProxyAuthenticationCredentialInput` via: +// +// CustomKeyStoreXksProxyAuthenticationCredentialArgs{...} +type CustomKeyStoreXksProxyAuthenticationCredentialInput interface { + pulumi.Input + + ToCustomKeyStoreXksProxyAuthenticationCredentialOutput() CustomKeyStoreXksProxyAuthenticationCredentialOutput + ToCustomKeyStoreXksProxyAuthenticationCredentialOutputWithContext(context.Context) CustomKeyStoreXksProxyAuthenticationCredentialOutput +} + +type CustomKeyStoreXksProxyAuthenticationCredentialArgs struct { + // A unique identifier for the raw secret access key. + AccessKeyId pulumi.StringInput `pulumi:"accessKeyId"` + // A secret string of 43-64 characters. + RawSecretAccessKey pulumi.StringInput `pulumi:"rawSecretAccessKey"` +} + +func (CustomKeyStoreXksProxyAuthenticationCredentialArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomKeyStoreXksProxyAuthenticationCredential)(nil)).Elem() +} + +func (i CustomKeyStoreXksProxyAuthenticationCredentialArgs) ToCustomKeyStoreXksProxyAuthenticationCredentialOutput() CustomKeyStoreXksProxyAuthenticationCredentialOutput { + return i.ToCustomKeyStoreXksProxyAuthenticationCredentialOutputWithContext(context.Background()) +} + +func (i CustomKeyStoreXksProxyAuthenticationCredentialArgs) ToCustomKeyStoreXksProxyAuthenticationCredentialOutputWithContext(ctx context.Context) CustomKeyStoreXksProxyAuthenticationCredentialOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomKeyStoreXksProxyAuthenticationCredentialOutput) +} + +func (i CustomKeyStoreXksProxyAuthenticationCredentialArgs) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutput() CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return i.ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(context.Background()) +} + +func (i CustomKeyStoreXksProxyAuthenticationCredentialArgs) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(ctx context.Context) CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomKeyStoreXksProxyAuthenticationCredentialOutput).ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(ctx) +} + +// CustomKeyStoreXksProxyAuthenticationCredentialPtrInput is an input type that accepts CustomKeyStoreXksProxyAuthenticationCredentialArgs, CustomKeyStoreXksProxyAuthenticationCredentialPtr and CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput values. +// You can construct a concrete instance of `CustomKeyStoreXksProxyAuthenticationCredentialPtrInput` via: +// +// CustomKeyStoreXksProxyAuthenticationCredentialArgs{...} +// +// or: +// +// nil +type CustomKeyStoreXksProxyAuthenticationCredentialPtrInput interface { + pulumi.Input + + ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutput() CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput + ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(context.Context) CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput +} + +type customKeyStoreXksProxyAuthenticationCredentialPtrType CustomKeyStoreXksProxyAuthenticationCredentialArgs + +func CustomKeyStoreXksProxyAuthenticationCredentialPtr(v *CustomKeyStoreXksProxyAuthenticationCredentialArgs) CustomKeyStoreXksProxyAuthenticationCredentialPtrInput { + return (*customKeyStoreXksProxyAuthenticationCredentialPtrType)(v) +} + +func (*customKeyStoreXksProxyAuthenticationCredentialPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomKeyStoreXksProxyAuthenticationCredential)(nil)).Elem() +} + +func (i *customKeyStoreXksProxyAuthenticationCredentialPtrType) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutput() CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return i.ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(context.Background()) +} + +func (i *customKeyStoreXksProxyAuthenticationCredentialPtrType) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(ctx context.Context) CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) +} + +type CustomKeyStoreXksProxyAuthenticationCredentialOutput struct{ *pulumi.OutputState } + +func (CustomKeyStoreXksProxyAuthenticationCredentialOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomKeyStoreXksProxyAuthenticationCredential)(nil)).Elem() +} + +func (o CustomKeyStoreXksProxyAuthenticationCredentialOutput) ToCustomKeyStoreXksProxyAuthenticationCredentialOutput() CustomKeyStoreXksProxyAuthenticationCredentialOutput { + return o +} + +func (o CustomKeyStoreXksProxyAuthenticationCredentialOutput) ToCustomKeyStoreXksProxyAuthenticationCredentialOutputWithContext(ctx context.Context) CustomKeyStoreXksProxyAuthenticationCredentialOutput { + return o +} + +func (o CustomKeyStoreXksProxyAuthenticationCredentialOutput) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutput() CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return o.ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(context.Background()) +} + +func (o CustomKeyStoreXksProxyAuthenticationCredentialOutput) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(ctx context.Context) CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomKeyStoreXksProxyAuthenticationCredential) *CustomKeyStoreXksProxyAuthenticationCredential { + return &v + }).(CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) +} + +// A unique identifier for the raw secret access key. +func (o CustomKeyStoreXksProxyAuthenticationCredentialOutput) AccessKeyId() pulumi.StringOutput { + return o.ApplyT(func(v CustomKeyStoreXksProxyAuthenticationCredential) string { return v.AccessKeyId }).(pulumi.StringOutput) +} + +// A secret string of 43-64 characters. +func (o CustomKeyStoreXksProxyAuthenticationCredentialOutput) RawSecretAccessKey() pulumi.StringOutput { + return o.ApplyT(func(v CustomKeyStoreXksProxyAuthenticationCredential) string { return v.RawSecretAccessKey }).(pulumi.StringOutput) +} + +type CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput struct{ *pulumi.OutputState } + +func (CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomKeyStoreXksProxyAuthenticationCredential)(nil)).Elem() +} + +func (o CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutput() CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return o +} + +func (o CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) ToCustomKeyStoreXksProxyAuthenticationCredentialPtrOutputWithContext(ctx context.Context) CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput { + return o +} + +func (o CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) Elem() CustomKeyStoreXksProxyAuthenticationCredentialOutput { + return o.ApplyT(func(v *CustomKeyStoreXksProxyAuthenticationCredential) CustomKeyStoreXksProxyAuthenticationCredential { + if v != nil { + return *v + } + var ret CustomKeyStoreXksProxyAuthenticationCredential + return ret + }).(CustomKeyStoreXksProxyAuthenticationCredentialOutput) +} + +// A unique identifier for the raw secret access key. +func (o CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) AccessKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStoreXksProxyAuthenticationCredential) *string { + if v == nil { + return nil + } + return &v.AccessKeyId + }).(pulumi.StringPtrOutput) +} + +// A secret string of 43-64 characters. +func (o CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput) RawSecretAccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomKeyStoreXksProxyAuthenticationCredential) *string { + if v == nil { + return nil + } + return &v.RawSecretAccessKey + }).(pulumi.StringPtrOutput) +} + type GrantConstraint struct { // A list of key-value pairs that must match the encryption context in subsequent cryptographic operation requests. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint. Conflicts with `encryptionContextSubset`. EncryptionContextEquals map[string]string `pulumi:"encryptionContextEquals"` @@ -811,6 +967,8 @@ func (o GetSecretsSecretArrayOutput) Index(i pulumi.IntInput) GetSecretsSecretOu } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CustomKeyStoreXksProxyAuthenticationCredentialInput)(nil)).Elem(), CustomKeyStoreXksProxyAuthenticationCredentialArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomKeyStoreXksProxyAuthenticationCredentialPtrInput)(nil)).Elem(), CustomKeyStoreXksProxyAuthenticationCredentialArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GrantConstraintInput)(nil)).Elem(), GrantConstraintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GrantConstraintArrayInput)(nil)).Elem(), GrantConstraintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKeyMultiRegionConfigurationInput)(nil)).Elem(), GetKeyMultiRegionConfigurationArgs{}) @@ -825,6 +983,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSecretSecretArrayInput)(nil)).Elem(), GetSecretSecretArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSecretsSecretInput)(nil)).Elem(), GetSecretsSecretArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSecretsSecretArrayInput)(nil)).Elem(), GetSecretsSecretArray{}) + pulumi.RegisterOutputType(CustomKeyStoreXksProxyAuthenticationCredentialOutput{}) + pulumi.RegisterOutputType(CustomKeyStoreXksProxyAuthenticationCredentialPtrOutput{}) pulumi.RegisterOutputType(GrantConstraintOutput{}) pulumi.RegisterOutputType(GrantConstraintArrayOutput{}) pulumi.RegisterOutputType(GetKeyMultiRegionConfigurationOutput{}) diff --git a/sdk/go/aws/lb/listener.go b/sdk/go/aws/lb/listener.go index f7abf17c6b1..e7fda09e29e 100644 --- a/sdk/go/aws/lb/listener.go +++ b/sdk/go/aws/lb/listener.go @@ -430,6 +430,44 @@ type Listener struct { Port pulumi.IntPtrOutput `pulumi:"port"` // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol pulumi.StringOutput `pulumi:"protocol"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertLeafHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznMtlsClientcertValidityHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznTlsCipherSuiteHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName pulumi.StringOutput `pulumi:"routingHttpRequestXAmznTlsVersionHeaderName"` + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowCredentialsHeaderValue"` + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowHeadersHeaderValue"` + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowMethodsHeaderValue"` + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlAllowOriginHeaderValue"` + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlExposeHeadersHeaderValue"` + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseAccessControlMaxAgeHeaderValue"` + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseContentSecurityPolicyHeaderValue"` + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled pulumi.BoolOutput `pulumi:"routingHttpResponseServerEnabled"` + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseStrictTransportSecurityHeaderValue"` + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseXContentTypeOptionsHeaderValue"` + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue pulumi.StringOutput `pulumi:"routingHttpResponseXFrameOptionsHeaderValue"` // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringOutput `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -504,6 +542,44 @@ type listenerState struct { Port *int `pulumi:"port"` // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol *string `pulumi:"protocol"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertLeafHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertValidityHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName *string `pulumi:"routingHttpRequestXAmznTlsCipherSuiteHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName *string `pulumi:"routingHttpRequestXAmznTlsVersionHeaderName"` + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowCredentialsHeaderValue"` + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowHeadersHeaderValue"` + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowMethodsHeaderValue"` + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowOriginHeaderValue"` + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlExposeHeadersHeaderValue"` + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue *string `pulumi:"routingHttpResponseAccessControlMaxAgeHeaderValue"` + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue *string `pulumi:"routingHttpResponseContentSecurityPolicyHeaderValue"` + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled *bool `pulumi:"routingHttpResponseServerEnabled"` + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue *string `pulumi:"routingHttpResponseStrictTransportSecurityHeaderValue"` + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue *string `pulumi:"routingHttpResponseXContentTypeOptionsHeaderValue"` + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue *string `pulumi:"routingHttpResponseXFrameOptionsHeaderValue"` // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -537,6 +613,44 @@ type ListenerState struct { Port pulumi.IntPtrInput // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName pulumi.StringPtrInput + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue pulumi.StringPtrInput + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue pulumi.StringPtrInput + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue pulumi.StringPtrInput + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue pulumi.StringPtrInput + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue pulumi.StringPtrInput + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue pulumi.StringPtrInput + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue pulumi.StringPtrInput + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled pulumi.BoolPtrInput + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue pulumi.StringPtrInput + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue pulumi.StringPtrInput + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue pulumi.StringPtrInput // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -572,6 +686,44 @@ type listenerArgs struct { Port *int `pulumi:"port"` // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol *string `pulumi:"protocol"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertLeafHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName *string `pulumi:"routingHttpRequestXAmznMtlsClientcertValidityHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName *string `pulumi:"routingHttpRequestXAmznTlsCipherSuiteHeaderName"` + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName *string `pulumi:"routingHttpRequestXAmznTlsVersionHeaderName"` + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowCredentialsHeaderValue"` + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowHeadersHeaderValue"` + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowMethodsHeaderValue"` + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue *string `pulumi:"routingHttpResponseAccessControlAllowOriginHeaderValue"` + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue *string `pulumi:"routingHttpResponseAccessControlExposeHeadersHeaderValue"` + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue *string `pulumi:"routingHttpResponseAccessControlMaxAgeHeaderValue"` + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue *string `pulumi:"routingHttpResponseContentSecurityPolicyHeaderValue"` + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled *bool `pulumi:"routingHttpResponseServerEnabled"` + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue *string `pulumi:"routingHttpResponseStrictTransportSecurityHeaderValue"` + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue *string `pulumi:"routingHttpResponseXContentTypeOptionsHeaderValue"` + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue *string `pulumi:"routingHttpResponseXFrameOptionsHeaderValue"` // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -600,6 +752,44 @@ type ListenerArgs struct { Port pulumi.IntPtrInput // Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. Protocol pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsCipherSuiteHeaderName pulumi.StringPtrInput + // Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + RoutingHttpRequestXAmznTlsVersionHeaderName pulumi.StringPtrInput + // Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + RoutingHttpResponseAccessControlAllowCredentialsHeaderValue pulumi.StringPtrInput + // Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + RoutingHttpResponseAccessControlAllowHeadersHeaderValue pulumi.StringPtrInput + // Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + RoutingHttpResponseAccessControlAllowMethodsHeaderValue pulumi.StringPtrInput + // Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + RoutingHttpResponseAccessControlAllowOriginHeaderValue pulumi.StringPtrInput + // Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + RoutingHttpResponseAccessControlExposeHeadersHeaderValue pulumi.StringPtrInput + // Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + RoutingHttpResponseAccessControlMaxAgeHeaderValue pulumi.StringPtrInput + // Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + RoutingHttpResponseContentSecurityPolicyHeaderValue pulumi.StringPtrInput + // Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + RoutingHttpResponseServerEnabled pulumi.BoolPtrInput + // Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + RoutingHttpResponseStrictTransportSecurityHeaderValue pulumi.StringPtrInput + // Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + RoutingHttpResponseXContentTypeOptionsHeaderValue pulumi.StringPtrInput + // Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + RoutingHttpResponseXFrameOptionsHeaderValue pulumi.StringPtrInput // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -739,6 +929,113 @@ func (o ListenerOutput) Protocol() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) } +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertIssuerHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertLeafHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName + }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznMtlsClientcertSubjectHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpRequestXAmznMtlsClientcertValidityHeaderName + }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznTlsCipherSuiteHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznTlsCipherSuiteHeaderName }).(pulumi.StringOutput) +} + +// Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. +func (o ListenerOutput) RoutingHttpRequestXAmznTlsVersionHeaderName() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpRequestXAmznTlsVersionHeaderName }).(pulumi.StringOutput) +} + +// Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowCredentialsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlAllowCredentialsHeaderValue + }).(pulumi.StringOutput) +} + +// Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowHeadersHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlAllowHeadersHeaderValue + }).(pulumi.StringOutput) +} + +// Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowMethodsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlAllowMethodsHeaderValue + }).(pulumi.StringOutput) +} + +// Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. +func (o ListenerOutput) RoutingHttpResponseAccessControlAllowOriginHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseAccessControlAllowOriginHeaderValue }).(pulumi.StringOutput) +} + +// Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. +func (o ListenerOutput) RoutingHttpResponseAccessControlExposeHeadersHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { + return v.RoutingHttpResponseAccessControlExposeHeadersHeaderValue + }).(pulumi.StringOutput) +} + +// Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. +func (o ListenerOutput) RoutingHttpResponseAccessControlMaxAgeHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseAccessControlMaxAgeHeaderValue }).(pulumi.StringOutput) +} + +// Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. +func (o ListenerOutput) RoutingHttpResponseContentSecurityPolicyHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseContentSecurityPolicyHeaderValue }).(pulumi.StringOutput) +} + +// Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. +func (o ListenerOutput) RoutingHttpResponseServerEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *Listener) pulumi.BoolOutput { return v.RoutingHttpResponseServerEnabled }).(pulumi.BoolOutput) +} + +// Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. +func (o ListenerOutput) RoutingHttpResponseStrictTransportSecurityHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseStrictTransportSecurityHeaderValue }).(pulumi.StringOutput) +} + +// Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. +func (o ListenerOutput) RoutingHttpResponseXContentTypeOptionsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseXContentTypeOptionsHeaderValue }).(pulumi.StringOutput) +} + +// Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. +func (o ListenerOutput) RoutingHttpResponseXFrameOptionsHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.RoutingHttpResponseXFrameOptionsHeaderValue }).(pulumi.StringOutput) +} + // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. func (o ListenerOutput) SslPolicy() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.SslPolicy }).(pulumi.StringOutput) diff --git a/sdk/go/aws/mediapackage/init.go b/sdk/go/aws/mediapackage/init.go index 8e906d4c91a..2927030211d 100644 --- a/sdk/go/aws/mediapackage/init.go +++ b/sdk/go/aws/mediapackage/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws:mediapackage/channel:Channel": r = &Channel{} + case "aws:mediapackage/v2ChannelGroup:V2ChannelGroup": + r = &V2ChannelGroup{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -41,4 +43,9 @@ func init() { "mediapackage/channel", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "mediapackage/v2ChannelGroup", + &module{version}, + ) } diff --git a/sdk/go/aws/mediapackage/v2channelGroup.go b/sdk/go/aws/mediapackage/v2channelGroup.go new file mode 100644 index 00000000000..4cd52b1868a --- /dev/null +++ b/sdk/go/aws/mediapackage/v2channelGroup.go @@ -0,0 +1,321 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package mediapackage + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Creates an AWS Elemental MediaPackage Version 2 Channel Group. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mediapackage" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := mediapackage.NewV2ChannelGroup(ctx, "example", &mediapackage.V2ChannelGroupArgs{ +// Name: pulumi.String("example"), +// Description: pulumi.String("channel group for example channels"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Elemental MediaPackage Version 2 Channel Group using the channel group's `name`. For example: +// +// ```sh +// $ pulumi import aws:mediapackage/v2ChannelGroup:V2ChannelGroup example example +// ``` +type V2ChannelGroup struct { + pulumi.CustomResourceState + + // The ARN of the channel + Arn pulumi.StringOutput `pulumi:"arn"` + // A description of the channel group + Description pulumi.StringPtrOutput `pulumi:"description"` + // The egress domain of the channel group + EgressDomain pulumi.StringOutput `pulumi:"egressDomain"` + // A unique identifier naming the channel group + Name pulumi.StringOutput `pulumi:"name"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewV2ChannelGroup registers a new resource with the given unique name, arguments, and options. +func NewV2ChannelGroup(ctx *pulumi.Context, + name string, args *V2ChannelGroupArgs, opts ...pulumi.ResourceOption) (*V2ChannelGroup, error) { + if args == nil { + args = &V2ChannelGroupArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource V2ChannelGroup + err := ctx.RegisterResource("aws:mediapackage/v2ChannelGroup:V2ChannelGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetV2ChannelGroup gets an existing V2ChannelGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetV2ChannelGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *V2ChannelGroupState, opts ...pulumi.ResourceOption) (*V2ChannelGroup, error) { + var resource V2ChannelGroup + err := ctx.ReadResource("aws:mediapackage/v2ChannelGroup:V2ChannelGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering V2ChannelGroup resources. +type v2channelGroupState struct { + // The ARN of the channel + Arn *string `pulumi:"arn"` + // A description of the channel group + Description *string `pulumi:"description"` + // The egress domain of the channel group + EgressDomain *string `pulumi:"egressDomain"` + // A unique identifier naming the channel group + Name *string `pulumi:"name"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type V2ChannelGroupState struct { + // The ARN of the channel + Arn pulumi.StringPtrInput + // A description of the channel group + Description pulumi.StringPtrInput + // The egress domain of the channel group + EgressDomain pulumi.StringPtrInput + // A unique identifier naming the channel group + Name pulumi.StringPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput +} + +func (V2ChannelGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*v2channelGroupState)(nil)).Elem() +} + +type v2channelGroupArgs struct { + // A description of the channel group + Description *string `pulumi:"description"` + // A unique identifier naming the channel group + Name *string `pulumi:"name"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a V2ChannelGroup resource. +type V2ChannelGroupArgs struct { + // A description of the channel group + Description pulumi.StringPtrInput + // A unique identifier naming the channel group + Name pulumi.StringPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput +} + +func (V2ChannelGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*v2channelGroupArgs)(nil)).Elem() +} + +type V2ChannelGroupInput interface { + pulumi.Input + + ToV2ChannelGroupOutput() V2ChannelGroupOutput + ToV2ChannelGroupOutputWithContext(ctx context.Context) V2ChannelGroupOutput +} + +func (*V2ChannelGroup) ElementType() reflect.Type { + return reflect.TypeOf((**V2ChannelGroup)(nil)).Elem() +} + +func (i *V2ChannelGroup) ToV2ChannelGroupOutput() V2ChannelGroupOutput { + return i.ToV2ChannelGroupOutputWithContext(context.Background()) +} + +func (i *V2ChannelGroup) ToV2ChannelGroupOutputWithContext(ctx context.Context) V2ChannelGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(V2ChannelGroupOutput) +} + +// V2ChannelGroupArrayInput is an input type that accepts V2ChannelGroupArray and V2ChannelGroupArrayOutput values. +// You can construct a concrete instance of `V2ChannelGroupArrayInput` via: +// +// V2ChannelGroupArray{ V2ChannelGroupArgs{...} } +type V2ChannelGroupArrayInput interface { + pulumi.Input + + ToV2ChannelGroupArrayOutput() V2ChannelGroupArrayOutput + ToV2ChannelGroupArrayOutputWithContext(context.Context) V2ChannelGroupArrayOutput +} + +type V2ChannelGroupArray []V2ChannelGroupInput + +func (V2ChannelGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*V2ChannelGroup)(nil)).Elem() +} + +func (i V2ChannelGroupArray) ToV2ChannelGroupArrayOutput() V2ChannelGroupArrayOutput { + return i.ToV2ChannelGroupArrayOutputWithContext(context.Background()) +} + +func (i V2ChannelGroupArray) ToV2ChannelGroupArrayOutputWithContext(ctx context.Context) V2ChannelGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(V2ChannelGroupArrayOutput) +} + +// V2ChannelGroupMapInput is an input type that accepts V2ChannelGroupMap and V2ChannelGroupMapOutput values. +// You can construct a concrete instance of `V2ChannelGroupMapInput` via: +// +// V2ChannelGroupMap{ "key": V2ChannelGroupArgs{...} } +type V2ChannelGroupMapInput interface { + pulumi.Input + + ToV2ChannelGroupMapOutput() V2ChannelGroupMapOutput + ToV2ChannelGroupMapOutputWithContext(context.Context) V2ChannelGroupMapOutput +} + +type V2ChannelGroupMap map[string]V2ChannelGroupInput + +func (V2ChannelGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*V2ChannelGroup)(nil)).Elem() +} + +func (i V2ChannelGroupMap) ToV2ChannelGroupMapOutput() V2ChannelGroupMapOutput { + return i.ToV2ChannelGroupMapOutputWithContext(context.Background()) +} + +func (i V2ChannelGroupMap) ToV2ChannelGroupMapOutputWithContext(ctx context.Context) V2ChannelGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(V2ChannelGroupMapOutput) +} + +type V2ChannelGroupOutput struct{ *pulumi.OutputState } + +func (V2ChannelGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**V2ChannelGroup)(nil)).Elem() +} + +func (o V2ChannelGroupOutput) ToV2ChannelGroupOutput() V2ChannelGroupOutput { + return o +} + +func (o V2ChannelGroupOutput) ToV2ChannelGroupOutputWithContext(ctx context.Context) V2ChannelGroupOutput { + return o +} + +// The ARN of the channel +func (o V2ChannelGroupOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *V2ChannelGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// A description of the channel group +func (o V2ChannelGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *V2ChannelGroup) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The egress domain of the channel group +func (o V2ChannelGroupOutput) EgressDomain() pulumi.StringOutput { + return o.ApplyT(func(v *V2ChannelGroup) pulumi.StringOutput { return v.EgressDomain }).(pulumi.StringOutput) +} + +// A unique identifier naming the channel group +func (o V2ChannelGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *V2ChannelGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o V2ChannelGroupOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *V2ChannelGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// +// Deprecated: Please use `tags` instead. +func (o V2ChannelGroupOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *V2ChannelGroup) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type V2ChannelGroupArrayOutput struct{ *pulumi.OutputState } + +func (V2ChannelGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*V2ChannelGroup)(nil)).Elem() +} + +func (o V2ChannelGroupArrayOutput) ToV2ChannelGroupArrayOutput() V2ChannelGroupArrayOutput { + return o +} + +func (o V2ChannelGroupArrayOutput) ToV2ChannelGroupArrayOutputWithContext(ctx context.Context) V2ChannelGroupArrayOutput { + return o +} + +func (o V2ChannelGroupArrayOutput) Index(i pulumi.IntInput) V2ChannelGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *V2ChannelGroup { + return vs[0].([]*V2ChannelGroup)[vs[1].(int)] + }).(V2ChannelGroupOutput) +} + +type V2ChannelGroupMapOutput struct{ *pulumi.OutputState } + +func (V2ChannelGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*V2ChannelGroup)(nil)).Elem() +} + +func (o V2ChannelGroupMapOutput) ToV2ChannelGroupMapOutput() V2ChannelGroupMapOutput { + return o +} + +func (o V2ChannelGroupMapOutput) ToV2ChannelGroupMapOutputWithContext(ctx context.Context) V2ChannelGroupMapOutput { + return o +} + +func (o V2ChannelGroupMapOutput) MapIndex(k pulumi.StringInput) V2ChannelGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *V2ChannelGroup { + return vs[0].(map[string]*V2ChannelGroup)[vs[1].(string)] + }).(V2ChannelGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*V2ChannelGroupInput)(nil)).Elem(), &V2ChannelGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*V2ChannelGroupArrayInput)(nil)).Elem(), V2ChannelGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*V2ChannelGroupMapInput)(nil)).Elem(), V2ChannelGroupMap{}) + pulumi.RegisterOutputType(V2ChannelGroupOutput{}) + pulumi.RegisterOutputType(V2ChannelGroupArrayOutput{}) + pulumi.RegisterOutputType(V2ChannelGroupMapOutput{}) +} diff --git a/sdk/go/aws/pulumiTypes.go b/sdk/go/aws/pulumiTypes.go index 64e842e2a9d..0939ea62981 100644 --- a/sdk/go/aws/pulumiTypes.go +++ b/sdk/go/aws/pulumiTypes.go @@ -980,6 +980,8 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL Internetmonitor *string `pulumi:"internetmonitor"` // Use this to override the default service endpoint URL + Invoicing *string `pulumi:"invoicing"` + // Use this to override the default service endpoint URL Iot *string `pulumi:"iot"` // Use this to override the default service endpoint URL Iotanalytics *string `pulumi:"iotanalytics"` @@ -1586,6 +1588,8 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL Internetmonitor pulumi.StringPtrInput `pulumi:"internetmonitor"` // Use this to override the default service endpoint URL + Invoicing pulumi.StringPtrInput `pulumi:"invoicing"` + // Use this to override the default service endpoint URL Iot pulumi.StringPtrInput `pulumi:"iot"` // Use this to override the default service endpoint URL Iotanalytics pulumi.StringPtrInput `pulumi:"iotanalytics"` @@ -2674,6 +2678,11 @@ func (o ProviderEndpointOutput) Internetmonitor() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Internetmonitor }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) Invoicing() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Invoicing }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) Iot() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Iot }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/route53/healthCheck.go b/sdk/go/aws/route53/healthCheck.go index d9c8932edd2..300831edd3e 100644 --- a/sdk/go/aws/route53/healthCheck.go +++ b/sdk/go/aws/route53/healthCheck.go @@ -159,6 +159,56 @@ import ( // // ``` // +// ### CloudWatch Alarm Check With Triggers +// +// The `triggers` argument allows the Route53 health check to be synchronized when a change to the upstream CloudWatch alarm is made. +// In the configuration below, the health check will be synchronized any time the `threshold` of the alarm is changed. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := cloudwatch.NewMetricAlarm(ctx, "example", &cloudwatch.MetricAlarmArgs{ +// Name: pulumi.String("example"), +// ComparisonOperator: pulumi.String("GreaterThanOrEqualToThreshold"), +// EvaluationPeriods: pulumi.Int(2), +// MetricName: pulumi.String("CPUUtilization"), +// Namespace: pulumi.String("AWS/EC2"), +// Period: pulumi.Int(120), +// Statistic: pulumi.String("Average"), +// Threshold: pulumi.Float64(80), +// AlarmDescription: pulumi.String("This metric monitors ec2 cpu utilization"), +// }) +// if err != nil { +// return err +// } +// _, err = route53.NewHealthCheck(ctx, "example", &route53.HealthCheckArgs{ +// Type: pulumi.String("CLOUDWATCH_METRIC"), +// CloudwatchAlarmName: example.Name, +// CloudwatchAlarmRegion: pulumi.String("us-west-2"), +// InsufficientDataHealthStatus: pulumi.String("Healthy"), +// Triggers: pulumi.StringMap{ +// "threshold": example.Threshold, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import Route53 Health Checks using the health check `id`. For example: @@ -177,10 +227,10 @@ type HealthCheck struct { ChildHealthchecks pulumi.StringArrayOutput `pulumi:"childHealthchecks"` // The name of the CloudWatch alarm. CloudwatchAlarmName pulumi.StringPtrOutput `pulumi:"cloudwatchAlarmName"` - // The CloudWatchRegion that the CloudWatch alarm was created in. + // The region that the CloudWatch alarm was created in. CloudwatchAlarmRegion pulumi.StringPtrOutput `pulumi:"cloudwatchAlarmRegion"` // A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - // * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + // * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. // * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. // * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. // @@ -221,6 +271,8 @@ type HealthCheck struct { // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + Triggers pulumi.StringMapOutput `pulumi:"triggers"` // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. Type pulumi.StringOutput `pulumi:"type"` } @@ -266,10 +318,10 @@ type healthCheckState struct { ChildHealthchecks []string `pulumi:"childHealthchecks"` // The name of the CloudWatch alarm. CloudwatchAlarmName *string `pulumi:"cloudwatchAlarmName"` - // The CloudWatchRegion that the CloudWatch alarm was created in. + // The region that the CloudWatch alarm was created in. CloudwatchAlarmRegion *string `pulumi:"cloudwatchAlarmRegion"` // A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - // * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + // * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. // * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. // * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. // @@ -310,6 +362,8 @@ type healthCheckState struct { // // Deprecated: Please use `tags` instead. TagsAll map[string]string `pulumi:"tagsAll"` + // Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + Triggers map[string]string `pulumi:"triggers"` // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. Type *string `pulumi:"type"` } @@ -323,10 +377,10 @@ type HealthCheckState struct { ChildHealthchecks pulumi.StringArrayInput // The name of the CloudWatch alarm. CloudwatchAlarmName pulumi.StringPtrInput - // The CloudWatchRegion that the CloudWatch alarm was created in. + // The region that the CloudWatch alarm was created in. CloudwatchAlarmRegion pulumi.StringPtrInput // A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - // * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + // * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. // * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. // * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. // @@ -367,6 +421,8 @@ type HealthCheckState struct { // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput + // Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + Triggers pulumi.StringMapInput // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. Type pulumi.StringPtrInput } @@ -382,10 +438,10 @@ type healthCheckArgs struct { ChildHealthchecks []string `pulumi:"childHealthchecks"` // The name of the CloudWatch alarm. CloudwatchAlarmName *string `pulumi:"cloudwatchAlarmName"` - // The CloudWatchRegion that the CloudWatch alarm was created in. + // The region that the CloudWatch alarm was created in. CloudwatchAlarmRegion *string `pulumi:"cloudwatchAlarmRegion"` // A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - // * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + // * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. // * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. // * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. // @@ -422,6 +478,8 @@ type healthCheckArgs struct { SearchString *string `pulumi:"searchString"` // A map of tags to assign to the health check. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + Triggers map[string]string `pulumi:"triggers"` // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. Type string `pulumi:"type"` } @@ -434,10 +492,10 @@ type HealthCheckArgs struct { ChildHealthchecks pulumi.StringArrayInput // The name of the CloudWatch alarm. CloudwatchAlarmName pulumi.StringPtrInput - // The CloudWatchRegion that the CloudWatch alarm was created in. + // The region that the CloudWatch alarm was created in. CloudwatchAlarmRegion pulumi.StringPtrInput // A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - // * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + // * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. // * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. // * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. // @@ -474,6 +532,8 @@ type HealthCheckArgs struct { SearchString pulumi.StringPtrInput // A map of tags to assign to the health check. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + Triggers pulumi.StringMapInput // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. Type pulumi.StringInput } @@ -585,13 +645,13 @@ func (o HealthCheckOutput) CloudwatchAlarmName() pulumi.StringPtrOutput { return o.ApplyT(func(v *HealthCheck) pulumi.StringPtrOutput { return v.CloudwatchAlarmName }).(pulumi.StringPtrOutput) } -// The CloudWatchRegion that the CloudWatch alarm was created in. +// The region that the CloudWatch alarm was created in. func (o HealthCheckOutput) CloudwatchAlarmRegion() pulumi.StringPtrOutput { return o.ApplyT(func(v *HealthCheck) pulumi.StringPtrOutput { return v.CloudwatchAlarmRegion }).(pulumi.StringPtrOutput) } // A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: -// * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. +// * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. // * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. // * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. // @@ -683,6 +743,11 @@ func (o HealthCheckOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *HealthCheck) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } +// Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. +func (o HealthCheckOutput) Triggers() pulumi.StringMapOutput { + return o.ApplyT(func(v *HealthCheck) pulumi.StringMapOutput { return v.Triggers }).(pulumi.StringMapOutput) +} + // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. func (o HealthCheckOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v *HealthCheck) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java index 2506c95782f..b0017c0ac1e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java @@ -13,6 +13,7 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -596,6 +597,272 @@ public Output> port() { public Output protocol() { return this.protocol; } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznTlsCipherSuiteHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznTlsCipherSuiteHeaderName() { + return this.routingHttpRequestXAmznTlsCipherSuiteHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznTlsVersionHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznTlsVersionHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznTlsVersionHeaderName() { + return this.routingHttpRequestXAmznTlsVersionHeaderName; + } + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + @Export(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowCredentialsHeaderValue; + + /** + * @return Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + public Output routingHttpResponseAccessControlAllowCredentialsHeaderValue() { + return this.routingHttpResponseAccessControlAllowCredentialsHeaderValue; + } + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + @Export(name="routingHttpResponseAccessControlAllowHeadersHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowHeadersHeaderValue; + + /** + * @return Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + public Output routingHttpResponseAccessControlAllowHeadersHeaderValue() { + return this.routingHttpResponseAccessControlAllowHeadersHeaderValue; + } + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + @Export(name="routingHttpResponseAccessControlAllowMethodsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowMethodsHeaderValue; + + /** + * @return Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + public Output routingHttpResponseAccessControlAllowMethodsHeaderValue() { + return this.routingHttpResponseAccessControlAllowMethodsHeaderValue; + } + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + @Export(name="routingHttpResponseAccessControlAllowOriginHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowOriginHeaderValue; + + /** + * @return Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + public Output routingHttpResponseAccessControlAllowOriginHeaderValue() { + return this.routingHttpResponseAccessControlAllowOriginHeaderValue; + } + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + @Export(name="routingHttpResponseAccessControlExposeHeadersHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlExposeHeadersHeaderValue; + + /** + * @return Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + public Output routingHttpResponseAccessControlExposeHeadersHeaderValue() { + return this.routingHttpResponseAccessControlExposeHeadersHeaderValue; + } + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + @Export(name="routingHttpResponseAccessControlMaxAgeHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlMaxAgeHeaderValue; + + /** + * @return Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + public Output routingHttpResponseAccessControlMaxAgeHeaderValue() { + return this.routingHttpResponseAccessControlMaxAgeHeaderValue; + } + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + @Export(name="routingHttpResponseContentSecurityPolicyHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseContentSecurityPolicyHeaderValue; + + /** + * @return Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + public Output routingHttpResponseContentSecurityPolicyHeaderValue() { + return this.routingHttpResponseContentSecurityPolicyHeaderValue; + } + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + @Export(name="routingHttpResponseServerEnabled", refs={Boolean.class}, tree="[0]") + private Output routingHttpResponseServerEnabled; + + /** + * @return Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + public Output routingHttpResponseServerEnabled() { + return this.routingHttpResponseServerEnabled; + } + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + @Export(name="routingHttpResponseStrictTransportSecurityHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseStrictTransportSecurityHeaderValue; + + /** + * @return Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + public Output routingHttpResponseStrictTransportSecurityHeaderValue() { + return this.routingHttpResponseStrictTransportSecurityHeaderValue; + } + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + @Export(name="routingHttpResponseXContentTypeOptionsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseXContentTypeOptionsHeaderValue; + + /** + * @return Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + public Output routingHttpResponseXContentTypeOptionsHeaderValue() { + return this.routingHttpResponseXContentTypeOptionsHeaderValue; + } + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + @Export(name="routingHttpResponseXFrameOptionsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseXFrameOptionsHeaderValue; + + /** + * @return Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + public Output routingHttpResponseXFrameOptionsHeaderValue() { + return this.routingHttpResponseXFrameOptionsHeaderValue; + } /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java index 1f2573dcf9c..6255a3a652c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java @@ -8,6 +8,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -130,6 +131,291 @@ public Optional> protocol() { return Optional.ofNullable(this.protocol); } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertIssuerHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertLeafHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSubjectHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertValidityHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsCipherSuiteHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsCipherSuiteHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsVersionHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsVersionHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsVersionHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsVersionHeaderName); + } + + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue; + + /** + * @return Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + public Optional> routingHttpResponseAccessControlAllowCredentialsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowCredentialsHeaderValue); + } + + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue; + + /** + * @return Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlAllowHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowHeadersHeaderValue); + } + + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue; + + /** + * @return Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + public Optional> routingHttpResponseAccessControlAllowMethodsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowMethodsHeaderValue); + } + + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue; + + /** + * @return Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + public Optional> routingHttpResponseAccessControlAllowOriginHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowOriginHeaderValue); + } + + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue; + + /** + * @return Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlExposeHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlExposeHeadersHeaderValue); + } + + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + @Import(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + private @Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue; + + /** + * @return Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + public Optional> routingHttpResponseAccessControlMaxAgeHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlMaxAgeHeaderValue); + } + + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + @Import(name="routingHttpResponseContentSecurityPolicyHeaderValue") + private @Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue; + + /** + * @return Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + public Optional> routingHttpResponseContentSecurityPolicyHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseContentSecurityPolicyHeaderValue); + } + + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + @Import(name="routingHttpResponseServerEnabled") + private @Nullable Output routingHttpResponseServerEnabled; + + /** + * @return Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + public Optional> routingHttpResponseServerEnabled() { + return Optional.ofNullable(this.routingHttpResponseServerEnabled); + } + + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + @Import(name="routingHttpResponseStrictTransportSecurityHeaderValue") + private @Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue; + + /** + * @return Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + public Optional> routingHttpResponseStrictTransportSecurityHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseStrictTransportSecurityHeaderValue); + } + + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + @Import(name="routingHttpResponseXContentTypeOptionsHeaderValue") + private @Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue; + + /** + * @return Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + public Optional> routingHttpResponseXContentTypeOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXContentTypeOptionsHeaderValue); + } + + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + @Import(name="routingHttpResponseXFrameOptionsHeaderValue") + private @Nullable Output routingHttpResponseXFrameOptionsHeaderValue; + + /** + * @return Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + public Optional> routingHttpResponseXFrameOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXFrameOptionsHeaderValue); + } + /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * @@ -189,6 +475,25 @@ private ListenerArgs(ListenerArgs $) { this.mutualAuthentication = $.mutualAuthentication; this.port = $.port; this.protocol = $.protocol; + this.routingHttpRequestXAmznMtlsClientcertHeaderName = $.routingHttpRequestXAmznMtlsClientcertHeaderName; + this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + this.routingHttpRequestXAmznTlsCipherSuiteHeaderName = $.routingHttpRequestXAmznTlsCipherSuiteHeaderName; + this.routingHttpRequestXAmznTlsVersionHeaderName = $.routingHttpRequestXAmznTlsVersionHeaderName; + this.routingHttpResponseAccessControlAllowCredentialsHeaderValue = $.routingHttpResponseAccessControlAllowCredentialsHeaderValue; + this.routingHttpResponseAccessControlAllowHeadersHeaderValue = $.routingHttpResponseAccessControlAllowHeadersHeaderValue; + this.routingHttpResponseAccessControlAllowMethodsHeaderValue = $.routingHttpResponseAccessControlAllowMethodsHeaderValue; + this.routingHttpResponseAccessControlAllowOriginHeaderValue = $.routingHttpResponseAccessControlAllowOriginHeaderValue; + this.routingHttpResponseAccessControlExposeHeadersHeaderValue = $.routingHttpResponseAccessControlExposeHeadersHeaderValue; + this.routingHttpResponseAccessControlMaxAgeHeaderValue = $.routingHttpResponseAccessControlMaxAgeHeaderValue; + this.routingHttpResponseContentSecurityPolicyHeaderValue = $.routingHttpResponseContentSecurityPolicyHeaderValue; + this.routingHttpResponseServerEnabled = $.routingHttpResponseServerEnabled; + this.routingHttpResponseStrictTransportSecurityHeaderValue = $.routingHttpResponseStrictTransportSecurityHeaderValue; + this.routingHttpResponseXContentTypeOptionsHeaderValue = $.routingHttpResponseXContentTypeOptionsHeaderValue; + this.routingHttpResponseXFrameOptionsHeaderValue = $.routingHttpResponseXFrameOptionsHeaderValue; this.sslPolicy = $.sslPolicy; this.tags = $.tags; this.tcpIdleTimeoutSeconds = $.tcpIdleTimeoutSeconds; @@ -373,6 +678,405 @@ public Builder protocol(String protocol) { return protocol(Output.of(protocol)); } + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertHeaderName = routingHttpRequestXAmznMtlsClientcertHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(String routingHttpRequestXAmznMtlsClientcertHeaderName) { + return routingHttpRequestXAmznMtlsClientcertHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(String routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + return routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertIssuerHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(String routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + return routingHttpRequestXAmznMtlsClientcertLeafHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertLeafHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(String routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(String routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSubjectHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(String routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + return routingHttpRequestXAmznMtlsClientcertValidityHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertValidityHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(@Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + $.routingHttpRequestXAmznTlsCipherSuiteHeaderName = routingHttpRequestXAmznTlsCipherSuiteHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(String routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + return routingHttpRequestXAmznTlsCipherSuiteHeaderName(Output.of(routingHttpRequestXAmznTlsCipherSuiteHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(@Nullable Output routingHttpRequestXAmznTlsVersionHeaderName) { + $.routingHttpRequestXAmznTlsVersionHeaderName = routingHttpRequestXAmznTlsVersionHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(String routingHttpRequestXAmznTlsVersionHeaderName) { + return routingHttpRequestXAmznTlsVersionHeaderName(Output.of(routingHttpRequestXAmznTlsVersionHeaderName)); + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + $.routingHttpResponseAccessControlAllowCredentialsHeaderValue = routingHttpResponseAccessControlAllowCredentialsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(String routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + return routingHttpResponseAccessControlAllowCredentialsHeaderValue(Output.of(routingHttpResponseAccessControlAllowCredentialsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue) { + $.routingHttpResponseAccessControlAllowHeadersHeaderValue = routingHttpResponseAccessControlAllowHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(String routingHttpResponseAccessControlAllowHeadersHeaderValue) { + return routingHttpResponseAccessControlAllowHeadersHeaderValue(Output.of(routingHttpResponseAccessControlAllowHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue) { + $.routingHttpResponseAccessControlAllowMethodsHeaderValue = routingHttpResponseAccessControlAllowMethodsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(String routingHttpResponseAccessControlAllowMethodsHeaderValue) { + return routingHttpResponseAccessControlAllowMethodsHeaderValue(Output.of(routingHttpResponseAccessControlAllowMethodsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue) { + $.routingHttpResponseAccessControlAllowOriginHeaderValue = routingHttpResponseAccessControlAllowOriginHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(String routingHttpResponseAccessControlAllowOriginHeaderValue) { + return routingHttpResponseAccessControlAllowOriginHeaderValue(Output.of(routingHttpResponseAccessControlAllowOriginHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue) { + $.routingHttpResponseAccessControlExposeHeadersHeaderValue = routingHttpResponseAccessControlExposeHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(String routingHttpResponseAccessControlExposeHeadersHeaderValue) { + return routingHttpResponseAccessControlExposeHeadersHeaderValue(Output.of(routingHttpResponseAccessControlExposeHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(@Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue) { + $.routingHttpResponseAccessControlMaxAgeHeaderValue = routingHttpResponseAccessControlMaxAgeHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(String routingHttpResponseAccessControlMaxAgeHeaderValue) { + return routingHttpResponseAccessControlMaxAgeHeaderValue(Output.of(routingHttpResponseAccessControlMaxAgeHeaderValue)); + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(@Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue) { + $.routingHttpResponseContentSecurityPolicyHeaderValue = routingHttpResponseContentSecurityPolicyHeaderValue; + return this; + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(String routingHttpResponseContentSecurityPolicyHeaderValue) { + return routingHttpResponseContentSecurityPolicyHeaderValue(Output.of(routingHttpResponseContentSecurityPolicyHeaderValue)); + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(@Nullable Output routingHttpResponseServerEnabled) { + $.routingHttpResponseServerEnabled = routingHttpResponseServerEnabled; + return this; + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(Boolean routingHttpResponseServerEnabled) { + return routingHttpResponseServerEnabled(Output.of(routingHttpResponseServerEnabled)); + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(@Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue) { + $.routingHttpResponseStrictTransportSecurityHeaderValue = routingHttpResponseStrictTransportSecurityHeaderValue; + return this; + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(String routingHttpResponseStrictTransportSecurityHeaderValue) { + return routingHttpResponseStrictTransportSecurityHeaderValue(Output.of(routingHttpResponseStrictTransportSecurityHeaderValue)); + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(@Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue) { + $.routingHttpResponseXContentTypeOptionsHeaderValue = routingHttpResponseXContentTypeOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(String routingHttpResponseXContentTypeOptionsHeaderValue) { + return routingHttpResponseXContentTypeOptionsHeaderValue(Output.of(routingHttpResponseXContentTypeOptionsHeaderValue)); + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(@Nullable Output routingHttpResponseXFrameOptionsHeaderValue) { + $.routingHttpResponseXFrameOptionsHeaderValue = routingHttpResponseXFrameOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(String routingHttpResponseXFrameOptionsHeaderValue) { + return routingHttpResponseXFrameOptionsHeaderValue(Output.of(routingHttpResponseXFrameOptionsHeaderValue)); + } + /** * @param sslPolicy Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java index c9567cd7d85..7eb654498c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java @@ -7,6 +7,7 @@ import com.pulumi.aws.alb.inputs.ListenerMutualAuthenticationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -144,6 +145,291 @@ public Optional> protocol() { return Optional.ofNullable(this.protocol); } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertIssuerHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertLeafHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSubjectHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertValidityHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsCipherSuiteHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsCipherSuiteHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsVersionHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsVersionHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsVersionHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsVersionHeaderName); + } + + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue; + + /** + * @return Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + public Optional> routingHttpResponseAccessControlAllowCredentialsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowCredentialsHeaderValue); + } + + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue; + + /** + * @return Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlAllowHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowHeadersHeaderValue); + } + + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue; + + /** + * @return Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + public Optional> routingHttpResponseAccessControlAllowMethodsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowMethodsHeaderValue); + } + + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue; + + /** + * @return Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + public Optional> routingHttpResponseAccessControlAllowOriginHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowOriginHeaderValue); + } + + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue; + + /** + * @return Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlExposeHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlExposeHeadersHeaderValue); + } + + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + @Import(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + private @Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue; + + /** + * @return Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + public Optional> routingHttpResponseAccessControlMaxAgeHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlMaxAgeHeaderValue); + } + + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + @Import(name="routingHttpResponseContentSecurityPolicyHeaderValue") + private @Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue; + + /** + * @return Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + public Optional> routingHttpResponseContentSecurityPolicyHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseContentSecurityPolicyHeaderValue); + } + + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + @Import(name="routingHttpResponseServerEnabled") + private @Nullable Output routingHttpResponseServerEnabled; + + /** + * @return Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + public Optional> routingHttpResponseServerEnabled() { + return Optional.ofNullable(this.routingHttpResponseServerEnabled); + } + + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + @Import(name="routingHttpResponseStrictTransportSecurityHeaderValue") + private @Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue; + + /** + * @return Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + public Optional> routingHttpResponseStrictTransportSecurityHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseStrictTransportSecurityHeaderValue); + } + + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + @Import(name="routingHttpResponseXContentTypeOptionsHeaderValue") + private @Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue; + + /** + * @return Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + public Optional> routingHttpResponseXContentTypeOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXContentTypeOptionsHeaderValue); + } + + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + @Import(name="routingHttpResponseXFrameOptionsHeaderValue") + private @Nullable Output routingHttpResponseXFrameOptionsHeaderValue; + + /** + * @return Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + public Optional> routingHttpResponseXFrameOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXFrameOptionsHeaderValue); + } + /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * @@ -227,6 +513,25 @@ private ListenerState(ListenerState $) { this.mutualAuthentication = $.mutualAuthentication; this.port = $.port; this.protocol = $.protocol; + this.routingHttpRequestXAmznMtlsClientcertHeaderName = $.routingHttpRequestXAmznMtlsClientcertHeaderName; + this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + this.routingHttpRequestXAmznTlsCipherSuiteHeaderName = $.routingHttpRequestXAmznTlsCipherSuiteHeaderName; + this.routingHttpRequestXAmznTlsVersionHeaderName = $.routingHttpRequestXAmznTlsVersionHeaderName; + this.routingHttpResponseAccessControlAllowCredentialsHeaderValue = $.routingHttpResponseAccessControlAllowCredentialsHeaderValue; + this.routingHttpResponseAccessControlAllowHeadersHeaderValue = $.routingHttpResponseAccessControlAllowHeadersHeaderValue; + this.routingHttpResponseAccessControlAllowMethodsHeaderValue = $.routingHttpResponseAccessControlAllowMethodsHeaderValue; + this.routingHttpResponseAccessControlAllowOriginHeaderValue = $.routingHttpResponseAccessControlAllowOriginHeaderValue; + this.routingHttpResponseAccessControlExposeHeadersHeaderValue = $.routingHttpResponseAccessControlExposeHeadersHeaderValue; + this.routingHttpResponseAccessControlMaxAgeHeaderValue = $.routingHttpResponseAccessControlMaxAgeHeaderValue; + this.routingHttpResponseContentSecurityPolicyHeaderValue = $.routingHttpResponseContentSecurityPolicyHeaderValue; + this.routingHttpResponseServerEnabled = $.routingHttpResponseServerEnabled; + this.routingHttpResponseStrictTransportSecurityHeaderValue = $.routingHttpResponseStrictTransportSecurityHeaderValue; + this.routingHttpResponseXContentTypeOptionsHeaderValue = $.routingHttpResponseXContentTypeOptionsHeaderValue; + this.routingHttpResponseXFrameOptionsHeaderValue = $.routingHttpResponseXFrameOptionsHeaderValue; this.sslPolicy = $.sslPolicy; this.tags = $.tags; this.tagsAll = $.tagsAll; @@ -433,6 +738,405 @@ public Builder protocol(String protocol) { return protocol(Output.of(protocol)); } + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertHeaderName = routingHttpRequestXAmznMtlsClientcertHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(String routingHttpRequestXAmznMtlsClientcertHeaderName) { + return routingHttpRequestXAmznMtlsClientcertHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(String routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + return routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertIssuerHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(String routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + return routingHttpRequestXAmznMtlsClientcertLeafHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertLeafHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(String routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(String routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSubjectHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(String routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + return routingHttpRequestXAmznMtlsClientcertValidityHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertValidityHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(@Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + $.routingHttpRequestXAmznTlsCipherSuiteHeaderName = routingHttpRequestXAmznTlsCipherSuiteHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(String routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + return routingHttpRequestXAmznTlsCipherSuiteHeaderName(Output.of(routingHttpRequestXAmznTlsCipherSuiteHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(@Nullable Output routingHttpRequestXAmznTlsVersionHeaderName) { + $.routingHttpRequestXAmznTlsVersionHeaderName = routingHttpRequestXAmznTlsVersionHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(String routingHttpRequestXAmznTlsVersionHeaderName) { + return routingHttpRequestXAmznTlsVersionHeaderName(Output.of(routingHttpRequestXAmznTlsVersionHeaderName)); + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + $.routingHttpResponseAccessControlAllowCredentialsHeaderValue = routingHttpResponseAccessControlAllowCredentialsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(String routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + return routingHttpResponseAccessControlAllowCredentialsHeaderValue(Output.of(routingHttpResponseAccessControlAllowCredentialsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue) { + $.routingHttpResponseAccessControlAllowHeadersHeaderValue = routingHttpResponseAccessControlAllowHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(String routingHttpResponseAccessControlAllowHeadersHeaderValue) { + return routingHttpResponseAccessControlAllowHeadersHeaderValue(Output.of(routingHttpResponseAccessControlAllowHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue) { + $.routingHttpResponseAccessControlAllowMethodsHeaderValue = routingHttpResponseAccessControlAllowMethodsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(String routingHttpResponseAccessControlAllowMethodsHeaderValue) { + return routingHttpResponseAccessControlAllowMethodsHeaderValue(Output.of(routingHttpResponseAccessControlAllowMethodsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue) { + $.routingHttpResponseAccessControlAllowOriginHeaderValue = routingHttpResponseAccessControlAllowOriginHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(String routingHttpResponseAccessControlAllowOriginHeaderValue) { + return routingHttpResponseAccessControlAllowOriginHeaderValue(Output.of(routingHttpResponseAccessControlAllowOriginHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue) { + $.routingHttpResponseAccessControlExposeHeadersHeaderValue = routingHttpResponseAccessControlExposeHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(String routingHttpResponseAccessControlExposeHeadersHeaderValue) { + return routingHttpResponseAccessControlExposeHeadersHeaderValue(Output.of(routingHttpResponseAccessControlExposeHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(@Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue) { + $.routingHttpResponseAccessControlMaxAgeHeaderValue = routingHttpResponseAccessControlMaxAgeHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(String routingHttpResponseAccessControlMaxAgeHeaderValue) { + return routingHttpResponseAccessControlMaxAgeHeaderValue(Output.of(routingHttpResponseAccessControlMaxAgeHeaderValue)); + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(@Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue) { + $.routingHttpResponseContentSecurityPolicyHeaderValue = routingHttpResponseContentSecurityPolicyHeaderValue; + return this; + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(String routingHttpResponseContentSecurityPolicyHeaderValue) { + return routingHttpResponseContentSecurityPolicyHeaderValue(Output.of(routingHttpResponseContentSecurityPolicyHeaderValue)); + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(@Nullable Output routingHttpResponseServerEnabled) { + $.routingHttpResponseServerEnabled = routingHttpResponseServerEnabled; + return this; + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(Boolean routingHttpResponseServerEnabled) { + return routingHttpResponseServerEnabled(Output.of(routingHttpResponseServerEnabled)); + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(@Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue) { + $.routingHttpResponseStrictTransportSecurityHeaderValue = routingHttpResponseStrictTransportSecurityHeaderValue; + return this; + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(String routingHttpResponseStrictTransportSecurityHeaderValue) { + return routingHttpResponseStrictTransportSecurityHeaderValue(Output.of(routingHttpResponseStrictTransportSecurityHeaderValue)); + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(@Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue) { + $.routingHttpResponseXContentTypeOptionsHeaderValue = routingHttpResponseXContentTypeOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(String routingHttpResponseXContentTypeOptionsHeaderValue) { + return routingHttpResponseXContentTypeOptionsHeaderValue(Output.of(routingHttpResponseXContentTypeOptionsHeaderValue)); + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(@Nullable Output routingHttpResponseXFrameOptionsHeaderValue) { + $.routingHttpResponseXFrameOptionsHeaderValue = routingHttpResponseXFrameOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(String routingHttpResponseXFrameOptionsHeaderValue) { + return routingHttpResponseXFrameOptionsHeaderValue(Output.of(routingHttpResponseXFrameOptionsHeaderValue)); + } + /** * @param sslPolicy Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java b/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java index 05a724bd848..0da45e8063c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java +++ b/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java @@ -751,6 +751,11 @@ public final class Endpoints { * */ private @Nullable String internetmonitor; + /** + * @return Use this to override the default service endpoint URL + * + */ + private @Nullable String invoicing; /** * @return Use this to override the default service endpoint URL * @@ -2529,6 +2534,13 @@ public Optional inspectorv2() { public Optional internetmonitor() { return Optional.ofNullable(this.internetmonitor); } + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional invoicing() { + return Optional.ofNullable(this.invoicing); + } /** * @return Use this to override the default service endpoint URL * @@ -3723,6 +3735,7 @@ public static final class Builder { private @Nullable String inspector2; private @Nullable String inspectorv2; private @Nullable String internetmonitor; + private @Nullable String invoicing; private @Nullable String iot; private @Nullable String iotanalytics; private @Nullable String iotevents; @@ -4022,6 +4035,7 @@ public Builder(Endpoints defaults) { this.inspector2 = defaults.inspector2; this.inspectorv2 = defaults.inspectorv2; this.internetmonitor = defaults.internetmonitor; + this.invoicing = defaults.invoicing; this.iot = defaults.iot; this.iotanalytics = defaults.iotanalytics; this.iotevents = defaults.iotevents; @@ -5061,6 +5075,12 @@ public Builder internetmonitor(@Nullable String internetmonitor) { return this; } @CustomType.Setter + public Builder invoicing(@Nullable String invoicing) { + + this.invoicing = invoicing; + return this; + } + @CustomType.Setter public Builder iot(@Nullable String iot) { this.iot = iot; @@ -6098,6 +6118,7 @@ public Endpoints build() { _resultValue.inspector2 = inspector2; _resultValue.inspectorv2 = inspectorv2; _resultValue.internetmonitor = internetmonitor; + _resultValue.invoicing = invoicing; _resultValue.iot = iot; _resultValue.iotanalytics = iotanalytics; _resultValue.iotevents = iotevents; diff --git a/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java b/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java index ce931ef8d0b..c36f4e9982b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dataexchange/DataSet.java @@ -57,10 +57,10 @@ * * ## Import * - * Using `pulumi import`, import DataExchange DataSets using their ARN. For example: + * Using `pulumi import`, import DataExchange DataSets using their `id`. For example: * * ```sh - * $ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1 + * $ pulumi import aws:dataexchange/dataSet:DataSet example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1 * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java index 5d400bdcbc8..024af19a7ef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/S3Location.java @@ -22,6 +22,8 @@ * * ## Example Usage * + * ### Basic Usage + * * <!--Start PulumiCodeChooser --> *
  * {@code
@@ -60,6 +62,48 @@
  * 
* <!--End PulumiCodeChooser --> * + * ### S3 Bucket on AWS Outposts + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.datasync.S3Location;
+ * import com.pulumi.aws.datasync.S3LocationArgs;
+ * import com.pulumi.aws.datasync.inputs.S3LocationS3ConfigArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var destination = new S3Location("destination", S3LocationArgs.builder()
+ *             .agentArns(exampleAwsDatasyncAgent.arn())
+ *             .s3BucketArn(exampleAwsS3AccessPoint.arn())
+ *             .s3StorageClass("OUTPOSTS")
+ *             .subdirectory("/example/prefix")
+ *             .s3Config(S3LocationS3ConfigArgs.builder()
+ *                 .bucketAccessRoleArn(example.arn())
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * * ## Import * * Using `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example: @@ -72,14 +116,14 @@ @ResourceType(type="aws:datasync/s3Location:S3Location") public class S3Location extends com.pulumi.resources.CustomResource { /** - * A list of DataSync Agent ARNs with which this location will be associated. + * (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * */ @Export(name="agentArns", refs={List.class,String.class}, tree="[0,1]") private Output> agentArns; /** - * @return A list of DataSync Agent ARNs with which this location will be associated. + * @return (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * */ public Output>> agentArns() { @@ -100,14 +144,14 @@ public Output arn() { return this.arn; } /** - * Amazon Resource Name (ARN) of the S3 Bucket. + * Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * */ @Export(name="s3BucketArn", refs={String.class}, tree="[0]") private Output s3BucketArn; /** - * @return Amazon Resource Name (ARN) of the S3 Bucket. + * @return Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * */ public Output s3BucketArn() { @@ -128,14 +172,14 @@ public Output s3Config() { return this.s3Config; } /** - * The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * */ @Export(name="s3StorageClass", refs={String.class}, tree="[0]") private Output s3StorageClass; /** - * @return The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * @return Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * */ public Output s3StorageClass() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/S3LocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/S3LocationArgs.java index aac27b80dbc..550d1285076 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/S3LocationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/S3LocationArgs.java @@ -20,14 +20,14 @@ public final class S3LocationArgs extends com.pulumi.resources.ResourceArgs { public static final S3LocationArgs Empty = new S3LocationArgs(); /** - * A list of DataSync Agent ARNs with which this location will be associated. + * (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * */ @Import(name="agentArns") private @Nullable Output> agentArns; /** - * @return A list of DataSync Agent ARNs with which this location will be associated. + * @return (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * */ public Optional>> agentArns() { @@ -35,14 +35,14 @@ public Optional>> agentArns() { } /** - * Amazon Resource Name (ARN) of the S3 Bucket. + * Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * */ @Import(name="s3BucketArn", required=true) private Output s3BucketArn; /** - * @return Amazon Resource Name (ARN) of the S3 Bucket. + * @return Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * */ public Output s3BucketArn() { @@ -65,14 +65,14 @@ public Output s3Config() { } /** - * The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * */ @Import(name="s3StorageClass") private @Nullable Output s3StorageClass; /** - * @return The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * @return Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * */ public Optional> s3StorageClass() { @@ -139,7 +139,7 @@ public Builder(S3LocationArgs defaults) { } /** - * @param agentArns A list of DataSync Agent ARNs with which this location will be associated. + * @param agentArns (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * * @return builder * @@ -150,7 +150,7 @@ public Builder agentArns(@Nullable Output> agentArns) { } /** - * @param agentArns A list of DataSync Agent ARNs with which this location will be associated. + * @param agentArns (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * * @return builder * @@ -160,7 +160,7 @@ public Builder agentArns(List agentArns) { } /** - * @param agentArns A list of DataSync Agent ARNs with which this location will be associated. + * @param agentArns (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * * @return builder * @@ -170,7 +170,7 @@ public Builder agentArns(String... agentArns) { } /** - * @param s3BucketArn Amazon Resource Name (ARN) of the S3 Bucket. + * @param s3BucketArn Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * * @return builder * @@ -181,7 +181,7 @@ public Builder s3BucketArn(Output s3BucketArn) { } /** - * @param s3BucketArn Amazon Resource Name (ARN) of the S3 Bucket. + * @param s3BucketArn Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * * @return builder * @@ -212,7 +212,7 @@ public Builder s3Config(S3LocationS3ConfigArgs s3Config) { } /** - * @param s3StorageClass The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * @param s3StorageClass Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * * @return builder * @@ -223,7 +223,7 @@ public Builder s3StorageClass(@Nullable Output s3StorageClass) { } /** - * @param s3StorageClass The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * @param s3StorageClass Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/datasync/inputs/S3LocationState.java b/sdk/java/src/main/java/com/pulumi/aws/datasync/inputs/S3LocationState.java index 954528282a3..9567fb7bec4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datasync/inputs/S3LocationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datasync/inputs/S3LocationState.java @@ -19,14 +19,14 @@ public final class S3LocationState extends com.pulumi.resources.ResourceArgs { public static final S3LocationState Empty = new S3LocationState(); /** - * A list of DataSync Agent ARNs with which this location will be associated. + * (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * */ @Import(name="agentArns") private @Nullable Output> agentArns; /** - * @return A list of DataSync Agent ARNs with which this location will be associated. + * @return (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * */ public Optional>> agentArns() { @@ -49,14 +49,14 @@ public Optional> arn() { } /** - * Amazon Resource Name (ARN) of the S3 Bucket. + * Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * */ @Import(name="s3BucketArn") private @Nullable Output s3BucketArn; /** - * @return Amazon Resource Name (ARN) of the S3 Bucket. + * @return Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * */ public Optional> s3BucketArn() { @@ -79,14 +79,14 @@ public Optional> s3Config() { } /** - * The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * */ @Import(name="s3StorageClass") private @Nullable Output s3StorageClass; /** - * @return The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * @return Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * */ public Optional> s3StorageClass() { @@ -186,7 +186,7 @@ public Builder(S3LocationState defaults) { } /** - * @param agentArns A list of DataSync Agent ARNs with which this location will be associated. + * @param agentArns (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * * @return builder * @@ -197,7 +197,7 @@ public Builder agentArns(@Nullable Output> agentArns) { } /** - * @param agentArns A list of DataSync Agent ARNs with which this location will be associated. + * @param agentArns (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * * @return builder * @@ -207,7 +207,7 @@ public Builder agentArns(List agentArns) { } /** - * @param agentArns A list of DataSync Agent ARNs with which this location will be associated. + * @param agentArns (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. * * @return builder * @@ -238,7 +238,7 @@ public Builder arn(String arn) { } /** - * @param s3BucketArn Amazon Resource Name (ARN) of the S3 Bucket. + * @param s3BucketArn Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * * @return builder * @@ -249,7 +249,7 @@ public Builder s3BucketArn(@Nullable Output s3BucketArn) { } /** - * @param s3BucketArn Amazon Resource Name (ARN) of the S3 Bucket. + * @param s3BucketArn Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. * * @return builder * @@ -280,7 +280,7 @@ public Builder s3Config(S3LocationS3ConfigArgs s3Config) { } /** - * @param s3StorageClass The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * @param s3StorageClass Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * * @return builder * @@ -291,7 +291,7 @@ public Builder s3StorageClass(@Nullable Output s3StorageClass) { } /** - * @param s3StorageClass The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * @param s3StorageClass Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java index b50ebc448a8..c3ead8f94cb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ami.java @@ -433,6 +433,20 @@ public Output> tagsAll() { public Output> tpmSupport() { return Codegen.optional(this.tpmSupport); } + /** + * Base64 representation of the non-volatile UEFI variable store. + * + */ + @Export(name="uefiData", refs={String.class}, tree="[0]") + private Output uefiData; + + /** + * @return Base64 representation of the non-volatile UEFI variable store. + * + */ + public Output> uefiData() { + return Codegen.optional(this.uefiData); + } /** * Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiArgs.java index 4bb2f119892..a29baf656ea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiArgs.java @@ -232,6 +232,21 @@ public Optional> tpmSupport() { return Optional.ofNullable(this.tpmSupport); } + /** + * Base64 representation of the non-volatile UEFI variable store. + * + */ + @Import(name="uefiData") + private @Nullable Output uefiData; + + /** + * @return Base64 representation of the non-volatile UEFI variable store. + * + */ + public Optional> uefiData() { + return Optional.ofNullable(this.uefiData); + } + /** * Keyword to choose what virtualization mode created instances * will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -270,6 +285,7 @@ private AmiArgs(AmiArgs $) { this.sriovNetSupport = $.sriovNetSupport; this.tags = $.tags; this.tpmSupport = $.tpmSupport; + this.uefiData = $.uefiData; this.virtualizationType = $.virtualizationType; } @@ -605,6 +621,27 @@ public Builder tpmSupport(String tpmSupport) { return tpmSupport(Output.of(tpmSupport)); } + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(@Nullable Output uefiData) { + $.uefiData = uefiData; + return this; + } + + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(String uefiData) { + return uefiData(Output.of(uefiData)); + } + /** * @param virtualizationType Keyword to choose what virtualization mode created instances * will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java index 2d9e55f547c..172cf1abebe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiCopy.java @@ -465,6 +465,20 @@ public Output> tagsAll() { public Output tpmSupport() { return this.tpmSupport; } + /** + * Base64 representation of the non-volatile UEFI variable store. + * + */ + @Export(name="uefiData", refs={String.class}, tree="[0]") + private Output uefiData; + + /** + * @return Base64 representation of the non-volatile UEFI variable store. + * + */ + public Output uefiData() { + return this.uefiData; + } @Export(name="usageOperation", refs={String.class}, tree="[0]") private Output usageOperation; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java index b80961362e3..e0b792a326f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/AmiFromInstance.java @@ -427,6 +427,20 @@ public Output> tagsAll() { public Output tpmSupport() { return this.tpmSupport; } + /** + * Base64 representation of the non-volatile UEFI variable store. + * + */ + @Export(name="uefiData", refs={String.class}, tree="[0]") + private Output uefiData; + + /** + * @return Base64 representation of the non-volatile UEFI variable store. + * + */ + public Output uefiData() { + return this.uefiData; + } @Export(name="usageOperation", refs={String.class}, tree="[0]") private Output usageOperation; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiCopyState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiCopyState.java index 809ab56aff1..96e70cf0c58 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiCopyState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiCopyState.java @@ -450,6 +450,21 @@ public Optional> tpmSupport() { return Optional.ofNullable(this.tpmSupport); } + /** + * Base64 representation of the non-volatile UEFI variable store. + * + */ + @Import(name="uefiData") + private @Nullable Output uefiData; + + /** + * @return Base64 representation of the non-volatile UEFI variable store. + * + */ + public Optional> uefiData() { + return Optional.ofNullable(this.uefiData); + } + @Import(name="usageOperation") private @Nullable Output usageOperation; @@ -511,6 +526,7 @@ private AmiCopyState(AmiCopyState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.tpmSupport = $.tpmSupport; + this.uefiData = $.uefiData; this.usageOperation = $.usageOperation; this.virtualizationType = $.virtualizationType; } @@ -1141,6 +1157,27 @@ public Builder tpmSupport(String tpmSupport) { return tpmSupport(Output.of(tpmSupport)); } + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(@Nullable Output uefiData) { + $.uefiData = uefiData; + return this; + } + + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(String uefiData) { + return uefiData(Output.of(uefiData)); + } + public Builder usageOperation(@Nullable Output usageOperation) { $.usageOperation = usageOperation; return this; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiFromInstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiFromInstanceState.java index 5bf11111df3..726720d3aa6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiFromInstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiFromInstanceState.java @@ -405,6 +405,21 @@ public Optional> tpmSupport() { return Optional.ofNullable(this.tpmSupport); } + /** + * Base64 representation of the non-volatile UEFI variable store. + * + */ + @Import(name="uefiData") + private @Nullable Output uefiData; + + /** + * @return Base64 representation of the non-volatile UEFI variable store. + * + */ + public Optional> uefiData() { + return Optional.ofNullable(this.uefiData); + } + @Import(name="usageOperation") private @Nullable Output usageOperation; @@ -463,6 +478,7 @@ private AmiFromInstanceState(AmiFromInstanceState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.tpmSupport = $.tpmSupport; + this.uefiData = $.uefiData; this.usageOperation = $.usageOperation; this.virtualizationType = $.virtualizationType; } @@ -1030,6 +1046,27 @@ public Builder tpmSupport(String tpmSupport) { return tpmSupport(Output.of(tpmSupport)); } + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(@Nullable Output uefiData) { + $.uefiData = uefiData; + return this; + } + + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(String uefiData) { + return uefiData(Output.of(uefiData)); + } + public Builder usageOperation(@Nullable Output usageOperation) { $.usageOperation = usageOperation; return this; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiState.java index aaefe3ab317..9779df495e9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/AmiState.java @@ -397,6 +397,21 @@ public Optional> tpmSupport() { return Optional.ofNullable(this.tpmSupport); } + /** + * Base64 representation of the non-volatile UEFI variable store. + * + */ + @Import(name="uefiData") + private @Nullable Output uefiData; + + /** + * @return Base64 representation of the non-volatile UEFI variable store. + * + */ + public Optional> uefiData() { + return Optional.ofNullable(this.uefiData); + } + /** * Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. * @@ -461,6 +476,7 @@ private AmiState(AmiState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.tpmSupport = $.tpmSupport; + this.uefiData = $.uefiData; this.usageOperation = $.usageOperation; this.virtualizationType = $.virtualizationType; } @@ -1024,6 +1040,27 @@ public Builder tpmSupport(String tpmSupport) { return tpmSupport(Output.of(tpmSupport)); } + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(@Nullable Output uefiData) { + $.uefiData = uefiData; + return this; + } + + /** + * @param uefiData Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(String uefiData) { + return uefiData(Output.of(uefiData)); + } + /** * @param usageOperation Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiArgs.java index c45e6c6bed4..87ce2948981 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiArgs.java @@ -154,6 +154,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * (Optional) Base64 representation of the non-volatile UEFI variable store. + * + */ + @Import(name="uefiData") + private @Nullable Output uefiData; + + /** + * @return (Optional) Base64 representation of the non-volatile UEFI variable store. + * + */ + public Optional> uefiData() { + return Optional.ofNullable(this.uefiData); + } + private GetAmiArgs() {} private GetAmiArgs(GetAmiArgs $) { @@ -164,6 +179,7 @@ private GetAmiArgs(GetAmiArgs $) { this.nameRegex = $.nameRegex; this.owners = $.owners; this.tags = $.tags; + this.uefiData = $.uefiData; } public static Builder builder() { @@ -394,6 +410,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param uefiData (Optional) Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(@Nullable Output uefiData) { + $.uefiData = uefiData; + return this; + } + + /** + * @param uefiData (Optional) Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(String uefiData) { + return uefiData(Output.of(uefiData)); + } + public GetAmiArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiPlainArgs.java index 95f2063ac78..f195faab79b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/GetAmiPlainArgs.java @@ -153,6 +153,21 @@ public Optional> tags() { return Optional.ofNullable(this.tags); } + /** + * (Optional) Base64 representation of the non-volatile UEFI variable store. + * + */ + @Import(name="uefiData") + private @Nullable String uefiData; + + /** + * @return (Optional) Base64 representation of the non-volatile UEFI variable store. + * + */ + public Optional uefiData() { + return Optional.ofNullable(this.uefiData); + } + private GetAmiPlainArgs() {} private GetAmiPlainArgs(GetAmiPlainArgs $) { @@ -163,6 +178,7 @@ private GetAmiPlainArgs(GetAmiPlainArgs $) { this.nameRegex = $.nameRegex; this.owners = $.owners; this.tags = $.tags; + this.uefiData = $.uefiData; } public static Builder builder() { @@ -308,6 +324,17 @@ public Builder tags(@Nullable Map tags) { return this; } + /** + * @param uefiData (Optional) Base64 representation of the non-volatile UEFI variable store. + * + * @return builder + * + */ + public Builder uefiData(@Nullable String uefiData) { + $.uefiData = uefiData; + return this; + } + public GetAmiPlainArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetAmiResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetAmiResult.java index 7690606a407..810a490377b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetAmiResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetAmiResult.java @@ -189,6 +189,11 @@ public final class GetAmiResult { * */ private String tpmSupport; + /** + * @return (Optional) Base64 representation of the non-volatile UEFI variable store. + * + */ + private @Nullable String uefiData; /** * @return Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. * @@ -447,6 +452,13 @@ public Map tags() { public String tpmSupport() { return this.tpmSupport; } + /** + * @return (Optional) Base64 representation of the non-volatile UEFI variable store. + * + */ + public Optional uefiData() { + return Optional.ofNullable(this.uefiData); + } /** * @return Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. * @@ -509,6 +521,7 @@ public static final class Builder { private Map stateReason; private Map tags; private String tpmSupport; + private @Nullable String uefiData; private String usageOperation; private String virtualizationType; public Builder() {} @@ -551,6 +564,7 @@ public Builder(GetAmiResult defaults) { this.stateReason = defaults.stateReason; this.tags = defaults.tags; this.tpmSupport = defaults.tpmSupport; + this.uefiData = defaults.uefiData; this.usageOperation = defaults.usageOperation; this.virtualizationType = defaults.virtualizationType; } @@ -855,6 +869,12 @@ public Builder tpmSupport(String tpmSupport) { return this; } @CustomType.Setter + public Builder uefiData(@Nullable String uefiData) { + + this.uefiData = uefiData; + return this; + } + @CustomType.Setter public Builder usageOperation(String usageOperation) { if (usageOperation == null) { throw new MissingRequiredPropertyException("GetAmiResult", "usageOperation"); @@ -909,6 +929,7 @@ public GetAmiResult build() { _resultValue.stateReason = stateReason; _resultValue.tags = tags; _resultValue.tpmSupport = tpmSupport; + _resultValue.uefiData = uefiData; _resultValue.usageOperation = usageOperation; _resultValue.virtualizationType = virtualizationType; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeInferenceAccelerator.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeInferenceAccelerator.java index 1f019661c25..68a3e3e232b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeInferenceAccelerator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeInferenceAccelerator.java @@ -13,6 +13,11 @@ public final class GetInstanceTypeInferenceAccelerator { private Integer count; private String manufacturer; + /** + * @return Size of the instance memory, in MiB. + * + */ + private Integer memorySize; private String name; private GetInstanceTypeInferenceAccelerator() {} @@ -22,6 +27,13 @@ public Integer count() { public String manufacturer() { return this.manufacturer; } + /** + * @return Size of the instance memory, in MiB. + * + */ + public Integer memorySize() { + return this.memorySize; + } public String name() { return this.name; } @@ -37,12 +49,14 @@ public static Builder builder(GetInstanceTypeInferenceAccelerator defaults) { public static final class Builder { private Integer count; private String manufacturer; + private Integer memorySize; private String name; public Builder() {} public Builder(GetInstanceTypeInferenceAccelerator defaults) { Objects.requireNonNull(defaults); this.count = defaults.count; this.manufacturer = defaults.manufacturer; + this.memorySize = defaults.memorySize; this.name = defaults.name; } @@ -63,6 +77,14 @@ public Builder manufacturer(String manufacturer) { return this; } @CustomType.Setter + public Builder memorySize(Integer memorySize) { + if (memorySize == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeInferenceAccelerator", "memorySize"); + } + this.memorySize = memorySize; + return this; + } + @CustomType.Setter public Builder name(String name) { if (name == null) { throw new MissingRequiredPropertyException("GetInstanceTypeInferenceAccelerator", "name"); @@ -74,6 +96,7 @@ public GetInstanceTypeInferenceAccelerator build() { final var _resultValue = new GetInstanceTypeInferenceAccelerator(); _resultValue.count = count; _resultValue.manufacturer = manufacturer; + _resultValue.memorySize = memorySize; _resultValue.name = name; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeMediaAccelerator.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeMediaAccelerator.java new file mode 100644 index 00000000000..acb9503ef47 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeMediaAccelerator.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetInstanceTypeMediaAccelerator { + private Integer count; + private String manufacturer; + /** + * @return Size of the instance memory, in MiB. + * + */ + private Integer memorySize; + private String name; + + private GetInstanceTypeMediaAccelerator() {} + public Integer count() { + return this.count; + } + public String manufacturer() { + return this.manufacturer; + } + /** + * @return Size of the instance memory, in MiB. + * + */ + public Integer memorySize() { + return this.memorySize; + } + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetInstanceTypeMediaAccelerator defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer count; + private String manufacturer; + private Integer memorySize; + private String name; + public Builder() {} + public Builder(GetInstanceTypeMediaAccelerator defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.manufacturer = defaults.manufacturer; + this.memorySize = defaults.memorySize; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeMediaAccelerator", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder manufacturer(String manufacturer) { + if (manufacturer == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeMediaAccelerator", "manufacturer"); + } + this.manufacturer = manufacturer; + return this; + } + @CustomType.Setter + public Builder memorySize(Integer memorySize) { + if (memorySize == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeMediaAccelerator", "memorySize"); + } + this.memorySize = memorySize; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeMediaAccelerator", "name"); + } + this.name = name; + return this; + } + public GetInstanceTypeMediaAccelerator build() { + final var _resultValue = new GetInstanceTypeMediaAccelerator(); + _resultValue.count = count; + _resultValue.manufacturer = manufacturer; + _resultValue.memorySize = memorySize; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeNetworkCard.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeNetworkCard.java new file mode 100644 index 00000000000..6f6841d7976 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeNetworkCard.java @@ -0,0 +1,112 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetInstanceTypeNetworkCard { + private Double baselineBandwidth; + private Integer index; + private Integer maximumInterfaces; + private Double peakBandwidth; + private String performance; + + private GetInstanceTypeNetworkCard() {} + public Double baselineBandwidth() { + return this.baselineBandwidth; + } + public Integer index() { + return this.index; + } + public Integer maximumInterfaces() { + return this.maximumInterfaces; + } + public Double peakBandwidth() { + return this.peakBandwidth; + } + public String performance() { + return this.performance; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetInstanceTypeNetworkCard defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Double baselineBandwidth; + private Integer index; + private Integer maximumInterfaces; + private Double peakBandwidth; + private String performance; + public Builder() {} + public Builder(GetInstanceTypeNetworkCard defaults) { + Objects.requireNonNull(defaults); + this.baselineBandwidth = defaults.baselineBandwidth; + this.index = defaults.index; + this.maximumInterfaces = defaults.maximumInterfaces; + this.peakBandwidth = defaults.peakBandwidth; + this.performance = defaults.performance; + } + + @CustomType.Setter + public Builder baselineBandwidth(Double baselineBandwidth) { + if (baselineBandwidth == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNetworkCard", "baselineBandwidth"); + } + this.baselineBandwidth = baselineBandwidth; + return this; + } + @CustomType.Setter + public Builder index(Integer index) { + if (index == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNetworkCard", "index"); + } + this.index = index; + return this; + } + @CustomType.Setter + public Builder maximumInterfaces(Integer maximumInterfaces) { + if (maximumInterfaces == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNetworkCard", "maximumInterfaces"); + } + this.maximumInterfaces = maximumInterfaces; + return this; + } + @CustomType.Setter + public Builder peakBandwidth(Double peakBandwidth) { + if (peakBandwidth == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNetworkCard", "peakBandwidth"); + } + this.peakBandwidth = peakBandwidth; + return this; + } + @CustomType.Setter + public Builder performance(String performance) { + if (performance == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNetworkCard", "performance"); + } + this.performance = performance; + return this; + } + public GetInstanceTypeNetworkCard build() { + final var _resultValue = new GetInstanceTypeNetworkCard(); + _resultValue.baselineBandwidth = baselineBandwidth; + _resultValue.index = index; + _resultValue.maximumInterfaces = maximumInterfaces; + _resultValue.peakBandwidth = peakBandwidth; + _resultValue.performance = performance; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeNeuronDevice.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeNeuronDevice.java new file mode 100644 index 00000000000..92fec58ed5a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeNeuronDevice.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ec2.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetInstanceTypeNeuronDevice { + private Integer coreCount; + private Integer coreVersion; + private Integer count; + /** + * @return Size of the instance memory, in MiB. + * + */ + private Integer memorySize; + private String name; + + private GetInstanceTypeNeuronDevice() {} + public Integer coreCount() { + return this.coreCount; + } + public Integer coreVersion() { + return this.coreVersion; + } + public Integer count() { + return this.count; + } + /** + * @return Size of the instance memory, in MiB. + * + */ + public Integer memorySize() { + return this.memorySize; + } + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetInstanceTypeNeuronDevice defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer coreCount; + private Integer coreVersion; + private Integer count; + private Integer memorySize; + private String name; + public Builder() {} + public Builder(GetInstanceTypeNeuronDevice defaults) { + Objects.requireNonNull(defaults); + this.coreCount = defaults.coreCount; + this.coreVersion = defaults.coreVersion; + this.count = defaults.count; + this.memorySize = defaults.memorySize; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder coreCount(Integer coreCount) { + if (coreCount == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNeuronDevice", "coreCount"); + } + this.coreCount = coreCount; + return this; + } + @CustomType.Setter + public Builder coreVersion(Integer coreVersion) { + if (coreVersion == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNeuronDevice", "coreVersion"); + } + this.coreVersion = coreVersion; + return this; + } + @CustomType.Setter + public Builder count(Integer count) { + if (count == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNeuronDevice", "count"); + } + this.count = count; + return this; + } + @CustomType.Setter + public Builder memorySize(Integer memorySize) { + if (memorySize == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNeuronDevice", "memorySize"); + } + this.memorySize = memorySize; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeNeuronDevice", "name"); + } + this.name = name; + return this; + } + public GetInstanceTypeNeuronDevice build() { + final var _resultValue = new GetInstanceTypeNeuronDevice(); + _resultValue.coreCount = coreCount; + _resultValue.coreVersion = coreVersion; + _resultValue.count = count; + _resultValue.memorySize = memorySize; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeResult.java index 9516b9a802f..53f12ce317b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetInstanceTypeResult.java @@ -7,6 +7,9 @@ import com.pulumi.aws.ec2.outputs.GetInstanceTypeGpus; import com.pulumi.aws.ec2.outputs.GetInstanceTypeInferenceAccelerator; import com.pulumi.aws.ec2.outputs.GetInstanceTypeInstanceDisk; +import com.pulumi.aws.ec2.outputs.GetInstanceTypeMediaAccelerator; +import com.pulumi.aws.ec2.outputs.GetInstanceTypeNetworkCard; +import com.pulumi.aws.ec2.outputs.GetInstanceTypeNeuronDevice; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; @@ -23,11 +26,21 @@ public final class GetInstanceTypeResult { * */ private Boolean autoRecoverySupported; + /** + * @return A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. + * + */ + private List bandwidthWeightings; /** * @return `true` if it is a bare metal instance type. * */ private Boolean bareMetal; + /** + * @return A set of strings of supported boot modes. + * + */ + private List bootModes; /** * @return `true` if the instance type is a burstable performance instance type. * @@ -48,6 +61,11 @@ public final class GetInstanceTypeResult { * */ private Integer defaultCores; + /** + * @return The index of the default network card, starting at `0`. + * + */ + private Integer defaultNetworkCardIndex; /** * @return The default number of threads per core for the instance type. * @@ -104,17 +122,27 @@ public final class GetInstanceTypeResult { */ private Double ebsPerformanceMaximumThroughput; /** - * @return Whether Elastic Fabric Adapter (EFA) is supported. + * @return The maximum number of Elastic Fabric Adapters for the instance type. + * + */ + private Integer efaMaximumInterfaces; + /** + * @return `true` if Elastic Fabric Adapter (EFA) is supported. * */ private Boolean efaSupported; /** - * @return Whether Elastic Network Adapter (ENA) is supported. + * @return `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). + * + */ + private Boolean enaSrdSupported; + /** + * @return Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. * */ private String enaSupport; /** - * @return Indicates whether encryption in-transit between instances is supported. + * @return `true` if encryption in-transit between instances is supported. * */ private Boolean encryptionInTransitSupported; @@ -122,7 +150,7 @@ public final class GetInstanceTypeResult { * @return Describes the FPGA accelerator settings for the instance type. * * `fpgas.#.count` - The count of FPGA accelerators for the instance type. * * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. - * * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. * * `fpgas.#.name` - The name of the FPGA accelerator. * */ @@ -136,7 +164,7 @@ public final class GetInstanceTypeResult { * @return Describes the GPU accelerators for the instance type. * * `gpus.#.count` - The number of GPUs for the instance type. * * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. - * * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. * * `gpus.#.name` - The name of the GPU accelerator. * */ @@ -160,6 +188,7 @@ public final class GetInstanceTypeResult { * @return Describes the Inference accelerators for the instance type. * * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. * * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. * * `inference_accelerators.#.name` - The name of the Inference accelerator. * */ @@ -203,33 +232,87 @@ public final class GetInstanceTypeResult { * */ private Integer maximumNetworkInterfaces; + /** + * @return Describes the media accelerator settings for the instance type. + * * `media_accelerators.#.count` - The number of media accelerators for the instance type. + * * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. + * * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. + * * `media_accelerators.#.name` - The name of the media accelerator. + * + */ + private List mediaAccelerators; /** * @return Size of the instance memory, in MiB. * */ private Integer memorySize; + /** + * @return Describes the network cards for the instance type. + * * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. + * * `network_cards.#.index` - The index of the network card. + * * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. + * * `network_cards.#.performance` - Describes the network performance of the network card. + * * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. + * + */ + private List networkCards; /** * @return Describes the network performance. * */ private String networkPerformance; /** - * @return A list of architectures supported by the instance type. + * @return Describes the Neuron accelerator settings for the instance type. + * * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. + * * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. + * * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. + * * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. + * * `neuron_devices.#.name` - The name of the neuron accelerator. + * + */ + private List neuronDevices; + /** + * @return Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. + * + */ + private String nitroEnclavesSupport; + /** + * @return Indicates whether NitroTPM is `"supported"` or `"unsupported"`. + * + */ + private String nitroTpmSupport; + /** + * @return A set of strings indicating the supported NitroTPM versions. + * + */ + private List nitroTpmSupportedVersions; + /** + * @return `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. + * + */ + private String phcSupport; + /** + * @return A list of strings of architectures supported by the instance type. * */ private List supportedArchitectures; + /** + * @return A set of strings indicating supported CPU features. + * + */ + private List supportedCpuFeatures; /** * @return A list of supported placement groups types. * */ private List supportedPlacementStrategies; /** - * @return Indicates the supported root device types. + * @return A list of supported root device types. * */ private List supportedRootDeviceTypes; /** - * @return Indicates whether the instance type is offered for spot or On-Demand. + * @return A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. * */ private List supportedUsagesClasses; @@ -253,11 +336,26 @@ public final class GetInstanceTypeResult { * */ private Integer totalGpuMemory; + /** + * @return The total size of the memory for the neuron accelerators for the instance type (in MiB). + * + */ + private Integer totalInferenceMemory; /** * @return The total size of the instance disks, in GB. * */ private Integer totalInstanceStorage; + /** + * @return The total size of the memory for the media accelerators for the instance type (in MiB). + * + */ + private Integer totalMediaMemory; + /** + * @return The total size of the memory for the neuron accelerators for the instance type (in MiB). + * + */ + private Integer totalNeuronDeviceMemory; /** * @return List of the valid number of cores that can be configured for the instance type. * @@ -277,6 +375,13 @@ private GetInstanceTypeResult() {} public Boolean autoRecoverySupported() { return this.autoRecoverySupported; } + /** + * @return A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. + * + */ + public List bandwidthWeightings() { + return this.bandwidthWeightings; + } /** * @return `true` if it is a bare metal instance type. * @@ -284,6 +389,13 @@ public Boolean autoRecoverySupported() { public Boolean bareMetal() { return this.bareMetal; } + /** + * @return A set of strings of supported boot modes. + * + */ + public List bootModes() { + return this.bootModes; + } /** * @return `true` if the instance type is a burstable performance instance type. * @@ -312,6 +424,13 @@ public Boolean dedicatedHostsSupported() { public Integer defaultCores() { return this.defaultCores; } + /** + * @return The index of the default network card, starting at `0`. + * + */ + public Integer defaultNetworkCardIndex() { + return this.defaultNetworkCardIndex; + } /** * @return The default number of threads per core for the instance type. * @@ -390,21 +509,35 @@ public Double ebsPerformanceMaximumThroughput() { return this.ebsPerformanceMaximumThroughput; } /** - * @return Whether Elastic Fabric Adapter (EFA) is supported. + * @return The maximum number of Elastic Fabric Adapters for the instance type. + * + */ + public Integer efaMaximumInterfaces() { + return this.efaMaximumInterfaces; + } + /** + * @return `true` if Elastic Fabric Adapter (EFA) is supported. * */ public Boolean efaSupported() { return this.efaSupported; } /** - * @return Whether Elastic Network Adapter (ENA) is supported. + * @return `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). + * + */ + public Boolean enaSrdSupported() { + return this.enaSrdSupported; + } + /** + * @return Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. * */ public String enaSupport() { return this.enaSupport; } /** - * @return Indicates whether encryption in-transit between instances is supported. + * @return `true` if encryption in-transit between instances is supported. * */ public Boolean encryptionInTransitSupported() { @@ -414,7 +547,7 @@ public Boolean encryptionInTransitSupported() { * @return Describes the FPGA accelerator settings for the instance type. * * `fpgas.#.count` - The count of FPGA accelerators for the instance type. * * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. - * * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. * * `fpgas.#.name` - The name of the FPGA accelerator. * */ @@ -432,7 +565,7 @@ public Boolean freeTierEligible() { * @return Describes the GPU accelerators for the instance type. * * `gpus.#.count` - The number of GPUs for the instance type. * * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. - * * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. * * `gpus.#.name` - The name of the GPU accelerator. * */ @@ -464,6 +597,7 @@ public String id() { * @return Describes the Inference accelerators for the instance type. * * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. * * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. * * `inference_accelerators.#.name` - The name of the Inference accelerator. * */ @@ -525,6 +659,17 @@ public Integer maximumNetworkCards() { public Integer maximumNetworkInterfaces() { return this.maximumNetworkInterfaces; } + /** + * @return Describes the media accelerator settings for the instance type. + * * `media_accelerators.#.count` - The number of media accelerators for the instance type. + * * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. + * * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. + * * `media_accelerators.#.name` - The name of the media accelerator. + * + */ + public List mediaAccelerators() { + return this.mediaAccelerators; + } /** * @return Size of the instance memory, in MiB. * @@ -532,6 +677,18 @@ public Integer maximumNetworkInterfaces() { public Integer memorySize() { return this.memorySize; } + /** + * @return Describes the network cards for the instance type. + * * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. + * * `network_cards.#.index` - The index of the network card. + * * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. + * * `network_cards.#.performance` - Describes the network performance of the network card. + * * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. + * + */ + public List networkCards() { + return this.networkCards; + } /** * @return Describes the network performance. * @@ -540,12 +697,59 @@ public String networkPerformance() { return this.networkPerformance; } /** - * @return A list of architectures supported by the instance type. + * @return Describes the Neuron accelerator settings for the instance type. + * * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. + * * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. + * * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. + * * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. + * * `neuron_devices.#.name` - The name of the neuron accelerator. + * + */ + public List neuronDevices() { + return this.neuronDevices; + } + /** + * @return Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. + * + */ + public String nitroEnclavesSupport() { + return this.nitroEnclavesSupport; + } + /** + * @return Indicates whether NitroTPM is `"supported"` or `"unsupported"`. + * + */ + public String nitroTpmSupport() { + return this.nitroTpmSupport; + } + /** + * @return A set of strings indicating the supported NitroTPM versions. + * + */ + public List nitroTpmSupportedVersions() { + return this.nitroTpmSupportedVersions; + } + /** + * @return `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. + * + */ + public String phcSupport() { + return this.phcSupport; + } + /** + * @return A list of strings of architectures supported by the instance type. * */ public List supportedArchitectures() { return this.supportedArchitectures; } + /** + * @return A set of strings indicating supported CPU features. + * + */ + public List supportedCpuFeatures() { + return this.supportedCpuFeatures; + } /** * @return A list of supported placement groups types. * @@ -554,14 +758,14 @@ public List supportedPlacementStrategies() { return this.supportedPlacementStrategies; } /** - * @return Indicates the supported root device types. + * @return A list of supported root device types. * */ public List supportedRootDeviceTypes() { return this.supportedRootDeviceTypes; } /** - * @return Indicates whether the instance type is offered for spot or On-Demand. + * @return A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. * */ public List supportedUsagesClasses() { @@ -595,6 +799,13 @@ public Integer totalFpgaMemory() { public Integer totalGpuMemory() { return this.totalGpuMemory; } + /** + * @return The total size of the memory for the neuron accelerators for the instance type (in MiB). + * + */ + public Integer totalInferenceMemory() { + return this.totalInferenceMemory; + } /** * @return The total size of the instance disks, in GB. * @@ -602,6 +813,20 @@ public Integer totalGpuMemory() { public Integer totalInstanceStorage() { return this.totalInstanceStorage; } + /** + * @return The total size of the memory for the media accelerators for the instance type (in MiB). + * + */ + public Integer totalMediaMemory() { + return this.totalMediaMemory; + } + /** + * @return The total size of the memory for the neuron accelerators for the instance type (in MiB). + * + */ + public Integer totalNeuronDeviceMemory() { + return this.totalNeuronDeviceMemory; + } /** * @return List of the valid number of cores that can be configured for the instance type. * @@ -627,11 +852,14 @@ public static Builder builder(GetInstanceTypeResult defaults) { @CustomType.Builder public static final class Builder { private Boolean autoRecoverySupported; + private List bandwidthWeightings; private Boolean bareMetal; + private List bootModes; private Boolean burstablePerformanceSupported; private Boolean currentGeneration; private Boolean dedicatedHostsSupported; private Integer defaultCores; + private Integer defaultNetworkCardIndex; private Integer defaultThreadsPerCore; private Integer defaultVcpus; private String ebsEncryptionSupport; @@ -643,7 +871,9 @@ public static final class Builder { private Integer ebsPerformanceMaximumBandwidth; private Integer ebsPerformanceMaximumIops; private Double ebsPerformanceMaximumThroughput; + private Integer efaMaximumInterfaces; private Boolean efaSupported; + private Boolean enaSrdSupported; private String enaSupport; private Boolean encryptionInTransitSupported; private List fpgas; @@ -661,9 +891,17 @@ public static final class Builder { private Integer maximumIpv6AddressesPerInterface; private Integer maximumNetworkCards; private Integer maximumNetworkInterfaces; + private List mediaAccelerators; private Integer memorySize; + private List networkCards; private String networkPerformance; + private List neuronDevices; + private String nitroEnclavesSupport; + private String nitroTpmSupport; + private List nitroTpmSupportedVersions; + private String phcSupport; private List supportedArchitectures; + private List supportedCpuFeatures; private List supportedPlacementStrategies; private List supportedRootDeviceTypes; private List supportedUsagesClasses; @@ -671,18 +909,24 @@ public static final class Builder { private Double sustainedClockSpeed; private Integer totalFpgaMemory; private Integer totalGpuMemory; + private Integer totalInferenceMemory; private Integer totalInstanceStorage; + private Integer totalMediaMemory; + private Integer totalNeuronDeviceMemory; private List validCores; private List validThreadsPerCores; public Builder() {} public Builder(GetInstanceTypeResult defaults) { Objects.requireNonNull(defaults); this.autoRecoverySupported = defaults.autoRecoverySupported; + this.bandwidthWeightings = defaults.bandwidthWeightings; this.bareMetal = defaults.bareMetal; + this.bootModes = defaults.bootModes; this.burstablePerformanceSupported = defaults.burstablePerformanceSupported; this.currentGeneration = defaults.currentGeneration; this.dedicatedHostsSupported = defaults.dedicatedHostsSupported; this.defaultCores = defaults.defaultCores; + this.defaultNetworkCardIndex = defaults.defaultNetworkCardIndex; this.defaultThreadsPerCore = defaults.defaultThreadsPerCore; this.defaultVcpus = defaults.defaultVcpus; this.ebsEncryptionSupport = defaults.ebsEncryptionSupport; @@ -694,7 +938,9 @@ public Builder(GetInstanceTypeResult defaults) { this.ebsPerformanceMaximumBandwidth = defaults.ebsPerformanceMaximumBandwidth; this.ebsPerformanceMaximumIops = defaults.ebsPerformanceMaximumIops; this.ebsPerformanceMaximumThroughput = defaults.ebsPerformanceMaximumThroughput; + this.efaMaximumInterfaces = defaults.efaMaximumInterfaces; this.efaSupported = defaults.efaSupported; + this.enaSrdSupported = defaults.enaSrdSupported; this.enaSupport = defaults.enaSupport; this.encryptionInTransitSupported = defaults.encryptionInTransitSupported; this.fpgas = defaults.fpgas; @@ -712,9 +958,17 @@ public Builder(GetInstanceTypeResult defaults) { this.maximumIpv6AddressesPerInterface = defaults.maximumIpv6AddressesPerInterface; this.maximumNetworkCards = defaults.maximumNetworkCards; this.maximumNetworkInterfaces = defaults.maximumNetworkInterfaces; + this.mediaAccelerators = defaults.mediaAccelerators; this.memorySize = defaults.memorySize; + this.networkCards = defaults.networkCards; this.networkPerformance = defaults.networkPerformance; + this.neuronDevices = defaults.neuronDevices; + this.nitroEnclavesSupport = defaults.nitroEnclavesSupport; + this.nitroTpmSupport = defaults.nitroTpmSupport; + this.nitroTpmSupportedVersions = defaults.nitroTpmSupportedVersions; + this.phcSupport = defaults.phcSupport; this.supportedArchitectures = defaults.supportedArchitectures; + this.supportedCpuFeatures = defaults.supportedCpuFeatures; this.supportedPlacementStrategies = defaults.supportedPlacementStrategies; this.supportedRootDeviceTypes = defaults.supportedRootDeviceTypes; this.supportedUsagesClasses = defaults.supportedUsagesClasses; @@ -722,7 +976,10 @@ public Builder(GetInstanceTypeResult defaults) { this.sustainedClockSpeed = defaults.sustainedClockSpeed; this.totalFpgaMemory = defaults.totalFpgaMemory; this.totalGpuMemory = defaults.totalGpuMemory; + this.totalInferenceMemory = defaults.totalInferenceMemory; this.totalInstanceStorage = defaults.totalInstanceStorage; + this.totalMediaMemory = defaults.totalMediaMemory; + this.totalNeuronDeviceMemory = defaults.totalNeuronDeviceMemory; this.validCores = defaults.validCores; this.validThreadsPerCores = defaults.validThreadsPerCores; } @@ -736,6 +993,17 @@ public Builder autoRecoverySupported(Boolean autoRecoverySupported) { return this; } @CustomType.Setter + public Builder bandwidthWeightings(List bandwidthWeightings) { + if (bandwidthWeightings == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "bandwidthWeightings"); + } + this.bandwidthWeightings = bandwidthWeightings; + return this; + } + public Builder bandwidthWeightings(String... bandwidthWeightings) { + return bandwidthWeightings(List.of(bandwidthWeightings)); + } + @CustomType.Setter public Builder bareMetal(Boolean bareMetal) { if (bareMetal == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "bareMetal"); @@ -744,6 +1012,17 @@ public Builder bareMetal(Boolean bareMetal) { return this; } @CustomType.Setter + public Builder bootModes(List bootModes) { + if (bootModes == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "bootModes"); + } + this.bootModes = bootModes; + return this; + } + public Builder bootModes(String... bootModes) { + return bootModes(List.of(bootModes)); + } + @CustomType.Setter public Builder burstablePerformanceSupported(Boolean burstablePerformanceSupported) { if (burstablePerformanceSupported == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "burstablePerformanceSupported"); @@ -776,6 +1055,14 @@ public Builder defaultCores(Integer defaultCores) { return this; } @CustomType.Setter + public Builder defaultNetworkCardIndex(Integer defaultNetworkCardIndex) { + if (defaultNetworkCardIndex == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "defaultNetworkCardIndex"); + } + this.defaultNetworkCardIndex = defaultNetworkCardIndex; + return this; + } + @CustomType.Setter public Builder defaultThreadsPerCore(Integer defaultThreadsPerCore) { if (defaultThreadsPerCore == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "defaultThreadsPerCore"); @@ -864,6 +1151,14 @@ public Builder ebsPerformanceMaximumThroughput(Double ebsPerformanceMaximumThrou return this; } @CustomType.Setter + public Builder efaMaximumInterfaces(Integer efaMaximumInterfaces) { + if (efaMaximumInterfaces == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "efaMaximumInterfaces"); + } + this.efaMaximumInterfaces = efaMaximumInterfaces; + return this; + } + @CustomType.Setter public Builder efaSupported(Boolean efaSupported) { if (efaSupported == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "efaSupported"); @@ -872,6 +1167,14 @@ public Builder efaSupported(Boolean efaSupported) { return this; } @CustomType.Setter + public Builder enaSrdSupported(Boolean enaSrdSupported) { + if (enaSrdSupported == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "enaSrdSupported"); + } + this.enaSrdSupported = enaSrdSupported; + return this; + } + @CustomType.Setter public Builder enaSupport(String enaSupport) { if (enaSupport == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "enaSupport"); @@ -1020,6 +1323,17 @@ public Builder maximumNetworkInterfaces(Integer maximumNetworkInterfaces) { return this; } @CustomType.Setter + public Builder mediaAccelerators(List mediaAccelerators) { + if (mediaAccelerators == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "mediaAccelerators"); + } + this.mediaAccelerators = mediaAccelerators; + return this; + } + public Builder mediaAccelerators(GetInstanceTypeMediaAccelerator... mediaAccelerators) { + return mediaAccelerators(List.of(mediaAccelerators)); + } + @CustomType.Setter public Builder memorySize(Integer memorySize) { if (memorySize == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "memorySize"); @@ -1028,6 +1342,17 @@ public Builder memorySize(Integer memorySize) { return this; } @CustomType.Setter + public Builder networkCards(List networkCards) { + if (networkCards == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "networkCards"); + } + this.networkCards = networkCards; + return this; + } + public Builder networkCards(GetInstanceTypeNetworkCard... networkCards) { + return networkCards(List.of(networkCards)); + } + @CustomType.Setter public Builder networkPerformance(String networkPerformance) { if (networkPerformance == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "networkPerformance"); @@ -1036,6 +1361,52 @@ public Builder networkPerformance(String networkPerformance) { return this; } @CustomType.Setter + public Builder neuronDevices(List neuronDevices) { + if (neuronDevices == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "neuronDevices"); + } + this.neuronDevices = neuronDevices; + return this; + } + public Builder neuronDevices(GetInstanceTypeNeuronDevice... neuronDevices) { + return neuronDevices(List.of(neuronDevices)); + } + @CustomType.Setter + public Builder nitroEnclavesSupport(String nitroEnclavesSupport) { + if (nitroEnclavesSupport == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "nitroEnclavesSupport"); + } + this.nitroEnclavesSupport = nitroEnclavesSupport; + return this; + } + @CustomType.Setter + public Builder nitroTpmSupport(String nitroTpmSupport) { + if (nitroTpmSupport == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "nitroTpmSupport"); + } + this.nitroTpmSupport = nitroTpmSupport; + return this; + } + @CustomType.Setter + public Builder nitroTpmSupportedVersions(List nitroTpmSupportedVersions) { + if (nitroTpmSupportedVersions == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "nitroTpmSupportedVersions"); + } + this.nitroTpmSupportedVersions = nitroTpmSupportedVersions; + return this; + } + public Builder nitroTpmSupportedVersions(String... nitroTpmSupportedVersions) { + return nitroTpmSupportedVersions(List.of(nitroTpmSupportedVersions)); + } + @CustomType.Setter + public Builder phcSupport(String phcSupport) { + if (phcSupport == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "phcSupport"); + } + this.phcSupport = phcSupport; + return this; + } + @CustomType.Setter public Builder supportedArchitectures(List supportedArchitectures) { if (supportedArchitectures == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "supportedArchitectures"); @@ -1047,6 +1418,17 @@ public Builder supportedArchitectures(String... supportedArchitectures) { return supportedArchitectures(List.of(supportedArchitectures)); } @CustomType.Setter + public Builder supportedCpuFeatures(List supportedCpuFeatures) { + if (supportedCpuFeatures == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "supportedCpuFeatures"); + } + this.supportedCpuFeatures = supportedCpuFeatures; + return this; + } + public Builder supportedCpuFeatures(String... supportedCpuFeatures) { + return supportedCpuFeatures(List.of(supportedCpuFeatures)); + } + @CustomType.Setter public Builder supportedPlacementStrategies(List supportedPlacementStrategies) { if (supportedPlacementStrategies == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "supportedPlacementStrategies"); @@ -1115,6 +1497,14 @@ public Builder totalGpuMemory(Integer totalGpuMemory) { return this; } @CustomType.Setter + public Builder totalInferenceMemory(Integer totalInferenceMemory) { + if (totalInferenceMemory == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "totalInferenceMemory"); + } + this.totalInferenceMemory = totalInferenceMemory; + return this; + } + @CustomType.Setter public Builder totalInstanceStorage(Integer totalInstanceStorage) { if (totalInstanceStorage == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "totalInstanceStorage"); @@ -1123,6 +1513,22 @@ public Builder totalInstanceStorage(Integer totalInstanceStorage) { return this; } @CustomType.Setter + public Builder totalMediaMemory(Integer totalMediaMemory) { + if (totalMediaMemory == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "totalMediaMemory"); + } + this.totalMediaMemory = totalMediaMemory; + return this; + } + @CustomType.Setter + public Builder totalNeuronDeviceMemory(Integer totalNeuronDeviceMemory) { + if (totalNeuronDeviceMemory == null) { + throw new MissingRequiredPropertyException("GetInstanceTypeResult", "totalNeuronDeviceMemory"); + } + this.totalNeuronDeviceMemory = totalNeuronDeviceMemory; + return this; + } + @CustomType.Setter public Builder validCores(List validCores) { if (validCores == null) { throw new MissingRequiredPropertyException("GetInstanceTypeResult", "validCores"); @@ -1147,11 +1553,14 @@ public Builder validThreadsPerCores(Integer... validThreadsPerCores) { public GetInstanceTypeResult build() { final var _resultValue = new GetInstanceTypeResult(); _resultValue.autoRecoverySupported = autoRecoverySupported; + _resultValue.bandwidthWeightings = bandwidthWeightings; _resultValue.bareMetal = bareMetal; + _resultValue.bootModes = bootModes; _resultValue.burstablePerformanceSupported = burstablePerformanceSupported; _resultValue.currentGeneration = currentGeneration; _resultValue.dedicatedHostsSupported = dedicatedHostsSupported; _resultValue.defaultCores = defaultCores; + _resultValue.defaultNetworkCardIndex = defaultNetworkCardIndex; _resultValue.defaultThreadsPerCore = defaultThreadsPerCore; _resultValue.defaultVcpus = defaultVcpus; _resultValue.ebsEncryptionSupport = ebsEncryptionSupport; @@ -1163,7 +1572,9 @@ public GetInstanceTypeResult build() { _resultValue.ebsPerformanceMaximumBandwidth = ebsPerformanceMaximumBandwidth; _resultValue.ebsPerformanceMaximumIops = ebsPerformanceMaximumIops; _resultValue.ebsPerformanceMaximumThroughput = ebsPerformanceMaximumThroughput; + _resultValue.efaMaximumInterfaces = efaMaximumInterfaces; _resultValue.efaSupported = efaSupported; + _resultValue.enaSrdSupported = enaSrdSupported; _resultValue.enaSupport = enaSupport; _resultValue.encryptionInTransitSupported = encryptionInTransitSupported; _resultValue.fpgas = fpgas; @@ -1181,9 +1592,17 @@ public GetInstanceTypeResult build() { _resultValue.maximumIpv6AddressesPerInterface = maximumIpv6AddressesPerInterface; _resultValue.maximumNetworkCards = maximumNetworkCards; _resultValue.maximumNetworkInterfaces = maximumNetworkInterfaces; + _resultValue.mediaAccelerators = mediaAccelerators; _resultValue.memorySize = memorySize; + _resultValue.networkCards = networkCards; _resultValue.networkPerformance = networkPerformance; + _resultValue.neuronDevices = neuronDevices; + _resultValue.nitroEnclavesSupport = nitroEnclavesSupport; + _resultValue.nitroTpmSupport = nitroTpmSupport; + _resultValue.nitroTpmSupportedVersions = nitroTpmSupportedVersions; + _resultValue.phcSupport = phcSupport; _resultValue.supportedArchitectures = supportedArchitectures; + _resultValue.supportedCpuFeatures = supportedCpuFeatures; _resultValue.supportedPlacementStrategies = supportedPlacementStrategies; _resultValue.supportedRootDeviceTypes = supportedRootDeviceTypes; _resultValue.supportedUsagesClasses = supportedUsagesClasses; @@ -1191,7 +1610,10 @@ public GetInstanceTypeResult build() { _resultValue.sustainedClockSpeed = sustainedClockSpeed; _resultValue.totalFpgaMemory = totalFpgaMemory; _resultValue.totalGpuMemory = totalGpuMemory; + _resultValue.totalInferenceMemory = totalInferenceMemory; _resultValue.totalInstanceStorage = totalInstanceStorage; + _resultValue.totalMediaMemory = totalMediaMemory; + _resultValue.totalNeuronDeviceMemory = totalNeuronDeviceMemory; _resultValue.validCores = validCores; _resultValue.validThreadsPerCores = validThreadsPerCores; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java index 93259f2e2b1..58a6ed75d17 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/User.java @@ -51,7 +51,7 @@ * .userId("testUserId") * .userName("testUserName") * .accessString("on ~app::* -}{@literal @}{@code all +}{@literal @}{@code read +}{@literal @}{@code hash +}{@literal @}{@code bitmap +}{@literal @}{@code geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember") - * .engine("REDIS") + * .engine("redis") * .passwords("password123456789") * .build()); * @@ -89,7 +89,7 @@ * .userId("testUserId") * .userName("testUserName") * .accessString("on ~* +}{@literal @}{@code all") - * .engine("REDIS") + * .engine("redis") * .authenticationMode(UserAuthenticationModeArgs.builder() * .type("iam") * .build()) @@ -129,7 +129,7 @@ * .userId("testUserId") * .userName("testUserName") * .accessString("on ~* +}{@literal @}{@code all") - * .engine("REDIS") + * .engine("redis") * .authenticationMode(UserAuthenticationModeArgs.builder() * .type("password") * .passwords( @@ -198,14 +198,14 @@ public Output authenticationMode() { return this.authenticationMode; } /** - * The current supported values are `REDIS`, `VALKEY`. + * The current supported values are `redis`, `valkey` (case insensitive). * */ @Export(name="engine", refs={String.class}, tree="[0]") private Output engine; /** - * @return The current supported values are `REDIS`, `VALKEY`. + * @return The current supported values are `redis`, `valkey` (case insensitive). * */ public Output engine() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserArgs.java index f9108e6af1d..88ad23f1580 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserArgs.java @@ -51,14 +51,14 @@ public Optional> authenticationMode() { } /** - * The current supported values are `REDIS`, `VALKEY`. + * The current supported values are `redis`, `valkey` (case insensitive). * */ @Import(name="engine", required=true) private Output engine; /** - * @return The current supported values are `REDIS`, `VALKEY`. + * @return The current supported values are `redis`, `valkey` (case insensitive). * */ public Output engine() { @@ -218,7 +218,7 @@ public Builder authenticationMode(UserAuthenticationModeArgs authenticationMode) } /** - * @param engine The current supported values are `REDIS`, `VALKEY`. + * @param engine The current supported values are `redis`, `valkey` (case insensitive). * * @return builder * @@ -229,7 +229,7 @@ public Builder engine(Output engine) { } /** - * @param engine The current supported values are `REDIS`, `VALKEY`. + * @param engine The current supported values are `redis`, `valkey` (case insensitive). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java index 1aa323a7287..3283f1a483c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroup.java @@ -50,12 +50,12 @@ * .userId("testUserId") * .userName("default") * .accessString("on ~app::* -}{@literal @}{@code all +}{@literal @}{@code read +}{@literal @}{@code hash +}{@literal @}{@code bitmap +}{@literal @}{@code geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember") - * .engine("REDIS") + * .engine("redis") * .passwords("password123456789") * .build()); * * var testUserGroup = new UserGroup("testUserGroup", UserGroupArgs.builder() - * .engine("REDIS") + * .engine("redis") * .userGroupId("userGroupId") * .userIds(test.userId()) * .build()); @@ -92,14 +92,14 @@ public Output arn() { return this.arn; } /** - * The current supported value are `REDIS`, `VALKEY`. + * The current supported value are `redis`, `valkey` (case insensitive). * */ @Export(name="engine", refs={String.class}, tree="[0]") private Output engine; /** - * @return The current supported value are `REDIS`, `VALKEY`. + * @return The current supported value are `redis`, `valkey` (case insensitive). * */ public Output engine() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupArgs.java index 0fc8d3c92a0..66b205af100 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/UserGroupArgs.java @@ -19,14 +19,14 @@ public final class UserGroupArgs extends com.pulumi.resources.ResourceArgs { public static final UserGroupArgs Empty = new UserGroupArgs(); /** - * The current supported value are `REDIS`, `VALKEY`. + * The current supported value are `redis`, `valkey` (case insensitive). * */ @Import(name="engine", required=true) private Output engine; /** - * @return The current supported value are `REDIS`, `VALKEY`. + * @return The current supported value are `redis`, `valkey` (case insensitive). * */ public Output engine() { @@ -110,7 +110,7 @@ public Builder(UserGroupArgs defaults) { } /** - * @param engine The current supported value are `REDIS`, `VALKEY`. + * @param engine The current supported value are `redis`, `valkey` (case insensitive). * * @return builder * @@ -121,7 +121,7 @@ public Builder engine(Output engine) { } /** - * @param engine The current supported value are `REDIS`, `VALKEY`. + * @param engine The current supported value are `redis`, `valkey` (case insensitive). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserGroupState.java index c36230125c9..8f23417b615 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserGroupState.java @@ -33,14 +33,14 @@ public Optional> arn() { } /** - * The current supported value are `REDIS`, `VALKEY`. + * The current supported value are `redis`, `valkey` (case insensitive). * */ @Import(name="engine") private @Nullable Output engine; /** - * @return The current supported value are `REDIS`, `VALKEY`. + * @return The current supported value are `redis`, `valkey` (case insensitive). * */ public Optional> engine() { @@ -170,7 +170,7 @@ public Builder arn(String arn) { } /** - * @param engine The current supported value are `REDIS`, `VALKEY`. + * @param engine The current supported value are `redis`, `valkey` (case insensitive). * * @return builder * @@ -181,7 +181,7 @@ public Builder engine(@Nullable Output engine) { } /** - * @param engine The current supported value are `REDIS`, `VALKEY`. + * @param engine The current supported value are `redis`, `valkey` (case insensitive). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserState.java index 599c0130c00..12efc209a7c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/UserState.java @@ -65,14 +65,14 @@ public Optional> authenticationMode() { } /** - * The current supported values are `REDIS`, `VALKEY`. + * The current supported values are `redis`, `valkey` (case insensitive). * */ @Import(name="engine") private @Nullable Output engine; /** - * @return The current supported values are `REDIS`, `VALKEY`. + * @return The current supported values are `redis`, `valkey` (case insensitive). * */ public Optional> engine() { @@ -274,7 +274,7 @@ public Builder authenticationMode(UserAuthenticationModeArgs authenticationMode) } /** - * @param engine The current supported values are `REDIS`, `VALKEY`. + * @param engine The current supported values are `redis`, `valkey` (case insensitive). * * @return builder * @@ -285,7 +285,7 @@ public Builder engine(@Nullable Output engine) { } /** - * @param engine The current supported values are `REDIS`, `VALKEY`. + * @param engine The current supported values are `redis`, `valkey` (case insensitive). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java index 4bb3660eab1..92197a19d8e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java @@ -77,6 +77,20 @@ */ @ResourceType(type="aws:globalaccelerator/accelerator:Accelerator") public class Accelerator extends com.pulumi.resources.CustomResource { + /** + * The Amazon Resource Name (ARN) of the accelerator. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the accelerator. + * + */ + public Output arn() { + return this.arn; + } /** * The attributes of the accelerator. Fields documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java index 46a14ae3190..8fed034649c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingAccelerator.java @@ -77,6 +77,20 @@ */ @ResourceType(type="aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator") public class CustomRoutingAccelerator extends com.pulumi.resources.CustomResource { + /** + * The Amazon Resource Name (ARN) of the custom accelerator. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the custom accelerator. + * + */ + public Output arn() { + return this.arn; + } /** * The attributes of the accelerator. Fields documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java index 2a892d96587..22f2f8b00e5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingEndpointGroup.java @@ -48,7 +48,7 @@ * * public static void stack(Context ctx) { * var example = new CustomRoutingEndpointGroup("example", CustomRoutingEndpointGroupArgs.builder() - * .listenerArn(exampleAwsGlobalacceleratorCustomRoutingListener.id()) + * .listenerArn(exampleAwsGlobalacceleratorCustomRoutingListener.arn()) * .destinationConfigurations(CustomRoutingEndpointGroupDestinationConfigurationArgs.builder() * .fromPort(80) * .toPort(8080) diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java index 229a5a8739a..a6ddd56f13c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CustomRoutingListener.java @@ -59,7 +59,7 @@ * .build()); * * var exampleCustomRoutingListener = new CustomRoutingListener("exampleCustomRoutingListener", CustomRoutingListenerArgs.builder() - * .acceleratorArn(example.id()) + * .acceleratorArn(example.arn()) * .portRanges(CustomRoutingListenerPortRangeArgs.builder() * .fromPort(80) * .toPort(80) @@ -97,6 +97,12 @@ public class CustomRoutingListener extends com.pulumi.resources.CustomResource { public Output acceleratorArn() { return this.acceleratorArn; } + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + public Output arn() { + return this.arn; + } /** * The list of port ranges for the connections from clients to the accelerator. Fields documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java index af3ccf201b8..6ccdcb6b537 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/EndpointGroup.java @@ -49,7 +49,7 @@ * * public static void stack(Context ctx) { * var example = new EndpointGroup("example", EndpointGroupArgs.builder() - * .listenerArn(exampleAwsGlobalacceleratorListener.id()) + * .listenerArn(exampleAwsGlobalacceleratorListener.arn()) * .endpointConfigurations(EndpointGroupEndpointConfigurationArgs.builder() * .endpointId(exampleAwsLb.arn()) * .weight(100) diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java index fa58719aefa..0daeca89e45 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Listener.java @@ -60,7 +60,7 @@ * .build()); * * var exampleListener = new Listener("exampleListener", ListenerArgs.builder() - * .acceleratorArn(example.id()) + * .acceleratorArn(example.arn()) * .clientAffinity("SOURCE_IP") * .protocol("TCP") * .portRanges(ListenerPortRangeArgs.builder() @@ -100,6 +100,20 @@ public class Listener extends com.pulumi.resources.CustomResource { public Output acceleratorArn() { return this.acceleratorArn; } + /** + * The Amazon Resource Name (ARN) of the listener. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the listener. + * + */ + public Output arn() { + return this.arn; + } /** * Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java index c6d5d164b98..a0f275e49b7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java @@ -20,6 +20,21 @@ public final class AcceleratorState extends com.pulumi.resources.ResourceArgs { public static final AcceleratorState Empty = new AcceleratorState(); + /** + * The Amazon Resource Name (ARN) of the accelerator. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the accelerator. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + /** * The attributes of the accelerator. Fields documented below. * @@ -200,6 +215,7 @@ public Optional>> tagsAll() { private AcceleratorState() {} private AcceleratorState(AcceleratorState $) { + this.arn = $.arn; this.attributes = $.attributes; this.dnsName = $.dnsName; this.dualStackDnsName = $.dualStackDnsName; @@ -231,6 +247,27 @@ public Builder(AcceleratorState defaults) { $ = new AcceleratorState(Objects.requireNonNull(defaults)); } + /** + * @param arn The Amazon Resource Name (ARN) of the accelerator. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The Amazon Resource Name (ARN) of the accelerator. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + /** * @param attributes The attributes of the accelerator. Fields documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingAcceleratorState.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingAcceleratorState.java index 7433c27c70e..6dee5cad069 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingAcceleratorState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingAcceleratorState.java @@ -20,6 +20,21 @@ public final class CustomRoutingAcceleratorState extends com.pulumi.resources.Re public static final CustomRoutingAcceleratorState Empty = new CustomRoutingAcceleratorState(); + /** + * The Amazon Resource Name (ARN) of the custom accelerator. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the custom accelerator. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + /** * The attributes of the accelerator. Fields documented below. * @@ -185,6 +200,7 @@ public Optional>> tagsAll() { private CustomRoutingAcceleratorState() {} private CustomRoutingAcceleratorState(CustomRoutingAcceleratorState $) { + this.arn = $.arn; this.attributes = $.attributes; this.dnsName = $.dnsName; this.enabled = $.enabled; @@ -215,6 +231,27 @@ public Builder(CustomRoutingAcceleratorState defaults) { $ = new CustomRoutingAcceleratorState(Objects.requireNonNull(defaults)); } + /** + * @param arn The Amazon Resource Name (ARN) of the custom accelerator. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The Amazon Resource Name (ARN) of the custom accelerator. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + /** * @param attributes The attributes of the accelerator. Fields documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingListenerState.java index 761c04c84bd..60adb4be975 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CustomRoutingListenerState.java @@ -32,6 +32,13 @@ public Optional> acceleratorArn() { return Optional.ofNullable(this.acceleratorArn); } + @Import(name="arn") + private @Nullable Output arn; + + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + /** * The list of port ranges for the connections from clients to the accelerator. Fields documented below. * @@ -51,6 +58,7 @@ private CustomRoutingListenerState() {} private CustomRoutingListenerState(CustomRoutingListenerState $) { this.acceleratorArn = $.acceleratorArn; + this.arn = $.arn; this.portRanges = $.portRanges; } @@ -93,6 +101,15 @@ public Builder acceleratorArn(String acceleratorArn) { return acceleratorArn(Output.of(acceleratorArn)); } + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + /** * @param portRanges The list of port ranges for the connections from clients to the accelerator. Fields documented below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/ListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/ListenerState.java index b172cb14797..b22f74b99ef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/ListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/ListenerState.java @@ -32,6 +32,21 @@ public Optional> acceleratorArn() { return Optional.ofNullable(this.acceleratorArn); } + /** + * The Amazon Resource Name (ARN) of the listener. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the listener. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + /** * Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. * @@ -81,6 +96,7 @@ private ListenerState() {} private ListenerState(ListenerState $) { this.acceleratorArn = $.acceleratorArn; + this.arn = $.arn; this.clientAffinity = $.clientAffinity; this.portRanges = $.portRanges; this.protocol = $.protocol; @@ -125,6 +141,27 @@ public Builder acceleratorArn(String acceleratorArn) { return acceleratorArn(Output.of(acceleratorArn)); } + /** + * @param arn The Amazon Resource Name (ARN) of the listener. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The Amazon Resource Name (ARN) of the listener. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + /** * @param clientAffinity Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java index 6ce31035f96..022a21e6c43 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java @@ -2235,6 +2235,21 @@ public Optional> internetmonitor() { return Optional.ofNullable(this.internetmonitor); } + /** + * Use this to override the default service endpoint URL + * + */ + @Import(name="invoicing") + private @Nullable Output invoicing; + + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional> invoicing() { + return Optional.ofNullable(this.invoicing); + } + /** * Use this to override the default service endpoint URL * @@ -4606,6 +4621,7 @@ private ProviderEndpointArgs(ProviderEndpointArgs $) { this.inspector2 = $.inspector2; this.inspectorv2 = $.inspectorv2; this.internetmonitor = $.internetmonitor; + this.invoicing = $.invoicing; this.iot = $.iot; this.iotanalytics = $.iotanalytics; this.iotevents = $.iotevents; @@ -7882,6 +7898,27 @@ public Builder internetmonitor(String internetmonitor) { return internetmonitor(Output.of(internetmonitor)); } + /** + * @param invoicing Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder invoicing(@Nullable Output invoicing) { + $.invoicing = invoicing; + return this; + } + + /** + * @param invoicing Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder invoicing(String invoicing) { + return invoicing(Output.of(invoicing)); + } + /** * @param iot Use this to override the default service endpoint URL * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java b/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java index 443f651bf63..b76d1ce9545 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStore.java @@ -6,11 +6,13 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.kms.CustomKeyStoreArgs; import com.pulumi.aws.kms.inputs.CustomKeyStoreState; +import com.pulumi.aws.kms.outputs.CustomKeyStoreXksProxyAuthenticationCredential; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; import java.lang.String; +import java.util.Optional; import javax.annotation.Nullable; /** @@ -18,7 +20,7 @@ * * ## Example Usage * - * ### Basic Usage + * ### CloudHSM * * <!--Start PulumiCodeChooser --> *
@@ -58,6 +60,95 @@
  * 
* <!--End PulumiCodeChooser --> * + * ### External Key Store (VPC) + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.kms.CustomKeyStore;
+ * import com.pulumi.aws.kms.CustomKeyStoreArgs;
+ * import com.pulumi.aws.kms.inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new CustomKeyStore("example", CustomKeyStoreArgs.builder()
+ *             .customKeyStoreName("example-vpc-xks")
+ *             .customKeyStoreType("EXTERNAL_KEY_STORE")
+ *             .xksProxyAuthenticationCredential(CustomKeyStoreXksProxyAuthenticationCredentialArgs.builder()
+ *                 .accessKeyId(ephemeralAccessKeyId)
+ *                 .rawSecretAccessKey(ephemeralSecretAccessKey)
+ *                 .build())
+ *             .xksProxyConnectivity("VPC_ENDPOINT_SERVICE")
+ *             .xksProxyUriEndpoint("https://myproxy-private.xks.example.com")
+ *             .xksProxyUriPath("/kms/xks/v1")
+ *             .xksProxyVpcEndpointServiceName("com.amazonaws.vpce.us-east-1.vpce-svc-example")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### External Key Store (Public) + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.kms.CustomKeyStore;
+ * import com.pulumi.aws.kms.CustomKeyStoreArgs;
+ * import com.pulumi.aws.kms.inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new CustomKeyStore("example", CustomKeyStoreArgs.builder()
+ *             .customKeyStoreName("example-public-xks")
+ *             .customKeyStoreType("EXTERNAL_KEY_STORE")
+ *             .xksProxyAuthenticationCredential(CustomKeyStoreXksProxyAuthenticationCredentialArgs.builder()
+ *                 .accessKeyId(ephemeralAccessKeyId)
+ *                 .rawSecretAccessKey(ephemeralSecretAccessKey)
+ *                 .build())
+ *             .xksProxyConnectivity("PUBLIC_ENDPOINT")
+ *             .xksProxyUriEndpoint("https://myproxy.xks.example.com")
+ *             .xksProxyUriPath("/kms/xks/v1")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * * ## Import * * Using `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example: @@ -69,23 +160,17 @@ */ @ResourceType(type="aws:kms/customKeyStore:CustomKeyStore") public class CustomKeyStore extends com.pulumi.resources.CustomResource { - /** - * Cluster ID of CloudHSM. - * - */ @Export(name="cloudHsmClusterId", refs={String.class}, tree="[0]") - private Output cloudHsmClusterId; + private Output cloudHsmClusterId; - /** - * @return Cluster ID of CloudHSM. - * - */ - public Output cloudHsmClusterId() { - return this.cloudHsmClusterId; + public Output> cloudHsmClusterId() { + return Codegen.optional(this.cloudHsmClusterId); } /** * Unique name for Custom Key Store. * + * The following arguments are optional: + * */ @Export(name="customKeyStoreName", refs={String.class}, tree="[0]") private Output customKeyStoreName; @@ -93,37 +178,67 @@ public Output cloudHsmClusterId() { /** * @return Unique name for Custom Key Store. * + * The following arguments are optional: + * */ public Output customKeyStoreName() { return this.customKeyStoreName; } /** - * Password for `kmsuser` on CloudHSM. + * Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * */ - @Export(name="keyStorePassword", refs={String.class}, tree="[0]") - private Output keyStorePassword; + @Export(name="customKeyStoreType", refs={String.class}, tree="[0]") + private Output customKeyStoreType; /** - * @return Password for `kmsuser` on CloudHSM. + * @return Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * */ - public Output keyStorePassword() { - return this.keyStorePassword; + public Output customKeyStoreType() { + return this.customKeyStoreType; + } + @Export(name="keyStorePassword", refs={String.class}, tree="[0]") + private Output keyStorePassword; + + public Output> keyStorePassword() { + return Codegen.optional(this.keyStorePassword); } - /** - * Customer certificate used for signing on CloudHSM. - * - */ @Export(name="trustAnchorCertificate", refs={String.class}, tree="[0]") - private Output trustAnchorCertificate; + private Output trustAnchorCertificate; - /** - * @return Customer certificate used for signing on CloudHSM. - * - */ - public Output trustAnchorCertificate() { - return this.trustAnchorCertificate; + public Output> trustAnchorCertificate() { + return Codegen.optional(this.trustAnchorCertificate); + } + @Export(name="xksProxyAuthenticationCredential", refs={CustomKeyStoreXksProxyAuthenticationCredential.class}, tree="[0]") + private Output xksProxyAuthenticationCredential; + + public Output> xksProxyAuthenticationCredential() { + return Codegen.optional(this.xksProxyAuthenticationCredential); + } + @Export(name="xksProxyConnectivity", refs={String.class}, tree="[0]") + private Output xksProxyConnectivity; + + public Output> xksProxyConnectivity() { + return Codegen.optional(this.xksProxyConnectivity); + } + @Export(name="xksProxyUriEndpoint", refs={String.class}, tree="[0]") + private Output xksProxyUriEndpoint; + + public Output> xksProxyUriEndpoint() { + return Codegen.optional(this.xksProxyUriEndpoint); + } + @Export(name="xksProxyUriPath", refs={String.class}, tree="[0]") + private Output xksProxyUriPath; + + public Output> xksProxyUriPath() { + return Codegen.optional(this.xksProxyUriPath); + } + @Export(name="xksProxyVpcEndpointServiceName", refs={String.class}, tree="[0]") + private Output xksProxyVpcEndpointServiceName; + + public Output> xksProxyVpcEndpointServiceName() { + return Codegen.optional(this.xksProxyVpcEndpointServiceName); } /** diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStoreArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStoreArgs.java index cf3ba01a810..fdc672c45d8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStoreArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/CustomKeyStoreArgs.java @@ -3,35 +3,32 @@ package com.pulumi.aws.kms; +import com.pulumi.aws.kms.inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class CustomKeyStoreArgs extends com.pulumi.resources.ResourceArgs { public static final CustomKeyStoreArgs Empty = new CustomKeyStoreArgs(); - /** - * Cluster ID of CloudHSM. - * - */ - @Import(name="cloudHsmClusterId", required=true) - private Output cloudHsmClusterId; + @Import(name="cloudHsmClusterId") + private @Nullable Output cloudHsmClusterId; - /** - * @return Cluster ID of CloudHSM. - * - */ - public Output cloudHsmClusterId() { - return this.cloudHsmClusterId; + public Optional> cloudHsmClusterId() { + return Optional.ofNullable(this.cloudHsmClusterId); } /** * Unique name for Custom Key Store. * + * The following arguments are optional: + * */ @Import(name="customKeyStoreName", required=true) private Output customKeyStoreName; @@ -39,39 +36,75 @@ public Output cloudHsmClusterId() { /** * @return Unique name for Custom Key Store. * + * The following arguments are optional: + * */ public Output customKeyStoreName() { return this.customKeyStoreName; } /** - * Password for `kmsuser` on CloudHSM. + * Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * */ - @Import(name="keyStorePassword", required=true) - private Output keyStorePassword; + @Import(name="customKeyStoreType") + private @Nullable Output customKeyStoreType; /** - * @return Password for `kmsuser` on CloudHSM. + * @return Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * */ - public Output keyStorePassword() { - return this.keyStorePassword; + public Optional> customKeyStoreType() { + return Optional.ofNullable(this.customKeyStoreType); } - /** - * Customer certificate used for signing on CloudHSM. - * - */ - @Import(name="trustAnchorCertificate", required=true) - private Output trustAnchorCertificate; + @Import(name="keyStorePassword") + private @Nullable Output keyStorePassword; - /** - * @return Customer certificate used for signing on CloudHSM. - * - */ - public Output trustAnchorCertificate() { - return this.trustAnchorCertificate; + public Optional> keyStorePassword() { + return Optional.ofNullable(this.keyStorePassword); + } + + @Import(name="trustAnchorCertificate") + private @Nullable Output trustAnchorCertificate; + + public Optional> trustAnchorCertificate() { + return Optional.ofNullable(this.trustAnchorCertificate); + } + + @Import(name="xksProxyAuthenticationCredential") + private @Nullable Output xksProxyAuthenticationCredential; + + public Optional> xksProxyAuthenticationCredential() { + return Optional.ofNullable(this.xksProxyAuthenticationCredential); + } + + @Import(name="xksProxyConnectivity") + private @Nullable Output xksProxyConnectivity; + + public Optional> xksProxyConnectivity() { + return Optional.ofNullable(this.xksProxyConnectivity); + } + + @Import(name="xksProxyUriEndpoint") + private @Nullable Output xksProxyUriEndpoint; + + public Optional> xksProxyUriEndpoint() { + return Optional.ofNullable(this.xksProxyUriEndpoint); + } + + @Import(name="xksProxyUriPath") + private @Nullable Output xksProxyUriPath; + + public Optional> xksProxyUriPath() { + return Optional.ofNullable(this.xksProxyUriPath); + } + + @Import(name="xksProxyVpcEndpointServiceName") + private @Nullable Output xksProxyVpcEndpointServiceName; + + public Optional> xksProxyVpcEndpointServiceName() { + return Optional.ofNullable(this.xksProxyVpcEndpointServiceName); } private CustomKeyStoreArgs() {} @@ -79,8 +112,14 @@ private CustomKeyStoreArgs() {} private CustomKeyStoreArgs(CustomKeyStoreArgs $) { this.cloudHsmClusterId = $.cloudHsmClusterId; this.customKeyStoreName = $.customKeyStoreName; + this.customKeyStoreType = $.customKeyStoreType; this.keyStorePassword = $.keyStorePassword; this.trustAnchorCertificate = $.trustAnchorCertificate; + this.xksProxyAuthenticationCredential = $.xksProxyAuthenticationCredential; + this.xksProxyConnectivity = $.xksProxyConnectivity; + this.xksProxyUriEndpoint = $.xksProxyUriEndpoint; + this.xksProxyUriPath = $.xksProxyUriPath; + this.xksProxyVpcEndpointServiceName = $.xksProxyVpcEndpointServiceName; } public static Builder builder() { @@ -101,23 +140,11 @@ public Builder(CustomKeyStoreArgs defaults) { $ = new CustomKeyStoreArgs(Objects.requireNonNull(defaults)); } - /** - * @param cloudHsmClusterId Cluster ID of CloudHSM. - * - * @return builder - * - */ - public Builder cloudHsmClusterId(Output cloudHsmClusterId) { + public Builder cloudHsmClusterId(@Nullable Output cloudHsmClusterId) { $.cloudHsmClusterId = cloudHsmClusterId; return this; } - /** - * @param cloudHsmClusterId Cluster ID of CloudHSM. - * - * @return builder - * - */ public Builder cloudHsmClusterId(String cloudHsmClusterId) { return cloudHsmClusterId(Output.of(cloudHsmClusterId)); } @@ -125,6 +152,8 @@ public Builder cloudHsmClusterId(String cloudHsmClusterId) { /** * @param customKeyStoreName Unique name for Custom Key Store. * + * The following arguments are optional: + * * @return builder * */ @@ -136,6 +165,8 @@ public Builder customKeyStoreName(Output customKeyStoreName) { /** * @param customKeyStoreName Unique name for Custom Key Store. * + * The following arguments are optional: + * * @return builder * */ @@ -144,60 +175,93 @@ public Builder customKeyStoreName(String customKeyStoreName) { } /** - * @param keyStorePassword Password for `kmsuser` on CloudHSM. + * @param customKeyStoreType Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * * @return builder * */ - public Builder keyStorePassword(Output keyStorePassword) { - $.keyStorePassword = keyStorePassword; + public Builder customKeyStoreType(@Nullable Output customKeyStoreType) { + $.customKeyStoreType = customKeyStoreType; return this; } /** - * @param keyStorePassword Password for `kmsuser` on CloudHSM. + * @param customKeyStoreType Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * * @return builder * */ + public Builder customKeyStoreType(String customKeyStoreType) { + return customKeyStoreType(Output.of(customKeyStoreType)); + } + + public Builder keyStorePassword(@Nullable Output keyStorePassword) { + $.keyStorePassword = keyStorePassword; + return this; + } + public Builder keyStorePassword(String keyStorePassword) { return keyStorePassword(Output.of(keyStorePassword)); } - /** - * @param trustAnchorCertificate Customer certificate used for signing on CloudHSM. - * - * @return builder - * - */ - public Builder trustAnchorCertificate(Output trustAnchorCertificate) { + public Builder trustAnchorCertificate(@Nullable Output trustAnchorCertificate) { $.trustAnchorCertificate = trustAnchorCertificate; return this; } - /** - * @param trustAnchorCertificate Customer certificate used for signing on CloudHSM. - * - * @return builder - * - */ public Builder trustAnchorCertificate(String trustAnchorCertificate) { return trustAnchorCertificate(Output.of(trustAnchorCertificate)); } + public Builder xksProxyAuthenticationCredential(@Nullable Output xksProxyAuthenticationCredential) { + $.xksProxyAuthenticationCredential = xksProxyAuthenticationCredential; + return this; + } + + public Builder xksProxyAuthenticationCredential(CustomKeyStoreXksProxyAuthenticationCredentialArgs xksProxyAuthenticationCredential) { + return xksProxyAuthenticationCredential(Output.of(xksProxyAuthenticationCredential)); + } + + public Builder xksProxyConnectivity(@Nullable Output xksProxyConnectivity) { + $.xksProxyConnectivity = xksProxyConnectivity; + return this; + } + + public Builder xksProxyConnectivity(String xksProxyConnectivity) { + return xksProxyConnectivity(Output.of(xksProxyConnectivity)); + } + + public Builder xksProxyUriEndpoint(@Nullable Output xksProxyUriEndpoint) { + $.xksProxyUriEndpoint = xksProxyUriEndpoint; + return this; + } + + public Builder xksProxyUriEndpoint(String xksProxyUriEndpoint) { + return xksProxyUriEndpoint(Output.of(xksProxyUriEndpoint)); + } + + public Builder xksProxyUriPath(@Nullable Output xksProxyUriPath) { + $.xksProxyUriPath = xksProxyUriPath; + return this; + } + + public Builder xksProxyUriPath(String xksProxyUriPath) { + return xksProxyUriPath(Output.of(xksProxyUriPath)); + } + + public Builder xksProxyVpcEndpointServiceName(@Nullable Output xksProxyVpcEndpointServiceName) { + $.xksProxyVpcEndpointServiceName = xksProxyVpcEndpointServiceName; + return this; + } + + public Builder xksProxyVpcEndpointServiceName(String xksProxyVpcEndpointServiceName) { + return xksProxyVpcEndpointServiceName(Output.of(xksProxyVpcEndpointServiceName)); + } + public CustomKeyStoreArgs build() { - if ($.cloudHsmClusterId == null) { - throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "cloudHsmClusterId"); - } if ($.customKeyStoreName == null) { throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "customKeyStoreName"); } - if ($.keyStorePassword == null) { - throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "keyStorePassword"); - } - if ($.trustAnchorCertificate == null) { - throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "trustAnchorCertificate"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/inputs/CustomKeyStoreState.java b/sdk/java/src/main/java/com/pulumi/aws/kms/inputs/CustomKeyStoreState.java index 5aa81845443..2db84407c17 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/inputs/CustomKeyStoreState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/inputs/CustomKeyStoreState.java @@ -3,6 +3,7 @@ package com.pulumi.aws.kms.inputs; +import com.pulumi.aws.kms.inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -15,17 +16,9 @@ public final class CustomKeyStoreState extends com.pulumi.resources.ResourceArgs public static final CustomKeyStoreState Empty = new CustomKeyStoreState(); - /** - * Cluster ID of CloudHSM. - * - */ @Import(name="cloudHsmClusterId") private @Nullable Output cloudHsmClusterId; - /** - * @return Cluster ID of CloudHSM. - * - */ public Optional> cloudHsmClusterId() { return Optional.ofNullable(this.cloudHsmClusterId); } @@ -33,6 +26,8 @@ public Optional> cloudHsmClusterId() { /** * Unique name for Custom Key Store. * + * The following arguments are optional: + * */ @Import(name="customKeyStoreName") private @Nullable Output customKeyStoreName; @@ -40,48 +35,90 @@ public Optional> cloudHsmClusterId() { /** * @return Unique name for Custom Key Store. * + * The following arguments are optional: + * */ public Optional> customKeyStoreName() { return Optional.ofNullable(this.customKeyStoreName); } /** - * Password for `kmsuser` on CloudHSM. + * Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * */ - @Import(name="keyStorePassword") - private @Nullable Output keyStorePassword; + @Import(name="customKeyStoreType") + private @Nullable Output customKeyStoreType; /** - * @return Password for `kmsuser` on CloudHSM. + * @return Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * */ + public Optional> customKeyStoreType() { + return Optional.ofNullable(this.customKeyStoreType); + } + + @Import(name="keyStorePassword") + private @Nullable Output keyStorePassword; + public Optional> keyStorePassword() { return Optional.ofNullable(this.keyStorePassword); } - /** - * Customer certificate used for signing on CloudHSM. - * - */ @Import(name="trustAnchorCertificate") private @Nullable Output trustAnchorCertificate; - /** - * @return Customer certificate used for signing on CloudHSM. - * - */ public Optional> trustAnchorCertificate() { return Optional.ofNullable(this.trustAnchorCertificate); } + @Import(name="xksProxyAuthenticationCredential") + private @Nullable Output xksProxyAuthenticationCredential; + + public Optional> xksProxyAuthenticationCredential() { + return Optional.ofNullable(this.xksProxyAuthenticationCredential); + } + + @Import(name="xksProxyConnectivity") + private @Nullable Output xksProxyConnectivity; + + public Optional> xksProxyConnectivity() { + return Optional.ofNullable(this.xksProxyConnectivity); + } + + @Import(name="xksProxyUriEndpoint") + private @Nullable Output xksProxyUriEndpoint; + + public Optional> xksProxyUriEndpoint() { + return Optional.ofNullable(this.xksProxyUriEndpoint); + } + + @Import(name="xksProxyUriPath") + private @Nullable Output xksProxyUriPath; + + public Optional> xksProxyUriPath() { + return Optional.ofNullable(this.xksProxyUriPath); + } + + @Import(name="xksProxyVpcEndpointServiceName") + private @Nullable Output xksProxyVpcEndpointServiceName; + + public Optional> xksProxyVpcEndpointServiceName() { + return Optional.ofNullable(this.xksProxyVpcEndpointServiceName); + } + private CustomKeyStoreState() {} private CustomKeyStoreState(CustomKeyStoreState $) { this.cloudHsmClusterId = $.cloudHsmClusterId; this.customKeyStoreName = $.customKeyStoreName; + this.customKeyStoreType = $.customKeyStoreType; this.keyStorePassword = $.keyStorePassword; this.trustAnchorCertificate = $.trustAnchorCertificate; + this.xksProxyAuthenticationCredential = $.xksProxyAuthenticationCredential; + this.xksProxyConnectivity = $.xksProxyConnectivity; + this.xksProxyUriEndpoint = $.xksProxyUriEndpoint; + this.xksProxyUriPath = $.xksProxyUriPath; + this.xksProxyVpcEndpointServiceName = $.xksProxyVpcEndpointServiceName; } public static Builder builder() { @@ -102,23 +139,11 @@ public Builder(CustomKeyStoreState defaults) { $ = new CustomKeyStoreState(Objects.requireNonNull(defaults)); } - /** - * @param cloudHsmClusterId Cluster ID of CloudHSM. - * - * @return builder - * - */ public Builder cloudHsmClusterId(@Nullable Output cloudHsmClusterId) { $.cloudHsmClusterId = cloudHsmClusterId; return this; } - /** - * @param cloudHsmClusterId Cluster ID of CloudHSM. - * - * @return builder - * - */ public Builder cloudHsmClusterId(String cloudHsmClusterId) { return cloudHsmClusterId(Output.of(cloudHsmClusterId)); } @@ -126,6 +151,8 @@ public Builder cloudHsmClusterId(String cloudHsmClusterId) { /** * @param customKeyStoreName Unique name for Custom Key Store. * + * The following arguments are optional: + * * @return builder * */ @@ -137,6 +164,8 @@ public Builder customKeyStoreName(@Nullable Output customKeyStoreName) { /** * @param customKeyStoreName Unique name for Custom Key Store. * + * The following arguments are optional: + * * @return builder * */ @@ -145,47 +174,89 @@ public Builder customKeyStoreName(String customKeyStoreName) { } /** - * @param keyStorePassword Password for `kmsuser` on CloudHSM. + * @param customKeyStoreType Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * * @return builder * */ - public Builder keyStorePassword(@Nullable Output keyStorePassword) { - $.keyStorePassword = keyStorePassword; + public Builder customKeyStoreType(@Nullable Output customKeyStoreType) { + $.customKeyStoreType = customKeyStoreType; return this; } /** - * @param keyStorePassword Password for `kmsuser` on CloudHSM. + * @param customKeyStoreType Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. * * @return builder * */ + public Builder customKeyStoreType(String customKeyStoreType) { + return customKeyStoreType(Output.of(customKeyStoreType)); + } + + public Builder keyStorePassword(@Nullable Output keyStorePassword) { + $.keyStorePassword = keyStorePassword; + return this; + } + public Builder keyStorePassword(String keyStorePassword) { return keyStorePassword(Output.of(keyStorePassword)); } - /** - * @param trustAnchorCertificate Customer certificate used for signing on CloudHSM. - * - * @return builder - * - */ public Builder trustAnchorCertificate(@Nullable Output trustAnchorCertificate) { $.trustAnchorCertificate = trustAnchorCertificate; return this; } - /** - * @param trustAnchorCertificate Customer certificate used for signing on CloudHSM. - * - * @return builder - * - */ public Builder trustAnchorCertificate(String trustAnchorCertificate) { return trustAnchorCertificate(Output.of(trustAnchorCertificate)); } + public Builder xksProxyAuthenticationCredential(@Nullable Output xksProxyAuthenticationCredential) { + $.xksProxyAuthenticationCredential = xksProxyAuthenticationCredential; + return this; + } + + public Builder xksProxyAuthenticationCredential(CustomKeyStoreXksProxyAuthenticationCredentialArgs xksProxyAuthenticationCredential) { + return xksProxyAuthenticationCredential(Output.of(xksProxyAuthenticationCredential)); + } + + public Builder xksProxyConnectivity(@Nullable Output xksProxyConnectivity) { + $.xksProxyConnectivity = xksProxyConnectivity; + return this; + } + + public Builder xksProxyConnectivity(String xksProxyConnectivity) { + return xksProxyConnectivity(Output.of(xksProxyConnectivity)); + } + + public Builder xksProxyUriEndpoint(@Nullable Output xksProxyUriEndpoint) { + $.xksProxyUriEndpoint = xksProxyUriEndpoint; + return this; + } + + public Builder xksProxyUriEndpoint(String xksProxyUriEndpoint) { + return xksProxyUriEndpoint(Output.of(xksProxyUriEndpoint)); + } + + public Builder xksProxyUriPath(@Nullable Output xksProxyUriPath) { + $.xksProxyUriPath = xksProxyUriPath; + return this; + } + + public Builder xksProxyUriPath(String xksProxyUriPath) { + return xksProxyUriPath(Output.of(xksProxyUriPath)); + } + + public Builder xksProxyVpcEndpointServiceName(@Nullable Output xksProxyVpcEndpointServiceName) { + $.xksProxyVpcEndpointServiceName = xksProxyVpcEndpointServiceName; + return this; + } + + public Builder xksProxyVpcEndpointServiceName(String xksProxyVpcEndpointServiceName) { + return xksProxyVpcEndpointServiceName(Output.of(xksProxyVpcEndpointServiceName)); + } + public CustomKeyStoreState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/inputs/CustomKeyStoreXksProxyAuthenticationCredentialArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kms/inputs/CustomKeyStoreXksProxyAuthenticationCredentialArgs.java new file mode 100644 index 00000000000..0acf13c00d3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/inputs/CustomKeyStoreXksProxyAuthenticationCredentialArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kms.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class CustomKeyStoreXksProxyAuthenticationCredentialArgs extends com.pulumi.resources.ResourceArgs { + + public static final CustomKeyStoreXksProxyAuthenticationCredentialArgs Empty = new CustomKeyStoreXksProxyAuthenticationCredentialArgs(); + + /** + * A unique identifier for the raw secret access key. + * + */ + @Import(name="accessKeyId", required=true) + private Output accessKeyId; + + /** + * @return A unique identifier for the raw secret access key. + * + */ + public Output accessKeyId() { + return this.accessKeyId; + } + + /** + * A secret string of 43-64 characters. + * + */ + @Import(name="rawSecretAccessKey", required=true) + private Output rawSecretAccessKey; + + /** + * @return A secret string of 43-64 characters. + * + */ + public Output rawSecretAccessKey() { + return this.rawSecretAccessKey; + } + + private CustomKeyStoreXksProxyAuthenticationCredentialArgs() {} + + private CustomKeyStoreXksProxyAuthenticationCredentialArgs(CustomKeyStoreXksProxyAuthenticationCredentialArgs $) { + this.accessKeyId = $.accessKeyId; + this.rawSecretAccessKey = $.rawSecretAccessKey; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CustomKeyStoreXksProxyAuthenticationCredentialArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CustomKeyStoreXksProxyAuthenticationCredentialArgs $; + + public Builder() { + $ = new CustomKeyStoreXksProxyAuthenticationCredentialArgs(); + } + + public Builder(CustomKeyStoreXksProxyAuthenticationCredentialArgs defaults) { + $ = new CustomKeyStoreXksProxyAuthenticationCredentialArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accessKeyId A unique identifier for the raw secret access key. + * + * @return builder + * + */ + public Builder accessKeyId(Output accessKeyId) { + $.accessKeyId = accessKeyId; + return this; + } + + /** + * @param accessKeyId A unique identifier for the raw secret access key. + * + * @return builder + * + */ + public Builder accessKeyId(String accessKeyId) { + return accessKeyId(Output.of(accessKeyId)); + } + + /** + * @param rawSecretAccessKey A secret string of 43-64 characters. + * + * @return builder + * + */ + public Builder rawSecretAccessKey(Output rawSecretAccessKey) { + $.rawSecretAccessKey = rawSecretAccessKey; + return this; + } + + /** + * @param rawSecretAccessKey A secret string of 43-64 characters. + * + * @return builder + * + */ + public Builder rawSecretAccessKey(String rawSecretAccessKey) { + return rawSecretAccessKey(Output.of(rawSecretAccessKey)); + } + + public CustomKeyStoreXksProxyAuthenticationCredentialArgs build() { + if ($.accessKeyId == null) { + throw new MissingRequiredPropertyException("CustomKeyStoreXksProxyAuthenticationCredentialArgs", "accessKeyId"); + } + if ($.rawSecretAccessKey == null) { + throw new MissingRequiredPropertyException("CustomKeyStoreXksProxyAuthenticationCredentialArgs", "rawSecretAccessKey"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/outputs/CustomKeyStoreXksProxyAuthenticationCredential.java b/sdk/java/src/main/java/com/pulumi/aws/kms/outputs/CustomKeyStoreXksProxyAuthenticationCredential.java new file mode 100644 index 00000000000..4393ebc8461 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/outputs/CustomKeyStoreXksProxyAuthenticationCredential.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kms.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class CustomKeyStoreXksProxyAuthenticationCredential { + /** + * @return A unique identifier for the raw secret access key. + * + */ + private String accessKeyId; + /** + * @return A secret string of 43-64 characters. + * + */ + private String rawSecretAccessKey; + + private CustomKeyStoreXksProxyAuthenticationCredential() {} + /** + * @return A unique identifier for the raw secret access key. + * + */ + public String accessKeyId() { + return this.accessKeyId; + } + /** + * @return A secret string of 43-64 characters. + * + */ + public String rawSecretAccessKey() { + return this.rawSecretAccessKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CustomKeyStoreXksProxyAuthenticationCredential defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String accessKeyId; + private String rawSecretAccessKey; + public Builder() {} + public Builder(CustomKeyStoreXksProxyAuthenticationCredential defaults) { + Objects.requireNonNull(defaults); + this.accessKeyId = defaults.accessKeyId; + this.rawSecretAccessKey = defaults.rawSecretAccessKey; + } + + @CustomType.Setter + public Builder accessKeyId(String accessKeyId) { + if (accessKeyId == null) { + throw new MissingRequiredPropertyException("CustomKeyStoreXksProxyAuthenticationCredential", "accessKeyId"); + } + this.accessKeyId = accessKeyId; + return this; + } + @CustomType.Setter + public Builder rawSecretAccessKey(String rawSecretAccessKey) { + if (rawSecretAccessKey == null) { + throw new MissingRequiredPropertyException("CustomKeyStoreXksProxyAuthenticationCredential", "rawSecretAccessKey"); + } + this.rawSecretAccessKey = rawSecretAccessKey; + return this; + } + public CustomKeyStoreXksProxyAuthenticationCredential build() { + final var _resultValue = new CustomKeyStoreXksProxyAuthenticationCredential(); + _resultValue.accessKeyId = accessKeyId; + _resultValue.rawSecretAccessKey = rawSecretAccessKey; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java index 835a33ff23f..ee3a3d41152 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java @@ -13,6 +13,7 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -596,6 +597,272 @@ public Output> port() { public Output protocol() { return this.protocol; } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName() { + return this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznTlsCipherSuiteHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznTlsCipherSuiteHeaderName() { + return this.routingHttpRequestXAmznTlsCipherSuiteHeaderName; + } + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Export(name="routingHttpRequestXAmznTlsVersionHeaderName", refs={String.class}, tree="[0]") + private Output routingHttpRequestXAmznTlsVersionHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Output routingHttpRequestXAmznTlsVersionHeaderName() { + return this.routingHttpRequestXAmznTlsVersionHeaderName; + } + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + @Export(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowCredentialsHeaderValue; + + /** + * @return Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + public Output routingHttpResponseAccessControlAllowCredentialsHeaderValue() { + return this.routingHttpResponseAccessControlAllowCredentialsHeaderValue; + } + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + @Export(name="routingHttpResponseAccessControlAllowHeadersHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowHeadersHeaderValue; + + /** + * @return Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + public Output routingHttpResponseAccessControlAllowHeadersHeaderValue() { + return this.routingHttpResponseAccessControlAllowHeadersHeaderValue; + } + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + @Export(name="routingHttpResponseAccessControlAllowMethodsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowMethodsHeaderValue; + + /** + * @return Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + public Output routingHttpResponseAccessControlAllowMethodsHeaderValue() { + return this.routingHttpResponseAccessControlAllowMethodsHeaderValue; + } + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + @Export(name="routingHttpResponseAccessControlAllowOriginHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlAllowOriginHeaderValue; + + /** + * @return Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + public Output routingHttpResponseAccessControlAllowOriginHeaderValue() { + return this.routingHttpResponseAccessControlAllowOriginHeaderValue; + } + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + @Export(name="routingHttpResponseAccessControlExposeHeadersHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlExposeHeadersHeaderValue; + + /** + * @return Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + public Output routingHttpResponseAccessControlExposeHeadersHeaderValue() { + return this.routingHttpResponseAccessControlExposeHeadersHeaderValue; + } + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + @Export(name="routingHttpResponseAccessControlMaxAgeHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseAccessControlMaxAgeHeaderValue; + + /** + * @return Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + public Output routingHttpResponseAccessControlMaxAgeHeaderValue() { + return this.routingHttpResponseAccessControlMaxAgeHeaderValue; + } + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + @Export(name="routingHttpResponseContentSecurityPolicyHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseContentSecurityPolicyHeaderValue; + + /** + * @return Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + public Output routingHttpResponseContentSecurityPolicyHeaderValue() { + return this.routingHttpResponseContentSecurityPolicyHeaderValue; + } + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + @Export(name="routingHttpResponseServerEnabled", refs={Boolean.class}, tree="[0]") + private Output routingHttpResponseServerEnabled; + + /** + * @return Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + public Output routingHttpResponseServerEnabled() { + return this.routingHttpResponseServerEnabled; + } + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + @Export(name="routingHttpResponseStrictTransportSecurityHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseStrictTransportSecurityHeaderValue; + + /** + * @return Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + public Output routingHttpResponseStrictTransportSecurityHeaderValue() { + return this.routingHttpResponseStrictTransportSecurityHeaderValue; + } + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + @Export(name="routingHttpResponseXContentTypeOptionsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseXContentTypeOptionsHeaderValue; + + /** + * @return Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + public Output routingHttpResponseXContentTypeOptionsHeaderValue() { + return this.routingHttpResponseXContentTypeOptionsHeaderValue; + } + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + @Export(name="routingHttpResponseXFrameOptionsHeaderValue", refs={String.class}, tree="[0]") + private Output routingHttpResponseXFrameOptionsHeaderValue; + + /** + * @return Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + public Output routingHttpResponseXFrameOptionsHeaderValue() { + return this.routingHttpResponseXFrameOptionsHeaderValue; + } /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java index 28263e52376..47c02a8694c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java @@ -8,6 +8,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -130,6 +131,291 @@ public Optional> protocol() { return Optional.ofNullable(this.protocol); } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertIssuerHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertLeafHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSubjectHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertValidityHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsCipherSuiteHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsCipherSuiteHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsVersionHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsVersionHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsVersionHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsVersionHeaderName); + } + + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue; + + /** + * @return Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + public Optional> routingHttpResponseAccessControlAllowCredentialsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowCredentialsHeaderValue); + } + + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue; + + /** + * @return Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlAllowHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowHeadersHeaderValue); + } + + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue; + + /** + * @return Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + public Optional> routingHttpResponseAccessControlAllowMethodsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowMethodsHeaderValue); + } + + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue; + + /** + * @return Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + public Optional> routingHttpResponseAccessControlAllowOriginHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowOriginHeaderValue); + } + + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue; + + /** + * @return Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlExposeHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlExposeHeadersHeaderValue); + } + + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + @Import(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + private @Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue; + + /** + * @return Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + public Optional> routingHttpResponseAccessControlMaxAgeHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlMaxAgeHeaderValue); + } + + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + @Import(name="routingHttpResponseContentSecurityPolicyHeaderValue") + private @Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue; + + /** + * @return Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + public Optional> routingHttpResponseContentSecurityPolicyHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseContentSecurityPolicyHeaderValue); + } + + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + @Import(name="routingHttpResponseServerEnabled") + private @Nullable Output routingHttpResponseServerEnabled; + + /** + * @return Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + public Optional> routingHttpResponseServerEnabled() { + return Optional.ofNullable(this.routingHttpResponseServerEnabled); + } + + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + @Import(name="routingHttpResponseStrictTransportSecurityHeaderValue") + private @Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue; + + /** + * @return Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + public Optional> routingHttpResponseStrictTransportSecurityHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseStrictTransportSecurityHeaderValue); + } + + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + @Import(name="routingHttpResponseXContentTypeOptionsHeaderValue") + private @Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue; + + /** + * @return Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + public Optional> routingHttpResponseXContentTypeOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXContentTypeOptionsHeaderValue); + } + + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + @Import(name="routingHttpResponseXFrameOptionsHeaderValue") + private @Nullable Output routingHttpResponseXFrameOptionsHeaderValue; + + /** + * @return Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + public Optional> routingHttpResponseXFrameOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXFrameOptionsHeaderValue); + } + /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * @@ -189,6 +475,25 @@ private ListenerArgs(ListenerArgs $) { this.mutualAuthentication = $.mutualAuthentication; this.port = $.port; this.protocol = $.protocol; + this.routingHttpRequestXAmznMtlsClientcertHeaderName = $.routingHttpRequestXAmznMtlsClientcertHeaderName; + this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + this.routingHttpRequestXAmznTlsCipherSuiteHeaderName = $.routingHttpRequestXAmznTlsCipherSuiteHeaderName; + this.routingHttpRequestXAmznTlsVersionHeaderName = $.routingHttpRequestXAmznTlsVersionHeaderName; + this.routingHttpResponseAccessControlAllowCredentialsHeaderValue = $.routingHttpResponseAccessControlAllowCredentialsHeaderValue; + this.routingHttpResponseAccessControlAllowHeadersHeaderValue = $.routingHttpResponseAccessControlAllowHeadersHeaderValue; + this.routingHttpResponseAccessControlAllowMethodsHeaderValue = $.routingHttpResponseAccessControlAllowMethodsHeaderValue; + this.routingHttpResponseAccessControlAllowOriginHeaderValue = $.routingHttpResponseAccessControlAllowOriginHeaderValue; + this.routingHttpResponseAccessControlExposeHeadersHeaderValue = $.routingHttpResponseAccessControlExposeHeadersHeaderValue; + this.routingHttpResponseAccessControlMaxAgeHeaderValue = $.routingHttpResponseAccessControlMaxAgeHeaderValue; + this.routingHttpResponseContentSecurityPolicyHeaderValue = $.routingHttpResponseContentSecurityPolicyHeaderValue; + this.routingHttpResponseServerEnabled = $.routingHttpResponseServerEnabled; + this.routingHttpResponseStrictTransportSecurityHeaderValue = $.routingHttpResponseStrictTransportSecurityHeaderValue; + this.routingHttpResponseXContentTypeOptionsHeaderValue = $.routingHttpResponseXContentTypeOptionsHeaderValue; + this.routingHttpResponseXFrameOptionsHeaderValue = $.routingHttpResponseXFrameOptionsHeaderValue; this.sslPolicy = $.sslPolicy; this.tags = $.tags; this.tcpIdleTimeoutSeconds = $.tcpIdleTimeoutSeconds; @@ -373,6 +678,405 @@ public Builder protocol(String protocol) { return protocol(Output.of(protocol)); } + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertHeaderName = routingHttpRequestXAmznMtlsClientcertHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(String routingHttpRequestXAmznMtlsClientcertHeaderName) { + return routingHttpRequestXAmznMtlsClientcertHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(String routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + return routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertIssuerHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(String routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + return routingHttpRequestXAmznMtlsClientcertLeafHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertLeafHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(String routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(String routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSubjectHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(String routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + return routingHttpRequestXAmznMtlsClientcertValidityHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertValidityHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(@Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + $.routingHttpRequestXAmznTlsCipherSuiteHeaderName = routingHttpRequestXAmznTlsCipherSuiteHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(String routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + return routingHttpRequestXAmznTlsCipherSuiteHeaderName(Output.of(routingHttpRequestXAmznTlsCipherSuiteHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(@Nullable Output routingHttpRequestXAmznTlsVersionHeaderName) { + $.routingHttpRequestXAmznTlsVersionHeaderName = routingHttpRequestXAmznTlsVersionHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(String routingHttpRequestXAmznTlsVersionHeaderName) { + return routingHttpRequestXAmznTlsVersionHeaderName(Output.of(routingHttpRequestXAmznTlsVersionHeaderName)); + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + $.routingHttpResponseAccessControlAllowCredentialsHeaderValue = routingHttpResponseAccessControlAllowCredentialsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(String routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + return routingHttpResponseAccessControlAllowCredentialsHeaderValue(Output.of(routingHttpResponseAccessControlAllowCredentialsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue) { + $.routingHttpResponseAccessControlAllowHeadersHeaderValue = routingHttpResponseAccessControlAllowHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(String routingHttpResponseAccessControlAllowHeadersHeaderValue) { + return routingHttpResponseAccessControlAllowHeadersHeaderValue(Output.of(routingHttpResponseAccessControlAllowHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue) { + $.routingHttpResponseAccessControlAllowMethodsHeaderValue = routingHttpResponseAccessControlAllowMethodsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(String routingHttpResponseAccessControlAllowMethodsHeaderValue) { + return routingHttpResponseAccessControlAllowMethodsHeaderValue(Output.of(routingHttpResponseAccessControlAllowMethodsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue) { + $.routingHttpResponseAccessControlAllowOriginHeaderValue = routingHttpResponseAccessControlAllowOriginHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(String routingHttpResponseAccessControlAllowOriginHeaderValue) { + return routingHttpResponseAccessControlAllowOriginHeaderValue(Output.of(routingHttpResponseAccessControlAllowOriginHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue) { + $.routingHttpResponseAccessControlExposeHeadersHeaderValue = routingHttpResponseAccessControlExposeHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(String routingHttpResponseAccessControlExposeHeadersHeaderValue) { + return routingHttpResponseAccessControlExposeHeadersHeaderValue(Output.of(routingHttpResponseAccessControlExposeHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(@Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue) { + $.routingHttpResponseAccessControlMaxAgeHeaderValue = routingHttpResponseAccessControlMaxAgeHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(String routingHttpResponseAccessControlMaxAgeHeaderValue) { + return routingHttpResponseAccessControlMaxAgeHeaderValue(Output.of(routingHttpResponseAccessControlMaxAgeHeaderValue)); + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(@Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue) { + $.routingHttpResponseContentSecurityPolicyHeaderValue = routingHttpResponseContentSecurityPolicyHeaderValue; + return this; + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(String routingHttpResponseContentSecurityPolicyHeaderValue) { + return routingHttpResponseContentSecurityPolicyHeaderValue(Output.of(routingHttpResponseContentSecurityPolicyHeaderValue)); + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(@Nullable Output routingHttpResponseServerEnabled) { + $.routingHttpResponseServerEnabled = routingHttpResponseServerEnabled; + return this; + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(Boolean routingHttpResponseServerEnabled) { + return routingHttpResponseServerEnabled(Output.of(routingHttpResponseServerEnabled)); + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(@Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue) { + $.routingHttpResponseStrictTransportSecurityHeaderValue = routingHttpResponseStrictTransportSecurityHeaderValue; + return this; + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(String routingHttpResponseStrictTransportSecurityHeaderValue) { + return routingHttpResponseStrictTransportSecurityHeaderValue(Output.of(routingHttpResponseStrictTransportSecurityHeaderValue)); + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(@Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue) { + $.routingHttpResponseXContentTypeOptionsHeaderValue = routingHttpResponseXContentTypeOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(String routingHttpResponseXContentTypeOptionsHeaderValue) { + return routingHttpResponseXContentTypeOptionsHeaderValue(Output.of(routingHttpResponseXContentTypeOptionsHeaderValue)); + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(@Nullable Output routingHttpResponseXFrameOptionsHeaderValue) { + $.routingHttpResponseXFrameOptionsHeaderValue = routingHttpResponseXFrameOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(String routingHttpResponseXFrameOptionsHeaderValue) { + return routingHttpResponseXFrameOptionsHeaderValue(Output.of(routingHttpResponseXFrameOptionsHeaderValue)); + } + /** * @param sslPolicy Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java index 28c945a0c08..f4f4094fa14 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java @@ -7,6 +7,7 @@ import com.pulumi.aws.lb.inputs.ListenerMutualAuthenticationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -144,6 +145,291 @@ public Optional> protocol() { return Optional.ofNullable(this.protocol); } + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertIssuerHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertLeafHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertSubjectHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + private @Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznMtlsClientcertValidityHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsCipherSuiteHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsCipherSuiteHeaderName); + } + + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + @Import(name="routingHttpRequestXAmznTlsVersionHeaderName") + private @Nullable Output routingHttpRequestXAmznTlsVersionHeaderName; + + /** + * @return Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + */ + public Optional> routingHttpRequestXAmznTlsVersionHeaderName() { + return Optional.ofNullable(this.routingHttpRequestXAmznTlsVersionHeaderName); + } + + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue; + + /** + * @return Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + */ + public Optional> routingHttpResponseAccessControlAllowCredentialsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowCredentialsHeaderValue); + } + + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue; + + /** + * @return Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlAllowHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowHeadersHeaderValue); + } + + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue; + + /** + * @return Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + */ + public Optional> routingHttpResponseAccessControlAllowMethodsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowMethodsHeaderValue); + } + + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + @Import(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + private @Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue; + + /** + * @return Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + */ + public Optional> routingHttpResponseAccessControlAllowOriginHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlAllowOriginHeaderValue); + } + + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + @Import(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + private @Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue; + + /** + * @return Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + */ + public Optional> routingHttpResponseAccessControlExposeHeadersHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlExposeHeadersHeaderValue); + } + + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + @Import(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + private @Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue; + + /** + * @return Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + */ + public Optional> routingHttpResponseAccessControlMaxAgeHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseAccessControlMaxAgeHeaderValue); + } + + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + @Import(name="routingHttpResponseContentSecurityPolicyHeaderValue") + private @Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue; + + /** + * @return Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + */ + public Optional> routingHttpResponseContentSecurityPolicyHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseContentSecurityPolicyHeaderValue); + } + + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + @Import(name="routingHttpResponseServerEnabled") + private @Nullable Output routingHttpResponseServerEnabled; + + /** + * @return Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + */ + public Optional> routingHttpResponseServerEnabled() { + return Optional.ofNullable(this.routingHttpResponseServerEnabled); + } + + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + @Import(name="routingHttpResponseStrictTransportSecurityHeaderValue") + private @Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue; + + /** + * @return Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + */ + public Optional> routingHttpResponseStrictTransportSecurityHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseStrictTransportSecurityHeaderValue); + } + + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + @Import(name="routingHttpResponseXContentTypeOptionsHeaderValue") + private @Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue; + + /** + * @return Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + */ + public Optional> routingHttpResponseXContentTypeOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXContentTypeOptionsHeaderValue); + } + + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + @Import(name="routingHttpResponseXFrameOptionsHeaderValue") + private @Nullable Output routingHttpResponseXFrameOptionsHeaderValue; + + /** + * @return Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + */ + public Optional> routingHttpResponseXFrameOptionsHeaderValue() { + return Optional.ofNullable(this.routingHttpResponseXFrameOptionsHeaderValue); + } + /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * @@ -227,6 +513,25 @@ private ListenerState(ListenerState $) { this.mutualAuthentication = $.mutualAuthentication; this.port = $.port; this.protocol = $.protocol; + this.routingHttpRequestXAmznMtlsClientcertHeaderName = $.routingHttpRequestXAmznMtlsClientcertHeaderName; + this.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + this.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + this.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + this.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + this.routingHttpRequestXAmznTlsCipherSuiteHeaderName = $.routingHttpRequestXAmznTlsCipherSuiteHeaderName; + this.routingHttpRequestXAmznTlsVersionHeaderName = $.routingHttpRequestXAmznTlsVersionHeaderName; + this.routingHttpResponseAccessControlAllowCredentialsHeaderValue = $.routingHttpResponseAccessControlAllowCredentialsHeaderValue; + this.routingHttpResponseAccessControlAllowHeadersHeaderValue = $.routingHttpResponseAccessControlAllowHeadersHeaderValue; + this.routingHttpResponseAccessControlAllowMethodsHeaderValue = $.routingHttpResponseAccessControlAllowMethodsHeaderValue; + this.routingHttpResponseAccessControlAllowOriginHeaderValue = $.routingHttpResponseAccessControlAllowOriginHeaderValue; + this.routingHttpResponseAccessControlExposeHeadersHeaderValue = $.routingHttpResponseAccessControlExposeHeadersHeaderValue; + this.routingHttpResponseAccessControlMaxAgeHeaderValue = $.routingHttpResponseAccessControlMaxAgeHeaderValue; + this.routingHttpResponseContentSecurityPolicyHeaderValue = $.routingHttpResponseContentSecurityPolicyHeaderValue; + this.routingHttpResponseServerEnabled = $.routingHttpResponseServerEnabled; + this.routingHttpResponseStrictTransportSecurityHeaderValue = $.routingHttpResponseStrictTransportSecurityHeaderValue; + this.routingHttpResponseXContentTypeOptionsHeaderValue = $.routingHttpResponseXContentTypeOptionsHeaderValue; + this.routingHttpResponseXFrameOptionsHeaderValue = $.routingHttpResponseXFrameOptionsHeaderValue; this.sslPolicy = $.sslPolicy; this.tags = $.tags; this.tagsAll = $.tagsAll; @@ -433,6 +738,405 @@ public Builder protocol(String protocol) { return protocol(Output.of(protocol)); } + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertHeaderName = routingHttpRequestXAmznMtlsClientcertHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertHeaderName(String routingHttpRequestXAmznMtlsClientcertHeaderName) { + return routingHttpRequestXAmznMtlsClientcertHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName = routingHttpRequestXAmznMtlsClientcertIssuerHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertIssuerHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(String routingHttpRequestXAmznMtlsClientcertIssuerHeaderName) { + return routingHttpRequestXAmznMtlsClientcertIssuerHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertIssuerHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertLeafHeaderName = routingHttpRequestXAmznMtlsClientcertLeafHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertLeafHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertLeafHeaderName(String routingHttpRequestXAmznMtlsClientcertLeafHeaderName) { + return routingHttpRequestXAmznMtlsClientcertLeafHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertLeafHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName = routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(String routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName = routingHttpRequestXAmznMtlsClientcertSubjectHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertSubjectHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(String routingHttpRequestXAmznMtlsClientcertSubjectHeaderName) { + return routingHttpRequestXAmznMtlsClientcertSubjectHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertSubjectHeaderName)); + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(@Nullable Output routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + $.routingHttpRequestXAmznMtlsClientcertValidityHeaderName = routingHttpRequestXAmznMtlsClientcertValidityHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznMtlsClientcertValidityHeaderName Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznMtlsClientcertValidityHeaderName(String routingHttpRequestXAmznMtlsClientcertValidityHeaderName) { + return routingHttpRequestXAmznMtlsClientcertValidityHeaderName(Output.of(routingHttpRequestXAmznMtlsClientcertValidityHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(@Nullable Output routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + $.routingHttpRequestXAmznTlsCipherSuiteHeaderName = routingHttpRequestXAmznTlsCipherSuiteHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsCipherSuiteHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsCipherSuiteHeaderName(String routingHttpRequestXAmznTlsCipherSuiteHeaderName) { + return routingHttpRequestXAmznTlsCipherSuiteHeaderName(Output.of(routingHttpRequestXAmznTlsCipherSuiteHeaderName)); + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(@Nullable Output routingHttpRequestXAmznTlsVersionHeaderName) { + $.routingHttpRequestXAmznTlsVersionHeaderName = routingHttpRequestXAmznTlsVersionHeaderName; + return this; + } + + /** + * @param routingHttpRequestXAmznTlsVersionHeaderName Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + * + * @return builder + * + */ + public Builder routingHttpRequestXAmznTlsVersionHeaderName(String routingHttpRequestXAmznTlsVersionHeaderName) { + return routingHttpRequestXAmznTlsVersionHeaderName(Output.of(routingHttpRequestXAmznTlsVersionHeaderName)); + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + $.routingHttpResponseAccessControlAllowCredentialsHeaderValue = routingHttpResponseAccessControlAllowCredentialsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowCredentialsHeaderValue Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowCredentialsHeaderValue(String routingHttpResponseAccessControlAllowCredentialsHeaderValue) { + return routingHttpResponseAccessControlAllowCredentialsHeaderValue(Output.of(routingHttpResponseAccessControlAllowCredentialsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowHeadersHeaderValue) { + $.routingHttpResponseAccessControlAllowHeadersHeaderValue = routingHttpResponseAccessControlAllowHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowHeadersHeaderValue Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowHeadersHeaderValue(String routingHttpResponseAccessControlAllowHeadersHeaderValue) { + return routingHttpResponseAccessControlAllowHeadersHeaderValue(Output.of(routingHttpResponseAccessControlAllowHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowMethodsHeaderValue) { + $.routingHttpResponseAccessControlAllowMethodsHeaderValue = routingHttpResponseAccessControlAllowMethodsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowMethodsHeaderValue Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowMethodsHeaderValue(String routingHttpResponseAccessControlAllowMethodsHeaderValue) { + return routingHttpResponseAccessControlAllowMethodsHeaderValue(Output.of(routingHttpResponseAccessControlAllowMethodsHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(@Nullable Output routingHttpResponseAccessControlAllowOriginHeaderValue) { + $.routingHttpResponseAccessControlAllowOriginHeaderValue = routingHttpResponseAccessControlAllowOriginHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlAllowOriginHeaderValue Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlAllowOriginHeaderValue(String routingHttpResponseAccessControlAllowOriginHeaderValue) { + return routingHttpResponseAccessControlAllowOriginHeaderValue(Output.of(routingHttpResponseAccessControlAllowOriginHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(@Nullable Output routingHttpResponseAccessControlExposeHeadersHeaderValue) { + $.routingHttpResponseAccessControlExposeHeadersHeaderValue = routingHttpResponseAccessControlExposeHeadersHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlExposeHeadersHeaderValue Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlExposeHeadersHeaderValue(String routingHttpResponseAccessControlExposeHeadersHeaderValue) { + return routingHttpResponseAccessControlExposeHeadersHeaderValue(Output.of(routingHttpResponseAccessControlExposeHeadersHeaderValue)); + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(@Nullable Output routingHttpResponseAccessControlMaxAgeHeaderValue) { + $.routingHttpResponseAccessControlMaxAgeHeaderValue = routingHttpResponseAccessControlMaxAgeHeaderValue; + return this; + } + + /** + * @param routingHttpResponseAccessControlMaxAgeHeaderValue Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseAccessControlMaxAgeHeaderValue(String routingHttpResponseAccessControlMaxAgeHeaderValue) { + return routingHttpResponseAccessControlMaxAgeHeaderValue(Output.of(routingHttpResponseAccessControlMaxAgeHeaderValue)); + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(@Nullable Output routingHttpResponseContentSecurityPolicyHeaderValue) { + $.routingHttpResponseContentSecurityPolicyHeaderValue = routingHttpResponseContentSecurityPolicyHeaderValue; + return this; + } + + /** + * @param routingHttpResponseContentSecurityPolicyHeaderValue Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + * + * @return builder + * + */ + public Builder routingHttpResponseContentSecurityPolicyHeaderValue(String routingHttpResponseContentSecurityPolicyHeaderValue) { + return routingHttpResponseContentSecurityPolicyHeaderValue(Output.of(routingHttpResponseContentSecurityPolicyHeaderValue)); + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(@Nullable Output routingHttpResponseServerEnabled) { + $.routingHttpResponseServerEnabled = routingHttpResponseServerEnabled; + return this; + } + + /** + * @param routingHttpResponseServerEnabled Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + * + * @return builder + * + */ + public Builder routingHttpResponseServerEnabled(Boolean routingHttpResponseServerEnabled) { + return routingHttpResponseServerEnabled(Output.of(routingHttpResponseServerEnabled)); + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(@Nullable Output routingHttpResponseStrictTransportSecurityHeaderValue) { + $.routingHttpResponseStrictTransportSecurityHeaderValue = routingHttpResponseStrictTransportSecurityHeaderValue; + return this; + } + + /** + * @param routingHttpResponseStrictTransportSecurityHeaderValue Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + * + * @return builder + * + */ + public Builder routingHttpResponseStrictTransportSecurityHeaderValue(String routingHttpResponseStrictTransportSecurityHeaderValue) { + return routingHttpResponseStrictTransportSecurityHeaderValue(Output.of(routingHttpResponseStrictTransportSecurityHeaderValue)); + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(@Nullable Output routingHttpResponseXContentTypeOptionsHeaderValue) { + $.routingHttpResponseXContentTypeOptionsHeaderValue = routingHttpResponseXContentTypeOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXContentTypeOptionsHeaderValue Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + * + * @return builder + * + */ + public Builder routingHttpResponseXContentTypeOptionsHeaderValue(String routingHttpResponseXContentTypeOptionsHeaderValue) { + return routingHttpResponseXContentTypeOptionsHeaderValue(Output.of(routingHttpResponseXContentTypeOptionsHeaderValue)); + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(@Nullable Output routingHttpResponseXFrameOptionsHeaderValue) { + $.routingHttpResponseXFrameOptionsHeaderValue = routingHttpResponseXFrameOptionsHeaderValue; + return this; + } + + /** + * @param routingHttpResponseXFrameOptionsHeaderValue Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + * + * @return builder + * + */ + public Builder routingHttpResponseXFrameOptionsHeaderValue(String routingHttpResponseXFrameOptionsHeaderValue) { + return routingHttpResponseXFrameOptionsHeaderValue(Output.of(routingHttpResponseXFrameOptionsHeaderValue)); + } + /** * @param sslPolicy Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediapackage/V2ChannelGroup.java b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/V2ChannelGroup.java new file mode 100644 index 00000000000..36b8f913a4d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/V2ChannelGroup.java @@ -0,0 +1,212 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.mediapackage; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.mediapackage.V2ChannelGroupArgs; +import com.pulumi.aws.mediapackage.inputs.V2ChannelGroupState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Creates an AWS Elemental MediaPackage Version 2 Channel Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.mediapackage.V2ChannelGroup;
+ * import com.pulumi.aws.mediapackage.V2ChannelGroupArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new V2ChannelGroup("example", V2ChannelGroupArgs.builder()
+ *             .name("example")
+ *             .description("channel group for example channels")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Elemental MediaPackage Version 2 Channel Group using the channel group's `name`. For example: + * + * ```sh + * $ pulumi import aws:mediapackage/v2ChannelGroup:V2ChannelGroup example example + * ``` + * + */ +@ResourceType(type="aws:mediapackage/v2ChannelGroup:V2ChannelGroup") +public class V2ChannelGroup extends com.pulumi.resources.CustomResource { + /** + * The ARN of the channel + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The ARN of the channel + * + */ + public Output arn() { + return this.arn; + } + /** + * A description of the channel group + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return A description of the channel group + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * The egress domain of the channel group + * + */ + @Export(name="egressDomain", refs={String.class}, tree="[0]") + private Output egressDomain; + + /** + * @return The egress domain of the channel group + * + */ + public Output egressDomain() { + return this.egressDomain; + } + /** + * A unique identifier naming the channel group + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return A unique identifier naming the channel group + * + */ + public Output name() { + return this.name; + } + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public V2ChannelGroup(java.lang.String name) { + this(name, V2ChannelGroupArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public V2ChannelGroup(java.lang.String name, @Nullable V2ChannelGroupArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public V2ChannelGroup(java.lang.String name, @Nullable V2ChannelGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:mediapackage/v2ChannelGroup:V2ChannelGroup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private V2ChannelGroup(java.lang.String name, Output id, @Nullable V2ChannelGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:mediapackage/v2ChannelGroup:V2ChannelGroup", name, state, makeResourceOptions(options, id), false); + } + + private static V2ChannelGroupArgs makeArgs(@Nullable V2ChannelGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? V2ChannelGroupArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static V2ChannelGroup get(java.lang.String name, Output id, @Nullable V2ChannelGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new V2ChannelGroup(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediapackage/V2ChannelGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/V2ChannelGroupArgs.java new file mode 100644 index 00000000000..166bc5e91ab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/V2ChannelGroupArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.mediapackage; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class V2ChannelGroupArgs extends com.pulumi.resources.ResourceArgs { + + public static final V2ChannelGroupArgs Empty = new V2ChannelGroupArgs(); + + /** + * A description of the channel group + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description of the channel group + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * A unique identifier naming the channel group + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return A unique identifier naming the channel group + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private V2ChannelGroupArgs() {} + + private V2ChannelGroupArgs(V2ChannelGroupArgs $) { + this.description = $.description; + this.name = $.name; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(V2ChannelGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private V2ChannelGroupArgs $; + + public Builder() { + $ = new V2ChannelGroupArgs(); + } + + public Builder(V2ChannelGroupArgs defaults) { + $ = new V2ChannelGroupArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description of the channel group + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description of the channel group + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param name A unique identifier naming the channel group + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name A unique identifier naming the channel group + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public V2ChannelGroupArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediapackage/inputs/V2ChannelGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/inputs/V2ChannelGroupState.java new file mode 100644 index 00000000000..b903be8bc3c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/mediapackage/inputs/V2ChannelGroupState.java @@ -0,0 +1,285 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.mediapackage.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class V2ChannelGroupState extends com.pulumi.resources.ResourceArgs { + + public static final V2ChannelGroupState Empty = new V2ChannelGroupState(); + + /** + * The ARN of the channel + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The ARN of the channel + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * A description of the channel group + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description of the channel group + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * The egress domain of the channel group + * + */ + @Import(name="egressDomain") + private @Nullable Output egressDomain; + + /** + * @return The egress domain of the channel group + * + */ + public Optional> egressDomain() { + return Optional.ofNullable(this.egressDomain); + } + + /** + * A unique identifier naming the channel group + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return A unique identifier naming the channel group + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private V2ChannelGroupState() {} + + private V2ChannelGroupState(V2ChannelGroupState $) { + this.arn = $.arn; + this.description = $.description; + this.egressDomain = $.egressDomain; + this.name = $.name; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(V2ChannelGroupState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private V2ChannelGroupState $; + + public Builder() { + $ = new V2ChannelGroupState(); + } + + public Builder(V2ChannelGroupState defaults) { + $ = new V2ChannelGroupState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The ARN of the channel + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The ARN of the channel + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param description A description of the channel group + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description of the channel group + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param egressDomain The egress domain of the channel group + * + * @return builder + * + */ + public Builder egressDomain(@Nullable Output egressDomain) { + $.egressDomain = egressDomain; + return this; + } + + /** + * @param egressDomain The egress domain of the channel group + * + * @return builder + * + */ + public Builder egressDomain(String egressDomain) { + return egressDomain(Output.of(egressDomain)); + } + + /** + * @param name A unique identifier naming the channel group + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name A unique identifier naming the channel group + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public V2ChannelGroupState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java index 0604d2e880f..4544c29bc21 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheck.java @@ -195,6 +195,62 @@ * * <!--End PulumiCodeChooser --> * + * ### CloudWatch Alarm Check With Triggers + * + * The `triggers` argument allows the Route53 health check to be synchronized when a change to the upstream CloudWatch alarm is made. + * In the configuration below, the health check will be synchronized any time the `threshold` of the alarm is changed. + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.cloudwatch.MetricAlarm;
+ * import com.pulumi.aws.cloudwatch.MetricAlarmArgs;
+ * import com.pulumi.aws.route53.HealthCheck;
+ * import com.pulumi.aws.route53.HealthCheckArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new MetricAlarm("example", MetricAlarmArgs.builder()
+ *             .name("example")
+ *             .comparisonOperator("GreaterThanOrEqualToThreshold")
+ *             .evaluationPeriods("2")
+ *             .metricName("CPUUtilization")
+ *             .namespace("AWS/EC2")
+ *             .period("120")
+ *             .statistic("Average")
+ *             .threshold("80")
+ *             .alarmDescription("This metric monitors ec2 cpu utilization")
+ *             .build());
+ * 
+ *         var exampleHealthCheck = new HealthCheck("exampleHealthCheck", HealthCheckArgs.builder()
+ *             .type("CLOUDWATCH_METRIC")
+ *             .cloudwatchAlarmName(example.name())
+ *             .cloudwatchAlarmRegion("us-west-2")
+ *             .insufficientDataHealthStatus("Healthy")
+ *             .triggers(Map.of("threshold", example.threshold()))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * * ## Import * * Using `pulumi import`, import Route53 Health Checks using the health check `id`. For example: @@ -263,14 +319,14 @@ public Output> cloudwatchAlarmName() { return Codegen.optional(this.cloudwatchAlarmName); } /** - * The CloudWatchRegion that the CloudWatch alarm was created in. + * The region that the CloudWatch alarm was created in. * */ @Export(name="cloudwatchAlarmRegion", refs={String.class}, tree="[0]") private Output cloudwatchAlarmRegion; /** - * @return The CloudWatchRegion that the CloudWatch alarm was created in. + * @return The region that the CloudWatch alarm was created in. * */ public Output> cloudwatchAlarmRegion() { @@ -278,7 +334,7 @@ public Output> cloudwatchAlarmRegion() { } /** * A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -290,7 +346,7 @@ public Output> cloudwatchAlarmRegion() { /** * @return A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -530,6 +586,20 @@ public Output>> tags() { public Output> tagsAll() { return this.tagsAll; } + /** + * Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + */ + @Export(name="triggers", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> triggers; + + /** + * @return Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + */ + public Output> triggers() { + return this.triggers; + } /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java index b39ad55a5e6..0f314524bc9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java @@ -66,14 +66,14 @@ public Optional> cloudwatchAlarmName() { } /** - * The CloudWatchRegion that the CloudWatch alarm was created in. + * The region that the CloudWatch alarm was created in. * */ @Import(name="cloudwatchAlarmRegion") private @Nullable Output cloudwatchAlarmRegion; /** - * @return The CloudWatchRegion that the CloudWatch alarm was created in. + * @return The region that the CloudWatch alarm was created in. * */ public Optional> cloudwatchAlarmRegion() { @@ -82,7 +82,7 @@ public Optional> cloudwatchAlarmRegion() { /** * A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -94,7 +94,7 @@ public Optional> cloudwatchAlarmRegion() { /** * @return A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -332,6 +332,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + */ + @Import(name="triggers") + private @Nullable Output> triggers; + + /** + * @return Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + */ + public Optional>> triggers() { + return Optional.ofNullable(this.triggers); + } + /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. * @@ -370,6 +385,7 @@ private HealthCheckArgs(HealthCheckArgs $) { this.routingControlArn = $.routingControlArn; this.searchString = $.searchString; this.tags = $.tags; + this.triggers = $.triggers; this.type = $.type; } @@ -465,7 +481,7 @@ public Builder cloudwatchAlarmName(String cloudwatchAlarmName) { } /** - * @param cloudwatchAlarmRegion The CloudWatchRegion that the CloudWatch alarm was created in. + * @param cloudwatchAlarmRegion The region that the CloudWatch alarm was created in. * * @return builder * @@ -476,7 +492,7 @@ public Builder cloudwatchAlarmRegion(@Nullable Output cloudwatchAlarmReg } /** - * @param cloudwatchAlarmRegion The CloudWatchRegion that the CloudWatch alarm was created in. + * @param cloudwatchAlarmRegion The region that the CloudWatch alarm was created in. * * @return builder * @@ -487,7 +503,7 @@ public Builder cloudwatchAlarmRegion(String cloudwatchAlarmRegion) { /** * @param disabled A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -503,7 +519,7 @@ public Builder disabled(@Nullable Output disabled) { /** * @param disabled A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -843,6 +859,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param triggers Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + * @return builder + * + */ + public Builder triggers(@Nullable Output> triggers) { + $.triggers = triggers; + return this; + } + + /** + * @param triggers Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + * @return builder + * + */ + public Builder triggers(Map triggers) { + return triggers(Output.of(triggers)); + } + /** * @param type The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/HealthCheckState.java b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/HealthCheckState.java index 722c1e6bcb5..b20cbfed180 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/HealthCheckState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/HealthCheckState.java @@ -80,14 +80,14 @@ public Optional> cloudwatchAlarmName() { } /** - * The CloudWatchRegion that the CloudWatch alarm was created in. + * The region that the CloudWatch alarm was created in. * */ @Import(name="cloudwatchAlarmRegion") private @Nullable Output cloudwatchAlarmRegion; /** - * @return The CloudWatchRegion that the CloudWatch alarm was created in. + * @return The region that the CloudWatch alarm was created in. * */ public Optional> cloudwatchAlarmRegion() { @@ -96,7 +96,7 @@ public Optional> cloudwatchAlarmRegion() { /** * A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -108,7 +108,7 @@ public Optional> cloudwatchAlarmRegion() { /** * @return A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -369,6 +369,21 @@ public Optional>> tagsAll() { return Optional.ofNullable(this.tagsAll); } + /** + * Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + */ + @Import(name="triggers") + private @Nullable Output> triggers; + + /** + * @return Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + */ + public Optional>> triggers() { + return Optional.ofNullable(this.triggers); + } + /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. * @@ -409,6 +424,7 @@ private HealthCheckState(HealthCheckState $) { this.searchString = $.searchString; this.tags = $.tags; this.tagsAll = $.tagsAll; + this.triggers = $.triggers; this.type = $.type; } @@ -525,7 +541,7 @@ public Builder cloudwatchAlarmName(String cloudwatchAlarmName) { } /** - * @param cloudwatchAlarmRegion The CloudWatchRegion that the CloudWatch alarm was created in. + * @param cloudwatchAlarmRegion The region that the CloudWatch alarm was created in. * * @return builder * @@ -536,7 +552,7 @@ public Builder cloudwatchAlarmRegion(@Nullable Output cloudwatchAlarmReg } /** - * @param cloudwatchAlarmRegion The CloudWatchRegion that the CloudWatch alarm was created in. + * @param cloudwatchAlarmRegion The region that the CloudWatch alarm was created in. * * @return builder * @@ -547,7 +563,7 @@ public Builder cloudwatchAlarmRegion(String cloudwatchAlarmRegion) { /** * @param disabled A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -563,7 +579,7 @@ public Builder disabled(@Nullable Output disabled) { /** * @param disabled A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -932,6 +948,27 @@ public Builder tagsAll(Map tagsAll) { return tagsAll(Output.of(tagsAll)); } + /** + * @param triggers Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + * @return builder + * + */ + public Builder triggers(@Nullable Output> triggers) { + $.triggers = triggers; + return this; + } + + /** + * @param triggers Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + * + * @return builder + * + */ + public Builder triggers(Map triggers) { + return triggers(Output.of(triggers)); + } + /** * @param type The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. * diff --git a/sdk/nodejs/alb/listener.ts b/sdk/nodejs/alb/listener.ts index 209f668e0b5..be42493a10c 100644 --- a/sdk/nodejs/alb/listener.ts +++ b/sdk/nodejs/alb/listener.ts @@ -286,6 +286,82 @@ export class Listener extends pulumi.CustomResource { * Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. */ public readonly protocol!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertIssuerHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertLeafHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertSubjectHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertValidityHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznTlsCipherSuiteHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznTlsVersionHeaderName!: pulumi.Output; + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + */ + public readonly routingHttpResponseAccessControlAllowCredentialsHeaderValue!: pulumi.Output; + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + */ + public readonly routingHttpResponseAccessControlAllowHeadersHeaderValue!: pulumi.Output; + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + */ + public readonly routingHttpResponseAccessControlAllowMethodsHeaderValue!: pulumi.Output; + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + */ + public readonly routingHttpResponseAccessControlAllowOriginHeaderValue!: pulumi.Output; + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + */ + public readonly routingHttpResponseAccessControlExposeHeadersHeaderValue!: pulumi.Output; + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + */ + public readonly routingHttpResponseAccessControlMaxAgeHeaderValue!: pulumi.Output; + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + */ + public readonly routingHttpResponseContentSecurityPolicyHeaderValue!: pulumi.Output; + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + */ + public readonly routingHttpResponseServerEnabled!: pulumi.Output; + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + */ + public readonly routingHttpResponseStrictTransportSecurityHeaderValue!: pulumi.Output; + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + */ + public readonly routingHttpResponseXContentTypeOptionsHeaderValue!: pulumi.Output; + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + */ + public readonly routingHttpResponseXFrameOptionsHeaderValue!: pulumi.Output; /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. */ @@ -328,6 +404,25 @@ export class Listener extends pulumi.CustomResource { resourceInputs["mutualAuthentication"] = state ? state.mutualAuthentication : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertLeafHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertLeafHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertValidityHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertValidityHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsCipherSuiteHeaderName"] = state ? state.routingHttpRequestXAmznTlsCipherSuiteHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsVersionHeaderName"] = state ? state.routingHttpRequestXAmznTlsVersionHeaderName : undefined; + resourceInputs["routingHttpResponseAccessControlAllowCredentialsHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowCredentialsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowHeadersHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowMethodsHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowMethodsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowOriginHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowOriginHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlExposeHeadersHeaderValue"] = state ? state.routingHttpResponseAccessControlExposeHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlMaxAgeHeaderValue"] = state ? state.routingHttpResponseAccessControlMaxAgeHeaderValue : undefined; + resourceInputs["routingHttpResponseContentSecurityPolicyHeaderValue"] = state ? state.routingHttpResponseContentSecurityPolicyHeaderValue : undefined; + resourceInputs["routingHttpResponseServerEnabled"] = state ? state.routingHttpResponseServerEnabled : undefined; + resourceInputs["routingHttpResponseStrictTransportSecurityHeaderValue"] = state ? state.routingHttpResponseStrictTransportSecurityHeaderValue : undefined; + resourceInputs["routingHttpResponseXContentTypeOptionsHeaderValue"] = state ? state.routingHttpResponseXContentTypeOptionsHeaderValue : undefined; + resourceInputs["routingHttpResponseXFrameOptionsHeaderValue"] = state ? state.routingHttpResponseXFrameOptionsHeaderValue : undefined; resourceInputs["sslPolicy"] = state ? state.sslPolicy : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; @@ -347,6 +442,25 @@ export class Listener extends pulumi.CustomResource { resourceInputs["mutualAuthentication"] = args ? args.mutualAuthentication : undefined; resourceInputs["port"] = args ? args.port : undefined; resourceInputs["protocol"] = args ? args.protocol : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertLeafHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertLeafHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertValidityHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertValidityHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsCipherSuiteHeaderName"] = args ? args.routingHttpRequestXAmznTlsCipherSuiteHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsVersionHeaderName"] = args ? args.routingHttpRequestXAmznTlsVersionHeaderName : undefined; + resourceInputs["routingHttpResponseAccessControlAllowCredentialsHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowCredentialsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowHeadersHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowMethodsHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowMethodsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowOriginHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowOriginHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlExposeHeadersHeaderValue"] = args ? args.routingHttpResponseAccessControlExposeHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlMaxAgeHeaderValue"] = args ? args.routingHttpResponseAccessControlMaxAgeHeaderValue : undefined; + resourceInputs["routingHttpResponseContentSecurityPolicyHeaderValue"] = args ? args.routingHttpResponseContentSecurityPolicyHeaderValue : undefined; + resourceInputs["routingHttpResponseServerEnabled"] = args ? args.routingHttpResponseServerEnabled : undefined; + resourceInputs["routingHttpResponseStrictTransportSecurityHeaderValue"] = args ? args.routingHttpResponseStrictTransportSecurityHeaderValue : undefined; + resourceInputs["routingHttpResponseXContentTypeOptionsHeaderValue"] = args ? args.routingHttpResponseXContentTypeOptionsHeaderValue : undefined; + resourceInputs["routingHttpResponseXFrameOptionsHeaderValue"] = args ? args.routingHttpResponseXFrameOptionsHeaderValue : undefined; resourceInputs["sslPolicy"] = args ? args.sslPolicy : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["tcpIdleTimeoutSeconds"] = args ? args.tcpIdleTimeoutSeconds : undefined; @@ -398,6 +512,82 @@ export interface ListenerState { * Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. */ protocol?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertIssuerHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertLeafHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSubjectHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertValidityHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsCipherSuiteHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsVersionHeaderName?: pulumi.Input; + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + */ + routingHttpResponseAccessControlAllowCredentialsHeaderValue?: pulumi.Input; + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + */ + routingHttpResponseAccessControlAllowHeadersHeaderValue?: pulumi.Input; + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + */ + routingHttpResponseAccessControlAllowMethodsHeaderValue?: pulumi.Input; + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + */ + routingHttpResponseAccessControlAllowOriginHeaderValue?: pulumi.Input; + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + */ + routingHttpResponseAccessControlExposeHeadersHeaderValue?: pulumi.Input; + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + */ + routingHttpResponseAccessControlMaxAgeHeaderValue?: pulumi.Input; + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + */ + routingHttpResponseContentSecurityPolicyHeaderValue?: pulumi.Input; + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + */ + routingHttpResponseServerEnabled?: pulumi.Input; + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + */ + routingHttpResponseStrictTransportSecurityHeaderValue?: pulumi.Input; + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + */ + routingHttpResponseXContentTypeOptionsHeaderValue?: pulumi.Input; + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + */ + routingHttpResponseXFrameOptionsHeaderValue?: pulumi.Input; /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. */ @@ -454,6 +644,82 @@ export interface ListenerArgs { * Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. */ protocol?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertIssuerHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertLeafHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSubjectHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertValidityHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsCipherSuiteHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsVersionHeaderName?: pulumi.Input; + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + */ + routingHttpResponseAccessControlAllowCredentialsHeaderValue?: pulumi.Input; + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + */ + routingHttpResponseAccessControlAllowHeadersHeaderValue?: pulumi.Input; + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + */ + routingHttpResponseAccessControlAllowMethodsHeaderValue?: pulumi.Input; + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + */ + routingHttpResponseAccessControlAllowOriginHeaderValue?: pulumi.Input; + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + */ + routingHttpResponseAccessControlExposeHeadersHeaderValue?: pulumi.Input; + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + */ + routingHttpResponseAccessControlMaxAgeHeaderValue?: pulumi.Input; + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + */ + routingHttpResponseContentSecurityPolicyHeaderValue?: pulumi.Input; + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + */ + routingHttpResponseServerEnabled?: pulumi.Input; + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + */ + routingHttpResponseStrictTransportSecurityHeaderValue?: pulumi.Input; + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + */ + routingHttpResponseXContentTypeOptionsHeaderValue?: pulumi.Input; + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + */ + routingHttpResponseXFrameOptionsHeaderValue?: pulumi.Input; /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. */ diff --git a/sdk/nodejs/dataexchange/dataSet.ts b/sdk/nodejs/dataexchange/dataSet.ts index f5300358501..c09557cf27d 100644 --- a/sdk/nodejs/dataexchange/dataSet.ts +++ b/sdk/nodejs/dataexchange/dataSet.ts @@ -22,10 +22,10 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import DataExchange DataSets using their ARN. For example: + * Using `pulumi import`, import DataExchange DataSets using their `id`. For example: * * ```sh - * $ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1 + * $ pulumi import aws:dataexchange/dataSet:DataSet example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1 * ``` */ export class DataSet extends pulumi.CustomResource { diff --git a/sdk/nodejs/datasync/s3location.ts b/sdk/nodejs/datasync/s3location.ts index d68062d2afc..5fb5e331c6f 100644 --- a/sdk/nodejs/datasync/s3location.ts +++ b/sdk/nodejs/datasync/s3location.ts @@ -14,6 +14,8 @@ import {ARN} from ".."; * * ## Example Usage * + * ### Basic Usage + * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; @@ -27,6 +29,23 @@ import {ARN} from ".."; * }); * ``` * + * ### S3 Bucket on AWS Outposts + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const destination = new aws.datasync.S3Location("destination", { + * agentArns: [exampleAwsDatasyncAgent.arn], + * s3BucketArn: exampleAwsS3AccessPoint.arn, + * s3StorageClass: "OUTPOSTS", + * subdirectory: "/example/prefix", + * s3Config: { + * bucketAccessRoleArn: example.arn, + * }, + * }); + * ``` + * * ## Import * * Using `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example: @@ -64,7 +83,7 @@ export class S3Location extends pulumi.CustomResource { } /** - * A list of DataSync Agent ARNs with which this location will be associated. + * (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. */ public readonly agentArns!: pulumi.Output; /** @@ -72,7 +91,7 @@ export class S3Location extends pulumi.CustomResource { */ public /*out*/ readonly arn!: pulumi.Output; /** - * Amazon Resource Name (ARN) of the S3 Bucket. + * Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. */ public readonly s3BucketArn!: pulumi.Output; /** @@ -80,7 +99,7 @@ export class S3Location extends pulumi.CustomResource { */ public readonly s3Config!: pulumi.Output; /** - * The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) */ public readonly s3StorageClass!: pulumi.Output; /** @@ -152,7 +171,7 @@ export class S3Location extends pulumi.CustomResource { */ export interface S3LocationState { /** - * A list of DataSync Agent ARNs with which this location will be associated. + * (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. */ agentArns?: pulumi.Input[]>; /** @@ -160,7 +179,7 @@ export interface S3LocationState { */ arn?: pulumi.Input; /** - * Amazon Resource Name (ARN) of the S3 Bucket. + * Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. */ s3BucketArn?: pulumi.Input; /** @@ -168,7 +187,7 @@ export interface S3LocationState { */ s3Config?: pulumi.Input; /** - * The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) */ s3StorageClass?: pulumi.Input; /** @@ -193,11 +212,11 @@ export interface S3LocationState { */ export interface S3LocationArgs { /** - * A list of DataSync Agent ARNs with which this location will be associated. + * (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. */ agentArns?: pulumi.Input[]>; /** - * Amazon Resource Name (ARN) of the S3 Bucket. + * Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. */ s3BucketArn: pulumi.Input; /** @@ -205,7 +224,7 @@ export interface S3LocationArgs { */ s3Config: pulumi.Input; /** - * The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + * Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) */ s3StorageClass?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2/ami.ts b/sdk/nodejs/ec2/ami.ts index 629171a4d1f..19d5dff1d20 100644 --- a/sdk/nodejs/ec2/ami.ts +++ b/sdk/nodejs/ec2/ami.ts @@ -172,6 +172,10 @@ export class Ami extends pulumi.CustomResource { * If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. */ public readonly tpmSupport!: pulumi.Output; + /** + * Base64 representation of the non-volatile UEFI variable store. + */ + public readonly uefiData!: pulumi.Output; /** * Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. */ @@ -223,6 +227,7 @@ export class Ami extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["tpmSupport"] = state ? state.tpmSupport : undefined; + resourceInputs["uefiData"] = state ? state.uefiData : undefined; resourceInputs["usageOperation"] = state ? state.usageOperation : undefined; resourceInputs["virtualizationType"] = state ? state.virtualizationType : undefined; } else { @@ -243,6 +248,7 @@ export class Ami extends pulumi.CustomResource { resourceInputs["sriovNetSupport"] = args ? args.sriovNetSupport : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["tpmSupport"] = args ? args.tpmSupport : undefined; + resourceInputs["uefiData"] = args ? args.uefiData : undefined; resourceInputs["virtualizationType"] = args ? args.virtualizationType : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["hypervisor"] = undefined /*out*/; @@ -363,6 +369,10 @@ export interface AmiState { * If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. */ tpmSupport?: pulumi.Input; + /** + * Base64 representation of the non-volatile UEFI variable store. + */ + uefiData?: pulumi.Input; /** * Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. */ @@ -433,6 +443,10 @@ export interface AmiArgs { * If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. */ tpmSupport?: pulumi.Input; + /** + * Base64 representation of the non-volatile UEFI variable store. + */ + uefiData?: pulumi.Input; /** * Keyword to choose what virtualization mode created instances * will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type diff --git a/sdk/nodejs/ec2/amiCopy.ts b/sdk/nodejs/ec2/amiCopy.ts index 6b3978e6398..565078297d5 100644 --- a/sdk/nodejs/ec2/amiCopy.ts +++ b/sdk/nodejs/ec2/amiCopy.ts @@ -174,6 +174,10 @@ export class AmiCopy extends pulumi.CustomResource { * If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. */ public /*out*/ readonly tpmSupport!: pulumi.Output; + /** + * Base64 representation of the non-volatile UEFI variable store. + */ + public /*out*/ readonly uefiData!: pulumi.Output; public /*out*/ readonly usageOperation!: pulumi.Output; /** * Keyword to choose what virtualization mode created instances @@ -227,6 +231,7 @@ export class AmiCopy extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["tpmSupport"] = state ? state.tpmSupport : undefined; + resourceInputs["uefiData"] = state ? state.uefiData : undefined; resourceInputs["usageOperation"] = state ? state.usageOperation : undefined; resourceInputs["virtualizationType"] = state ? state.virtualizationType : undefined; } else { @@ -269,6 +274,7 @@ export class AmiCopy extends pulumi.CustomResource { resourceInputs["sriovNetSupport"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["tpmSupport"] = undefined /*out*/; + resourceInputs["uefiData"] = undefined /*out*/; resourceInputs["usageOperation"] = undefined /*out*/; resourceInputs["virtualizationType"] = undefined /*out*/; } @@ -391,6 +397,10 @@ export interface AmiCopyState { * If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. */ tpmSupport?: pulumi.Input; + /** + * Base64 representation of the non-volatile UEFI variable store. + */ + uefiData?: pulumi.Input; usageOperation?: pulumi.Input; /** * Keyword to choose what virtualization mode created instances diff --git a/sdk/nodejs/ec2/amiFromInstance.ts b/sdk/nodejs/ec2/amiFromInstance.ts index f42e83576a8..0e10fd42705 100644 --- a/sdk/nodejs/ec2/amiFromInstance.ts +++ b/sdk/nodejs/ec2/amiFromInstance.ts @@ -164,6 +164,10 @@ export class AmiFromInstance extends pulumi.CustomResource { * If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. */ public /*out*/ readonly tpmSupport!: pulumi.Output; + /** + * Base64 representation of the non-volatile UEFI variable store. + */ + public /*out*/ readonly uefiData!: pulumi.Output; public /*out*/ readonly usageOperation!: pulumi.Output; /** * Keyword to choose what virtualization mode created instances @@ -214,6 +218,7 @@ export class AmiFromInstance extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["tpmSupport"] = state ? state.tpmSupport : undefined; + resourceInputs["uefiData"] = state ? state.uefiData : undefined; resourceInputs["usageOperation"] = state ? state.usageOperation : undefined; resourceInputs["virtualizationType"] = state ? state.virtualizationType : undefined; } else { @@ -250,6 +255,7 @@ export class AmiFromInstance extends pulumi.CustomResource { resourceInputs["sriovNetSupport"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["tpmSupport"] = undefined /*out*/; + resourceInputs["uefiData"] = undefined /*out*/; resourceInputs["usageOperation"] = undefined /*out*/; resourceInputs["virtualizationType"] = undefined /*out*/; } @@ -360,6 +366,10 @@ export interface AmiFromInstanceState { * If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. */ tpmSupport?: pulumi.Input; + /** + * Base64 representation of the non-volatile UEFI variable store. + */ + uefiData?: pulumi.Input; usageOperation?: pulumi.Input; /** * Keyword to choose what virtualization mode created instances diff --git a/sdk/nodejs/ec2/getAmi.ts b/sdk/nodejs/ec2/getAmi.ts index d1ac6bf987f..7cd06ba3ce4 100644 --- a/sdk/nodejs/ec2/getAmi.ts +++ b/sdk/nodejs/ec2/getAmi.ts @@ -50,6 +50,7 @@ export function getAmi(args?: GetAmiArgs, opts?: pulumi.InvokeOptions): Promise< "nameRegex": args.nameRegex, "owners": args.owners, "tags": args.tags, + "uefiData": args.uefiData, }, opts); } @@ -100,6 +101,10 @@ export interface GetAmiArgs { * * `tags.#.value` - Value of the tag. */ tags?: {[key: string]: string}; + /** + * (Optional) Base64 representation of the non-volatile UEFI variable store. + */ + uefiData?: string; } /** @@ -246,6 +251,10 @@ export interface GetAmiResult { * If the image is configured for NitroTPM support, the value is `v2.0`. */ readonly tpmSupport: string; + /** + * (Optional) Base64 representation of the non-volatile UEFI variable store. + */ + readonly uefiData?: string; /** * Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. */ @@ -299,6 +308,7 @@ export function getAmiOutput(args?: GetAmiOutputArgs, opts?: pulumi.InvokeOutput "nameRegex": args.nameRegex, "owners": args.owners, "tags": args.tags, + "uefiData": args.uefiData, }, opts); } @@ -349,4 +359,8 @@ export interface GetAmiOutputArgs { * * `tags.#.value` - Value of the tag. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * (Optional) Base64 representation of the non-volatile UEFI variable store. + */ + uefiData?: pulumi.Input; } diff --git a/sdk/nodejs/ec2/getInstanceType.ts b/sdk/nodejs/ec2/getInstanceType.ts index a554c03b9a8..57bb6c2c36c 100644 --- a/sdk/nodejs/ec2/getInstanceType.ts +++ b/sdk/nodejs/ec2/getInstanceType.ts @@ -46,10 +46,18 @@ export interface GetInstanceTypeResult { * `true` if auto recovery is supported. */ readonly autoRecoverySupported: boolean; + /** + * A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. + */ + readonly bandwidthWeightings: string[]; /** * `true` if it is a bare metal instance type. */ readonly bareMetal: boolean; + /** + * A set of strings of supported boot modes. + */ + readonly bootModes: string[]; /** * `true` if the instance type is a burstable performance instance type. */ @@ -66,6 +74,10 @@ export interface GetInstanceTypeResult { * Default number of cores for the instance type. */ readonly defaultCores: number; + /** + * The index of the default network card, starting at `0`. + */ + readonly defaultNetworkCardIndex: number; /** * The default number of threads per core for the instance type. */ @@ -111,22 +123,30 @@ export interface GetInstanceTypeResult { */ readonly ebsPerformanceMaximumThroughput: number; /** - * Whether Elastic Fabric Adapter (EFA) is supported. + * The maximum number of Elastic Fabric Adapters for the instance type. + */ + readonly efaMaximumInterfaces: number; + /** + * `true` if Elastic Fabric Adapter (EFA) is supported. */ readonly efaSupported: boolean; /** - * Whether Elastic Network Adapter (ENA) is supported. + * `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). + */ + readonly enaSrdSupported: boolean; + /** + * Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. */ readonly enaSupport: string; /** - * Indicates whether encryption in-transit between instances is supported. + * `true` if encryption in-transit between instances is supported. */ readonly encryptionInTransitSupported: boolean; /** * Describes the FPGA accelerator settings for the instance type. * * `fpgas.#.count` - The count of FPGA accelerators for the instance type. * * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. - * * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. * * `fpgas.#.name` - The name of the FPGA accelerator. */ readonly fpgas: outputs.ec2.GetInstanceTypeFpga[]; @@ -138,7 +158,7 @@ export interface GetInstanceTypeResult { * Describes the GPU accelerators for the instance type. * * `gpus.#.count` - The number of GPUs for the instance type. * * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. - * * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. * * `gpus.#.name` - The name of the GPU accelerator. */ readonly gpuses: outputs.ec2.GetInstanceTypeGpus[]; @@ -158,6 +178,7 @@ export interface GetInstanceTypeResult { * Describes the Inference accelerators for the instance type. * * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. * * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. * * `inference_accelerators.#.name` - The name of the Inference accelerator. */ readonly inferenceAccelerators: outputs.ec2.GetInstanceTypeInferenceAccelerator[]; @@ -193,28 +214,74 @@ export interface GetInstanceTypeResult { * The maximum number of network interfaces for the instance type. */ readonly maximumNetworkInterfaces: number; + /** + * Describes the media accelerator settings for the instance type. + * * `media_accelerators.#.count` - The number of media accelerators for the instance type. + * * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. + * * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. + * * `media_accelerators.#.name` - The name of the media accelerator. + */ + readonly mediaAccelerators: outputs.ec2.GetInstanceTypeMediaAccelerator[]; /** * Size of the instance memory, in MiB. */ readonly memorySize: number; + /** + * Describes the network cards for the instance type. + * * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. + * * `network_cards.#.index` - The index of the network card. + * * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. + * * `network_cards.#.performance` - Describes the network performance of the network card. + * * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. + */ + readonly networkCards: outputs.ec2.GetInstanceTypeNetworkCard[]; /** * Describes the network performance. */ readonly networkPerformance: string; /** - * A list of architectures supported by the instance type. + * Describes the Neuron accelerator settings for the instance type. + * * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. + * * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. + * * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. + * * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. + * * `neuron_devices.#.name` - The name of the neuron accelerator. + */ + readonly neuronDevices: outputs.ec2.GetInstanceTypeNeuronDevice[]; + /** + * Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. + */ + readonly nitroEnclavesSupport: string; + /** + * Indicates whether NitroTPM is `"supported"` or `"unsupported"`. + */ + readonly nitroTpmSupport: string; + /** + * A set of strings indicating the supported NitroTPM versions. + */ + readonly nitroTpmSupportedVersions: string[]; + /** + * `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. + */ + readonly phcSupport: string; + /** + * A list of strings of architectures supported by the instance type. */ readonly supportedArchitectures: string[]; + /** + * A set of strings indicating supported CPU features. + */ + readonly supportedCpuFeatures: string[]; /** * A list of supported placement groups types. */ readonly supportedPlacementStrategies: string[]; /** - * Indicates the supported root device types. + * A list of supported root device types. */ readonly supportedRootDeviceTypes: string[]; /** - * Indicates whether the instance type is offered for spot or On-Demand. + * A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. */ readonly supportedUsagesClasses: string[]; /** @@ -233,10 +300,22 @@ export interface GetInstanceTypeResult { * Total size of the memory for the GPU accelerators for the instance type (in MiB). */ readonly totalGpuMemory: number; + /** + * The total size of the memory for the neuron accelerators for the instance type (in MiB). + */ + readonly totalInferenceMemory: number; /** * The total size of the instance disks, in GB. */ readonly totalInstanceStorage: number; + /** + * The total size of the memory for the media accelerators for the instance type (in MiB). + */ + readonly totalMediaMemory: number; + /** + * The total size of the memory for the neuron accelerators for the instance type (in MiB). + */ + readonly totalNeuronDeviceMemory: number; /** * List of the valid number of cores that can be configured for the instance type. */ diff --git a/sdk/nodejs/elasticache/user.ts b/sdk/nodejs/elasticache/user.ts index 9f9c27b2688..6af2d78e733 100644 --- a/sdk/nodejs/elasticache/user.ts +++ b/sdk/nodejs/elasticache/user.ts @@ -21,7 +21,7 @@ import * as utilities from "../utilities"; * userId: "testUserId", * userName: "testUserName", * accessString: "on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - * engine: "REDIS", + * engine: "redis", * passwords: ["password123456789"], * }); * ``` @@ -34,7 +34,7 @@ import * as utilities from "../utilities"; * userId: "testUserId", * userName: "testUserName", * accessString: "on ~* +@all", - * engine: "REDIS", + * engine: "redis", * authenticationMode: { * type: "iam", * }, @@ -49,7 +49,7 @@ import * as utilities from "../utilities"; * userId: "testUserId", * userName: "testUserName", * accessString: "on ~* +@all", - * engine: "REDIS", + * engine: "redis", * authenticationMode: { * type: "password", * passwords: [ @@ -109,7 +109,7 @@ export class User extends pulumi.CustomResource { */ public readonly authenticationMode!: pulumi.Output; /** - * The current supported values are `REDIS`, `VALKEY`. + * The current supported values are `redis`, `valkey` (case insensitive). */ public readonly engine!: pulumi.Output; /** @@ -211,7 +211,7 @@ export interface UserState { */ authenticationMode?: pulumi.Input; /** - * The current supported values are `REDIS`, `VALKEY`. + * The current supported values are `redis`, `valkey` (case insensitive). */ engine?: pulumi.Input; /** @@ -255,7 +255,7 @@ export interface UserArgs { */ authenticationMode?: pulumi.Input; /** - * The current supported values are `REDIS`, `VALKEY`. + * The current supported values are `redis`, `valkey` (case insensitive). */ engine: pulumi.Input; /** diff --git a/sdk/nodejs/elasticache/userGroup.ts b/sdk/nodejs/elasticache/userGroup.ts index f07cd5f70d1..16dae0908e8 100644 --- a/sdk/nodejs/elasticache/userGroup.ts +++ b/sdk/nodejs/elasticache/userGroup.ts @@ -17,11 +17,11 @@ import * as utilities from "../utilities"; * userId: "testUserId", * userName: "default", * accessString: "on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - * engine: "REDIS", + * engine: "redis", * passwords: ["password123456789"], * }); * const testUserGroup = new aws.elasticache.UserGroup("test", { - * engine: "REDIS", + * engine: "redis", * userGroupId: "userGroupId", * userIds: [test.userId], * }); @@ -68,7 +68,7 @@ export class UserGroup extends pulumi.CustomResource { */ public /*out*/ readonly arn!: pulumi.Output; /** - * The current supported value are `REDIS`, `VALKEY`. + * The current supported value are `redis`, `valkey` (case insensitive). */ public readonly engine!: pulumi.Output; /** @@ -140,7 +140,7 @@ export interface UserGroupState { */ arn?: pulumi.Input; /** - * The current supported value are `REDIS`, `VALKEY`. + * The current supported value are `redis`, `valkey` (case insensitive). */ engine?: pulumi.Input; /** @@ -170,7 +170,7 @@ export interface UserGroupState { */ export interface UserGroupArgs { /** - * The current supported value are `REDIS`, `VALKEY`. + * The current supported value are `redis`, `valkey` (case insensitive). */ engine: pulumi.Input; /** diff --git a/sdk/nodejs/globalaccelerator/accelerator.ts b/sdk/nodejs/globalaccelerator/accelerator.ts index fc847f7b2ca..a2efaedd7c3 100644 --- a/sdk/nodejs/globalaccelerator/accelerator.ts +++ b/sdk/nodejs/globalaccelerator/accelerator.ts @@ -65,6 +65,10 @@ export class Accelerator extends pulumi.CustomResource { return obj['__pulumiType'] === Accelerator.__pulumiType; } + /** + * The Amazon Resource Name (ARN) of the accelerator. + */ + public /*out*/ readonly arn!: pulumi.Output; /** * The attributes of the accelerator. Fields documented below. */ @@ -127,6 +131,7 @@ export class Accelerator extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as AcceleratorState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["attributes"] = state ? state.attributes : undefined; resourceInputs["dnsName"] = state ? state.dnsName : undefined; resourceInputs["dualStackDnsName"] = state ? state.dualStackDnsName : undefined; @@ -146,6 +151,7 @@ export class Accelerator extends pulumi.CustomResource { resourceInputs["ipAddresses"] = args ? args.ipAddresses : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; resourceInputs["dnsName"] = undefined /*out*/; resourceInputs["dualStackDnsName"] = undefined /*out*/; resourceInputs["hostedZoneId"] = undefined /*out*/; @@ -161,6 +167,10 @@ export class Accelerator extends pulumi.CustomResource { * Input properties used for looking up and filtering Accelerator resources. */ export interface AcceleratorState { + /** + * The Amazon Resource Name (ARN) of the accelerator. + */ + arn?: pulumi.Input; /** * The attributes of the accelerator. Fields documented below. */ diff --git a/sdk/nodejs/globalaccelerator/customRoutingAccelerator.ts b/sdk/nodejs/globalaccelerator/customRoutingAccelerator.ts index 40b913e13a3..16f69f86a33 100644 --- a/sdk/nodejs/globalaccelerator/customRoutingAccelerator.ts +++ b/sdk/nodejs/globalaccelerator/customRoutingAccelerator.ts @@ -65,6 +65,10 @@ export class CustomRoutingAccelerator extends pulumi.CustomResource { return obj['__pulumiType'] === CustomRoutingAccelerator.__pulumiType; } + /** + * The Amazon Resource Name (ARN) of the custom accelerator. + */ + public /*out*/ readonly arn!: pulumi.Output; /** * The attributes of the accelerator. Fields documented below. */ @@ -123,6 +127,7 @@ export class CustomRoutingAccelerator extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as CustomRoutingAcceleratorState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["attributes"] = state ? state.attributes : undefined; resourceInputs["dnsName"] = state ? state.dnsName : undefined; resourceInputs["enabled"] = state ? state.enabled : undefined; @@ -141,6 +146,7 @@ export class CustomRoutingAccelerator extends pulumi.CustomResource { resourceInputs["ipAddresses"] = args ? args.ipAddresses : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; resourceInputs["dnsName"] = undefined /*out*/; resourceInputs["hostedZoneId"] = undefined /*out*/; resourceInputs["ipSets"] = undefined /*out*/; @@ -155,6 +161,10 @@ export class CustomRoutingAccelerator extends pulumi.CustomResource { * Input properties used for looking up and filtering CustomRoutingAccelerator resources. */ export interface CustomRoutingAcceleratorState { + /** + * The Amazon Resource Name (ARN) of the custom accelerator. + */ + arn?: pulumi.Input; /** * The attributes of the accelerator. Fields documented below. */ diff --git a/sdk/nodejs/globalaccelerator/customRoutingEndpointGroup.ts b/sdk/nodejs/globalaccelerator/customRoutingEndpointGroup.ts index 29cacbcf07e..5cca039ff85 100644 --- a/sdk/nodejs/globalaccelerator/customRoutingEndpointGroup.ts +++ b/sdk/nodejs/globalaccelerator/customRoutingEndpointGroup.ts @@ -17,7 +17,7 @@ import * as utilities from "../utilities"; * import * as aws from "@pulumi/aws"; * * const example = new aws.globalaccelerator.CustomRoutingEndpointGroup("example", { - * listenerArn: exampleAwsGlobalacceleratorCustomRoutingListener.id, + * listenerArn: exampleAwsGlobalacceleratorCustomRoutingListener.arn, * destinationConfigurations: [{ * fromPort: 80, * toPort: 8080, diff --git a/sdk/nodejs/globalaccelerator/customRoutingListener.ts b/sdk/nodejs/globalaccelerator/customRoutingListener.ts index 4f3802ee564..7ef4c481dde 100644 --- a/sdk/nodejs/globalaccelerator/customRoutingListener.ts +++ b/sdk/nodejs/globalaccelerator/customRoutingListener.ts @@ -27,7 +27,7 @@ import * as utilities from "../utilities"; * }, * }); * const exampleCustomRoutingListener = new aws.globalaccelerator.CustomRoutingListener("example", { - * acceleratorArn: example.id, + * acceleratorArn: example.arn, * portRanges: [{ * fromPort: 80, * toPort: 80, @@ -75,6 +75,7 @@ export class CustomRoutingListener extends pulumi.CustomResource { * The Amazon Resource Name (ARN) of a custom routing accelerator. */ public readonly acceleratorArn!: pulumi.Output; + public /*out*/ readonly arn!: pulumi.Output; /** * The list of port ranges for the connections from clients to the accelerator. Fields documented below. */ @@ -94,6 +95,7 @@ export class CustomRoutingListener extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as CustomRoutingListenerState | undefined; resourceInputs["acceleratorArn"] = state ? state.acceleratorArn : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["portRanges"] = state ? state.portRanges : undefined; } else { const args = argsOrState as CustomRoutingListenerArgs | undefined; @@ -105,6 +107,7 @@ export class CustomRoutingListener extends pulumi.CustomResource { } resourceInputs["acceleratorArn"] = args ? args.acceleratorArn : undefined; resourceInputs["portRanges"] = args ? args.portRanges : undefined; + resourceInputs["arn"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(CustomRoutingListener.__pulumiType, name, resourceInputs, opts); @@ -119,6 +122,7 @@ export interface CustomRoutingListenerState { * The Amazon Resource Name (ARN) of a custom routing accelerator. */ acceleratorArn?: pulumi.Input; + arn?: pulumi.Input; /** * The list of port ranges for the connections from clients to the accelerator. Fields documented below. */ diff --git a/sdk/nodejs/globalaccelerator/endpointGroup.ts b/sdk/nodejs/globalaccelerator/endpointGroup.ts index 91a77a53406..9dfa3c52d46 100644 --- a/sdk/nodejs/globalaccelerator/endpointGroup.ts +++ b/sdk/nodejs/globalaccelerator/endpointGroup.ts @@ -17,7 +17,7 @@ import * as utilities from "../utilities"; * import * as aws from "@pulumi/aws"; * * const example = new aws.globalaccelerator.EndpointGroup("example", { - * listenerArn: exampleAwsGlobalacceleratorListener.id, + * listenerArn: exampleAwsGlobalacceleratorListener.arn, * endpointConfigurations: [{ * endpointId: exampleAwsLb.arn, * weight: 100, diff --git a/sdk/nodejs/globalaccelerator/listener.ts b/sdk/nodejs/globalaccelerator/listener.ts index 22185e7206e..bc4ad39c494 100644 --- a/sdk/nodejs/globalaccelerator/listener.ts +++ b/sdk/nodejs/globalaccelerator/listener.ts @@ -27,7 +27,7 @@ import * as utilities from "../utilities"; * }, * }); * const exampleListener = new aws.globalaccelerator.Listener("example", { - * acceleratorArn: example.id, + * acceleratorArn: example.arn, * clientAffinity: "SOURCE_IP", * protocol: "TCP", * portRanges: [{ @@ -77,6 +77,10 @@ export class Listener extends pulumi.CustomResource { * The Amazon Resource Name (ARN) of your accelerator. */ public readonly acceleratorArn!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the listener. + */ + public /*out*/ readonly arn!: pulumi.Output; /** * Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. */ @@ -104,6 +108,7 @@ export class Listener extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ListenerState | undefined; resourceInputs["acceleratorArn"] = state ? state.acceleratorArn : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["clientAffinity"] = state ? state.clientAffinity : undefined; resourceInputs["portRanges"] = state ? state.portRanges : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; @@ -122,6 +127,7 @@ export class Listener extends pulumi.CustomResource { resourceInputs["clientAffinity"] = args ? args.clientAffinity : undefined; resourceInputs["portRanges"] = args ? args.portRanges : undefined; resourceInputs["protocol"] = args ? args.protocol : undefined; + resourceInputs["arn"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Listener.__pulumiType, name, resourceInputs, opts); @@ -136,6 +142,10 @@ export interface ListenerState { * The Amazon Resource Name (ARN) of your accelerator. */ acceleratorArn?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the listener. + */ + arn?: pulumi.Input; /** * Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. */ diff --git a/sdk/nodejs/kms/customKeyStore.ts b/sdk/nodejs/kms/customKeyStore.ts index d169f8d5f61..79b384c5a9d 100644 --- a/sdk/nodejs/kms/customKeyStore.ts +++ b/sdk/nodejs/kms/customKeyStore.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** @@ -9,7 +12,7 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Basic Usage + * ### CloudHSM * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -26,6 +29,45 @@ import * as utilities from "../utilities"; * }); * ``` * + * ### External Key Store (VPC) + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.kms.CustomKeyStore("example", { + * customKeyStoreName: "example-vpc-xks", + * customKeyStoreType: "EXTERNAL_KEY_STORE", + * xksProxyAuthenticationCredential: { + * accessKeyId: ephemeralAccessKeyId, + * rawSecretAccessKey: ephemeralSecretAccessKey, + * }, + * xksProxyConnectivity: "VPC_ENDPOINT_SERVICE", + * xksProxyUriEndpoint: "https://myproxy-private.xks.example.com", + * xksProxyUriPath: "/kms/xks/v1", + * xksProxyVpcEndpointServiceName: "com.amazonaws.vpce.us-east-1.vpce-svc-example", + * }); + * ``` + * + * ### External Key Store (Public) + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.kms.CustomKeyStore("example", { + * customKeyStoreName: "example-public-xks", + * customKeyStoreType: "EXTERNAL_KEY_STORE", + * xksProxyAuthenticationCredential: { + * accessKeyId: ephemeralAccessKeyId, + * rawSecretAccessKey: ephemeralSecretAccessKey, + * }, + * xksProxyConnectivity: "PUBLIC_ENDPOINT", + * xksProxyUriEndpoint: "https://myproxy.xks.example.com", + * xksProxyUriPath: "/kms/xks/v1", + * }); + * ``` + * * ## Import * * Using `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example: @@ -62,22 +104,24 @@ export class CustomKeyStore extends pulumi.CustomResource { return obj['__pulumiType'] === CustomKeyStore.__pulumiType; } - /** - * Cluster ID of CloudHSM. - */ - public readonly cloudHsmClusterId!: pulumi.Output; + public readonly cloudHsmClusterId!: pulumi.Output; /** * Unique name for Custom Key Store. + * + * The following arguments are optional: */ public readonly customKeyStoreName!: pulumi.Output; /** - * Password for `kmsuser` on CloudHSM. + * Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. */ - public readonly keyStorePassword!: pulumi.Output; - /** - * Customer certificate used for signing on CloudHSM. - */ - public readonly trustAnchorCertificate!: pulumi.Output; + public readonly customKeyStoreType!: pulumi.Output; + public readonly keyStorePassword!: pulumi.Output; + public readonly trustAnchorCertificate!: pulumi.Output; + public readonly xksProxyAuthenticationCredential!: pulumi.Output; + public readonly xksProxyConnectivity!: pulumi.Output; + public readonly xksProxyUriEndpoint!: pulumi.Output; + public readonly xksProxyUriPath!: pulumi.Output; + public readonly xksProxyVpcEndpointServiceName!: pulumi.Output; /** * Create a CustomKeyStore resource with the given unique name, arguments, and options. @@ -94,26 +138,29 @@ export class CustomKeyStore extends pulumi.CustomResource { const state = argsOrState as CustomKeyStoreState | undefined; resourceInputs["cloudHsmClusterId"] = state ? state.cloudHsmClusterId : undefined; resourceInputs["customKeyStoreName"] = state ? state.customKeyStoreName : undefined; + resourceInputs["customKeyStoreType"] = state ? state.customKeyStoreType : undefined; resourceInputs["keyStorePassword"] = state ? state.keyStorePassword : undefined; resourceInputs["trustAnchorCertificate"] = state ? state.trustAnchorCertificate : undefined; + resourceInputs["xksProxyAuthenticationCredential"] = state ? state.xksProxyAuthenticationCredential : undefined; + resourceInputs["xksProxyConnectivity"] = state ? state.xksProxyConnectivity : undefined; + resourceInputs["xksProxyUriEndpoint"] = state ? state.xksProxyUriEndpoint : undefined; + resourceInputs["xksProxyUriPath"] = state ? state.xksProxyUriPath : undefined; + resourceInputs["xksProxyVpcEndpointServiceName"] = state ? state.xksProxyVpcEndpointServiceName : undefined; } else { const args = argsOrState as CustomKeyStoreArgs | undefined; - if ((!args || args.cloudHsmClusterId === undefined) && !opts.urn) { - throw new Error("Missing required property 'cloudHsmClusterId'"); - } if ((!args || args.customKeyStoreName === undefined) && !opts.urn) { throw new Error("Missing required property 'customKeyStoreName'"); } - if ((!args || args.keyStorePassword === undefined) && !opts.urn) { - throw new Error("Missing required property 'keyStorePassword'"); - } - if ((!args || args.trustAnchorCertificate === undefined) && !opts.urn) { - throw new Error("Missing required property 'trustAnchorCertificate'"); - } resourceInputs["cloudHsmClusterId"] = args ? args.cloudHsmClusterId : undefined; resourceInputs["customKeyStoreName"] = args ? args.customKeyStoreName : undefined; + resourceInputs["customKeyStoreType"] = args ? args.customKeyStoreType : undefined; resourceInputs["keyStorePassword"] = args ? args.keyStorePassword : undefined; resourceInputs["trustAnchorCertificate"] = args ? args.trustAnchorCertificate : undefined; + resourceInputs["xksProxyAuthenticationCredential"] = args ? args.xksProxyAuthenticationCredential : undefined; + resourceInputs["xksProxyConnectivity"] = args ? args.xksProxyConnectivity : undefined; + resourceInputs["xksProxyUriEndpoint"] = args ? args.xksProxyUriEndpoint : undefined; + resourceInputs["xksProxyUriPath"] = args ? args.xksProxyUriPath : undefined; + resourceInputs["xksProxyVpcEndpointServiceName"] = args ? args.xksProxyVpcEndpointServiceName : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(CustomKeyStore.__pulumiType, name, resourceInputs, opts); @@ -124,42 +171,46 @@ export class CustomKeyStore extends pulumi.CustomResource { * Input properties used for looking up and filtering CustomKeyStore resources. */ export interface CustomKeyStoreState { - /** - * Cluster ID of CloudHSM. - */ cloudHsmClusterId?: pulumi.Input; /** * Unique name for Custom Key Store. + * + * The following arguments are optional: */ customKeyStoreName?: pulumi.Input; /** - * Password for `kmsuser` on CloudHSM. + * Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. */ + customKeyStoreType?: pulumi.Input; keyStorePassword?: pulumi.Input; - /** - * Customer certificate used for signing on CloudHSM. - */ trustAnchorCertificate?: pulumi.Input; + xksProxyAuthenticationCredential?: pulumi.Input; + xksProxyConnectivity?: pulumi.Input; + xksProxyUriEndpoint?: pulumi.Input; + xksProxyUriPath?: pulumi.Input; + xksProxyVpcEndpointServiceName?: pulumi.Input; } /** * The set of arguments for constructing a CustomKeyStore resource. */ export interface CustomKeyStoreArgs { - /** - * Cluster ID of CloudHSM. - */ - cloudHsmClusterId: pulumi.Input; + cloudHsmClusterId?: pulumi.Input; /** * Unique name for Custom Key Store. + * + * The following arguments are optional: */ customKeyStoreName: pulumi.Input; /** - * Password for `kmsuser` on CloudHSM. + * Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. */ - keyStorePassword: pulumi.Input; - /** - * Customer certificate used for signing on CloudHSM. - */ - trustAnchorCertificate: pulumi.Input; + customKeyStoreType?: pulumi.Input; + keyStorePassword?: pulumi.Input; + trustAnchorCertificate?: pulumi.Input; + xksProxyAuthenticationCredential?: pulumi.Input; + xksProxyConnectivity?: pulumi.Input; + xksProxyUriEndpoint?: pulumi.Input; + xksProxyUriPath?: pulumi.Input; + xksProxyVpcEndpointServiceName?: pulumi.Input; } diff --git a/sdk/nodejs/lb/listener.ts b/sdk/nodejs/lb/listener.ts index 3ec5c090ee1..5d622faa057 100644 --- a/sdk/nodejs/lb/listener.ts +++ b/sdk/nodejs/lb/listener.ts @@ -286,6 +286,82 @@ export class Listener extends pulumi.CustomResource { * Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. */ public readonly protocol!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertIssuerHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertLeafHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertSubjectHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznMtlsClientcertValidityHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznTlsCipherSuiteHeaderName!: pulumi.Output; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + public readonly routingHttpRequestXAmznTlsVersionHeaderName!: pulumi.Output; + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + */ + public readonly routingHttpResponseAccessControlAllowCredentialsHeaderValue!: pulumi.Output; + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + */ + public readonly routingHttpResponseAccessControlAllowHeadersHeaderValue!: pulumi.Output; + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + */ + public readonly routingHttpResponseAccessControlAllowMethodsHeaderValue!: pulumi.Output; + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + */ + public readonly routingHttpResponseAccessControlAllowOriginHeaderValue!: pulumi.Output; + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + */ + public readonly routingHttpResponseAccessControlExposeHeadersHeaderValue!: pulumi.Output; + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + */ + public readonly routingHttpResponseAccessControlMaxAgeHeaderValue!: pulumi.Output; + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + */ + public readonly routingHttpResponseContentSecurityPolicyHeaderValue!: pulumi.Output; + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + */ + public readonly routingHttpResponseServerEnabled!: pulumi.Output; + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + */ + public readonly routingHttpResponseStrictTransportSecurityHeaderValue!: pulumi.Output; + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + */ + public readonly routingHttpResponseXContentTypeOptionsHeaderValue!: pulumi.Output; + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + */ + public readonly routingHttpResponseXFrameOptionsHeaderValue!: pulumi.Output; /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. */ @@ -328,6 +404,25 @@ export class Listener extends pulumi.CustomResource { resourceInputs["mutualAuthentication"] = state ? state.mutualAuthentication : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertLeafHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertLeafHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertValidityHeaderName"] = state ? state.routingHttpRequestXAmznMtlsClientcertValidityHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsCipherSuiteHeaderName"] = state ? state.routingHttpRequestXAmznTlsCipherSuiteHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsVersionHeaderName"] = state ? state.routingHttpRequestXAmznTlsVersionHeaderName : undefined; + resourceInputs["routingHttpResponseAccessControlAllowCredentialsHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowCredentialsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowHeadersHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowMethodsHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowMethodsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowOriginHeaderValue"] = state ? state.routingHttpResponseAccessControlAllowOriginHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlExposeHeadersHeaderValue"] = state ? state.routingHttpResponseAccessControlExposeHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlMaxAgeHeaderValue"] = state ? state.routingHttpResponseAccessControlMaxAgeHeaderValue : undefined; + resourceInputs["routingHttpResponseContentSecurityPolicyHeaderValue"] = state ? state.routingHttpResponseContentSecurityPolicyHeaderValue : undefined; + resourceInputs["routingHttpResponseServerEnabled"] = state ? state.routingHttpResponseServerEnabled : undefined; + resourceInputs["routingHttpResponseStrictTransportSecurityHeaderValue"] = state ? state.routingHttpResponseStrictTransportSecurityHeaderValue : undefined; + resourceInputs["routingHttpResponseXContentTypeOptionsHeaderValue"] = state ? state.routingHttpResponseXContentTypeOptionsHeaderValue : undefined; + resourceInputs["routingHttpResponseXFrameOptionsHeaderValue"] = state ? state.routingHttpResponseXFrameOptionsHeaderValue : undefined; resourceInputs["sslPolicy"] = state ? state.sslPolicy : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; @@ -347,6 +442,25 @@ export class Listener extends pulumi.CustomResource { resourceInputs["mutualAuthentication"] = args ? args.mutualAuthentication : undefined; resourceInputs["port"] = args ? args.port : undefined; resourceInputs["protocol"] = args ? args.protocol : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertIssuerHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertIssuerHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertLeafHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertLeafHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertSubjectHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertSubjectHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznMtlsClientcertValidityHeaderName"] = args ? args.routingHttpRequestXAmznMtlsClientcertValidityHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsCipherSuiteHeaderName"] = args ? args.routingHttpRequestXAmznTlsCipherSuiteHeaderName : undefined; + resourceInputs["routingHttpRequestXAmznTlsVersionHeaderName"] = args ? args.routingHttpRequestXAmznTlsVersionHeaderName : undefined; + resourceInputs["routingHttpResponseAccessControlAllowCredentialsHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowCredentialsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowHeadersHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowMethodsHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowMethodsHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlAllowOriginHeaderValue"] = args ? args.routingHttpResponseAccessControlAllowOriginHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlExposeHeadersHeaderValue"] = args ? args.routingHttpResponseAccessControlExposeHeadersHeaderValue : undefined; + resourceInputs["routingHttpResponseAccessControlMaxAgeHeaderValue"] = args ? args.routingHttpResponseAccessControlMaxAgeHeaderValue : undefined; + resourceInputs["routingHttpResponseContentSecurityPolicyHeaderValue"] = args ? args.routingHttpResponseContentSecurityPolicyHeaderValue : undefined; + resourceInputs["routingHttpResponseServerEnabled"] = args ? args.routingHttpResponseServerEnabled : undefined; + resourceInputs["routingHttpResponseStrictTransportSecurityHeaderValue"] = args ? args.routingHttpResponseStrictTransportSecurityHeaderValue : undefined; + resourceInputs["routingHttpResponseXContentTypeOptionsHeaderValue"] = args ? args.routingHttpResponseXContentTypeOptionsHeaderValue : undefined; + resourceInputs["routingHttpResponseXFrameOptionsHeaderValue"] = args ? args.routingHttpResponseXFrameOptionsHeaderValue : undefined; resourceInputs["sslPolicy"] = args ? args.sslPolicy : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["tcpIdleTimeoutSeconds"] = args ? args.tcpIdleTimeoutSeconds : undefined; @@ -398,6 +512,82 @@ export interface ListenerState { * Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. */ protocol?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertIssuerHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertLeafHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSubjectHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertValidityHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsCipherSuiteHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsVersionHeaderName?: pulumi.Input; + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + */ + routingHttpResponseAccessControlAllowCredentialsHeaderValue?: pulumi.Input; + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + */ + routingHttpResponseAccessControlAllowHeadersHeaderValue?: pulumi.Input; + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + */ + routingHttpResponseAccessControlAllowMethodsHeaderValue?: pulumi.Input; + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + */ + routingHttpResponseAccessControlAllowOriginHeaderValue?: pulumi.Input; + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + */ + routingHttpResponseAccessControlExposeHeadersHeaderValue?: pulumi.Input; + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + */ + routingHttpResponseAccessControlMaxAgeHeaderValue?: pulumi.Input; + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + */ + routingHttpResponseContentSecurityPolicyHeaderValue?: pulumi.Input; + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + */ + routingHttpResponseServerEnabled?: pulumi.Input; + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + */ + routingHttpResponseStrictTransportSecurityHeaderValue?: pulumi.Input; + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + */ + routingHttpResponseXContentTypeOptionsHeaderValue?: pulumi.Input; + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + */ + routingHttpResponseXFrameOptionsHeaderValue?: pulumi.Input; /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. */ @@ -454,6 +644,82 @@ export interface ListenerArgs { * Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. */ protocol?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertIssuerHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertLeafHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertSubjectHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznMtlsClientcertValidityHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsCipherSuiteHeaderName?: pulumi.Input; + /** + * Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + */ + routingHttpRequestXAmznTlsVersionHeaderName?: pulumi.Input; + /** + * Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + */ + routingHttpResponseAccessControlAllowCredentialsHeaderValue?: pulumi.Input; + /** + * Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + */ + routingHttpResponseAccessControlAllowHeadersHeaderValue?: pulumi.Input; + /** + * Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + */ + routingHttpResponseAccessControlAllowMethodsHeaderValue?: pulumi.Input; + /** + * Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + */ + routingHttpResponseAccessControlAllowOriginHeaderValue?: pulumi.Input; + /** + * Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + */ + routingHttpResponseAccessControlExposeHeadersHeaderValue?: pulumi.Input; + /** + * Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + */ + routingHttpResponseAccessControlMaxAgeHeaderValue?: pulumi.Input; + /** + * Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + */ + routingHttpResponseContentSecurityPolicyHeaderValue?: pulumi.Input; + /** + * Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + */ + routingHttpResponseServerEnabled?: pulumi.Input; + /** + * Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + */ + routingHttpResponseStrictTransportSecurityHeaderValue?: pulumi.Input; + /** + * Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + */ + routingHttpResponseXContentTypeOptionsHeaderValue?: pulumi.Input; + /** + * Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + */ + routingHttpResponseXFrameOptionsHeaderValue?: pulumi.Input; /** * Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. */ diff --git a/sdk/nodejs/mediapackage/index.ts b/sdk/nodejs/mediapackage/index.ts index fb80bfb505d..462c909752b 100644 --- a/sdk/nodejs/mediapackage/index.ts +++ b/sdk/nodejs/mediapackage/index.ts @@ -10,6 +10,11 @@ export type Channel = import("./channel").Channel; export const Channel: typeof import("./channel").Channel = null as any; utilities.lazyLoad(exports, ["Channel"], () => require("./channel")); +export { V2ChannelGroupArgs, V2ChannelGroupState } from "./v2channelGroup"; +export type V2ChannelGroup = import("./v2channelGroup").V2ChannelGroup; +export const V2ChannelGroup: typeof import("./v2channelGroup").V2ChannelGroup = null as any; +utilities.lazyLoad(exports, ["V2ChannelGroup"], () => require("./v2channelGroup")); + const _module = { version: utilities.getVersion(), @@ -17,9 +22,12 @@ const _module = { switch (type) { case "aws:mediapackage/channel:Channel": return new Channel(name, undefined, { urn }) + case "aws:mediapackage/v2ChannelGroup:V2ChannelGroup": + return new V2ChannelGroup(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } }, }; pulumi.runtime.registerResourceModule("aws", "mediapackage/channel", _module) +pulumi.runtime.registerResourceModule("aws", "mediapackage/v2ChannelGroup", _module) diff --git a/sdk/nodejs/mediapackage/v2channelGroup.ts b/sdk/nodejs/mediapackage/v2channelGroup.ts new file mode 100644 index 00000000000..7f903188367 --- /dev/null +++ b/sdk/nodejs/mediapackage/v2channelGroup.ts @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Creates an AWS Elemental MediaPackage Version 2 Channel Group. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.mediapackage.V2ChannelGroup("example", { + * name: "example", + * description: "channel group for example channels", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Elemental MediaPackage Version 2 Channel Group using the channel group's `name`. For example: + * + * ```sh + * $ pulumi import aws:mediapackage/v2ChannelGroup:V2ChannelGroup example example + * ``` + */ +export class V2ChannelGroup extends pulumi.CustomResource { + /** + * Get an existing V2ChannelGroup resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: V2ChannelGroupState, opts?: pulumi.CustomResourceOptions): V2ChannelGroup { + return new V2ChannelGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:mediapackage/v2ChannelGroup:V2ChannelGroup'; + + /** + * Returns true if the given object is an instance of V2ChannelGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is V2ChannelGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === V2ChannelGroup.__pulumiType; + } + + /** + * The ARN of the channel + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * A description of the channel group + */ + public readonly description!: pulumi.Output; + /** + * The egress domain of the channel group + */ + public /*out*/ readonly egressDomain!: pulumi.Output; + /** + * A unique identifier naming the channel group + */ + public readonly name!: pulumi.Output; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a V2ChannelGroup resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: V2ChannelGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: V2ChannelGroupArgs | V2ChannelGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as V2ChannelGroupState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["egressDomain"] = state ? state.egressDomain : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as V2ChannelGroupArgs | undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["egressDomain"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(V2ChannelGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering V2ChannelGroup resources. + */ +export interface V2ChannelGroupState { + /** + * The ARN of the channel + */ + arn?: pulumi.Input; + /** + * A description of the channel group + */ + description?: pulumi.Input; + /** + * The egress domain of the channel group + */ + egressDomain?: pulumi.Input; + /** + * A unique identifier naming the channel group + */ + name?: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a V2ChannelGroup resource. + */ +export interface V2ChannelGroupArgs { + /** + * A description of the channel group + */ + description?: pulumi.Input; + /** + * A unique identifier naming the channel group + */ + name?: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/route53/healthCheck.ts b/sdk/nodejs/route53/healthCheck.ts index f67729d119b..7a4069a8683 100644 --- a/sdk/nodejs/route53/healthCheck.ts +++ b/sdk/nodejs/route53/healthCheck.ts @@ -86,6 +86,37 @@ import * as utilities from "../utilities"; * }); * ``` * + * ### CloudWatch Alarm Check With Triggers + * + * The `triggers` argument allows the Route53 health check to be synchronized when a change to the upstream CloudWatch alarm is made. + * In the configuration below, the health check will be synchronized any time the `threshold` of the alarm is changed. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.cloudwatch.MetricAlarm("example", { + * name: "example", + * comparisonOperator: "GreaterThanOrEqualToThreshold", + * evaluationPeriods: 2, + * metricName: "CPUUtilization", + * namespace: "AWS/EC2", + * period: 120, + * statistic: "Average", + * threshold: 80, + * alarmDescription: "This metric monitors ec2 cpu utilization", + * }); + * const exampleHealthCheck = new aws.route53.HealthCheck("example", { + * type: "CLOUDWATCH_METRIC", + * cloudwatchAlarmName: example.name, + * cloudwatchAlarmRegion: "us-west-2", + * insufficientDataHealthStatus: "Healthy", + * triggers: { + * threshold: example.threshold, + * }, + * }); + * ``` + * * ## Import * * Using `pulumi import`, import Route53 Health Checks using the health check `id`. For example: @@ -139,12 +170,12 @@ export class HealthCheck extends pulumi.CustomResource { */ public readonly cloudwatchAlarmName!: pulumi.Output; /** - * The CloudWatchRegion that the CloudWatch alarm was created in. + * The region that the CloudWatch alarm was created in. */ public readonly cloudwatchAlarmRegion!: pulumi.Output; /** * A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -218,6 +249,10 @@ export class HealthCheck extends pulumi.CustomResource { * @deprecated Please use `tags` instead. */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + */ + public readonly triggers!: pulumi.Output<{[key: string]: string}>; /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. */ @@ -258,6 +293,7 @@ export class HealthCheck extends pulumi.CustomResource { resourceInputs["searchString"] = state ? state.searchString : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["triggers"] = state ? state.triggers : undefined; resourceInputs["type"] = state ? state.type : undefined; } else { const args = argsOrState as HealthCheckArgs | undefined; @@ -284,6 +320,7 @@ export class HealthCheck extends pulumi.CustomResource { resourceInputs["routingControlArn"] = args ? args.routingControlArn : undefined; resourceInputs["searchString"] = args ? args.searchString : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["triggers"] = args ? args.triggers : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; @@ -314,12 +351,12 @@ export interface HealthCheckState { */ cloudwatchAlarmName?: pulumi.Input; /** - * The CloudWatchRegion that the CloudWatch alarm was created in. + * The region that the CloudWatch alarm was created in. */ cloudwatchAlarmRegion?: pulumi.Input; /** * A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -393,6 +430,10 @@ export interface HealthCheckState { * @deprecated Please use `tags` instead. */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + */ + triggers?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. */ @@ -416,12 +457,12 @@ export interface HealthCheckArgs { */ cloudwatchAlarmName?: pulumi.Input; /** - * The CloudWatchRegion that the CloudWatch alarm was created in. + * The region that the CloudWatch alarm was created in. */ cloudwatchAlarmRegion?: pulumi.Input; /** * A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. * @@ -489,6 +530,10 @@ export interface HealthCheckArgs { * A map of tags to assign to the health check. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + */ + triggers?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 8328f682eb2..ee0a07ae88d 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -1470,6 +1470,7 @@ "medialive/multiplexProgram.ts", "mediapackage/channel.ts", "mediapackage/index.ts", + "mediapackage/v2channelGroup.ts", "mediastore/container.ts", "mediastore/containerPolicy.ts", "mediastore/index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 2584a405a39..9e740923c13 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -740,6 +740,10 @@ export interface ProviderEndpoint { * Use this to override the default service endpoint URL */ internetmonitor?: pulumi.Input; + /** + * Use this to override the default service endpoint URL + */ + invoicing?: pulumi.Input; /** * Use this to override the default service endpoint URL */ @@ -39588,6 +39592,17 @@ export namespace kinesisanalyticsv2 { } export namespace kms { + export interface CustomKeyStoreXksProxyAuthenticationCredential { + /** + * A unique identifier for the raw secret access key. + */ + accessKeyId: pulumi.Input; + /** + * A secret string of 43-64 characters. + */ + rawSecretAccessKey: pulumi.Input; + } + export interface GetSecretSecret { context?: {[key: string]: string}; grantTokens?: string[]; diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index a8a7f5bf9d9..a5575db8849 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -19739,6 +19739,10 @@ export namespace config { * Use this to override the default service endpoint URL */ internetmonitor?: string; + /** + * Use this to override the default service endpoint URL + */ + invoicing?: string; /** * Use this to override the default service endpoint URL */ @@ -27269,6 +27273,10 @@ export namespace ec2 { export interface GetInstanceTypeInferenceAccelerator { count: number; manufacturer: string; + /** + * Size of the instance memory, in MiB. + */ + memorySize: number; name: string; } @@ -27278,6 +27286,35 @@ export namespace ec2 { type: string; } + export interface GetInstanceTypeMediaAccelerator { + count: number; + manufacturer: string; + /** + * Size of the instance memory, in MiB. + */ + memorySize: number; + name: string; + } + + export interface GetInstanceTypeNetworkCard { + baselineBandwidth: number; + index: number; + maximumInterfaces: number; + peakBandwidth: number; + performance: string; + } + + export interface GetInstanceTypeNeuronDevice { + coreCount: number; + coreVersion: number; + count: number; + /** + * Size of the instance memory, in MiB. + */ + memorySize: number; + name: string; + } + export interface GetInstanceTypeOfferingFilter { /** * Name of the filter. The `location` filter depends on the top-level `locationType` argument and if not specified, defaults to the current region. @@ -33604,7 +33641,7 @@ export namespace ecs { /** * Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. */ - driver?: string; + driver: string; /** * Map of Docker driver specific options. */ @@ -46970,6 +47007,17 @@ export namespace kinesisanalyticsv2 { } export namespace kms { + export interface CustomKeyStoreXksProxyAuthenticationCredential { + /** + * A unique identifier for the raw secret access key. + */ + accessKeyId: string; + /** + * A secret string of 43-64 characters. + */ + rawSecretAccessKey: string; + } + export interface GetKeyMultiRegionConfiguration { /** * Indicates whether the KMS key is a `PRIMARY` or `REPLICA` key. diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index d4657258e37..3beeb93c2d0 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -8008,6 +8008,14 @@ "aws:mediapackage/channel:Channel": "Channel" } }, + { + "pkg": "aws", + "mod": "mediapackage/v2ChannelGroup", + "fqn": "pulumi_aws.mediapackage", + "classes": { + "aws:mediapackage/v2ChannelGroup:V2ChannelGroup": "V2ChannelGroup" + } + }, { "pkg": "aws", "mod": "mediastore/container", diff --git a/sdk/python/pulumi_aws/_inputs.py b/sdk/python/pulumi_aws/_inputs.py index 558baed7f39..b1a31b94746 100644 --- a/sdk/python/pulumi_aws/_inputs.py +++ b/sdk/python/pulumi_aws/_inputs.py @@ -992,6 +992,10 @@ class ProviderEndpointArgsDict(TypedDict): """ Use this to override the default service endpoint URL """ + invoicing: NotRequired[pulumi.Input[str]] + """ + Use this to override the default service endpoint URL + """ iot: NotRequired[pulumi.Input[str]] """ Use this to override the default service endpoint URL @@ -1738,6 +1742,7 @@ def __init__(__self__, *, inspector2: Optional[pulumi.Input[str]] = None, inspectorv2: Optional[pulumi.Input[str]] = None, internetmonitor: Optional[pulumi.Input[str]] = None, + invoicing: Optional[pulumi.Input[str]] = None, iot: Optional[pulumi.Input[str]] = None, iotanalytics: Optional[pulumi.Input[str]] = None, iotevents: Optional[pulumi.Input[str]] = None, @@ -2035,6 +2040,7 @@ def __init__(__self__, *, :param pulumi.Input[str] inspector2: Use this to override the default service endpoint URL :param pulumi.Input[str] inspectorv2: Use this to override the default service endpoint URL :param pulumi.Input[str] internetmonitor: Use this to override the default service endpoint URL + :param pulumi.Input[str] invoicing: Use this to override the default service endpoint URL :param pulumi.Input[str] iot: Use this to override the default service endpoint URL :param pulumi.Input[str] iotanalytics: Use this to override the default service endpoint URL :param pulumi.Input[str] iotevents: Use this to override the default service endpoint URL @@ -2480,6 +2486,8 @@ def __init__(__self__, *, pulumi.set(__self__, "inspectorv2", inspectorv2) if internetmonitor is not None: pulumi.set(__self__, "internetmonitor", internetmonitor) + if invoicing is not None: + pulumi.set(__self__, "invoicing", invoicing) if iot is not None: pulumi.set(__self__, "iot", iot) if iotanalytics is not None: @@ -4553,6 +4561,18 @@ def internetmonitor(self) -> Optional[pulumi.Input[str]]: def internetmonitor(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "internetmonitor", value) + @property + @pulumi.getter + def invoicing(self) -> Optional[pulumi.Input[str]]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "invoicing") + + @invoicing.setter + def invoicing(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "invoicing", value) + @property @pulumi.getter def iot(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws/alb/listener.py b/sdk/python/pulumi_aws/alb/listener.py index f0bf158a23d..c0400f005ee 100644 --- a/sdk/python/pulumi_aws/alb/listener.py +++ b/sdk/python/pulumi_aws/alb/listener.py @@ -28,6 +28,25 @@ def __init__(__self__, *, mutual_authentication: Optional[pulumi.Input['ListenerMutualAuthenticationArgs']] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tcp_idle_timeout_seconds: Optional[pulumi.Input[int]] = None): @@ -42,6 +61,25 @@ def __init__(__self__, *, :param pulumi.Input['ListenerMutualAuthenticationArgs'] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -60,6 +98,44 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if protocol is not None: pulumi.set(__self__, "protocol", protocol) + if routing_http_request_x_amzn_mtls_clientcert_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_header_name", routing_http_request_x_amzn_mtls_clientcert_header_name) + if routing_http_request_x_amzn_mtls_clientcert_issuer_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", routing_http_request_x_amzn_mtls_clientcert_issuer_header_name) + if routing_http_request_x_amzn_mtls_clientcert_leaf_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", routing_http_request_x_amzn_mtls_clientcert_leaf_header_name) + if routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name) + if routing_http_request_x_amzn_mtls_clientcert_subject_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", routing_http_request_x_amzn_mtls_clientcert_subject_header_name) + if routing_http_request_x_amzn_mtls_clientcert_validity_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", routing_http_request_x_amzn_mtls_clientcert_validity_header_name) + if routing_http_request_x_amzn_tls_cipher_suite_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_cipher_suite_header_name", routing_http_request_x_amzn_tls_cipher_suite_header_name) + if routing_http_request_x_amzn_tls_version_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_version_header_name", routing_http_request_x_amzn_tls_version_header_name) + if routing_http_response_access_control_allow_credentials_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_credentials_header_value", routing_http_response_access_control_allow_credentials_header_value) + if routing_http_response_access_control_allow_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_headers_header_value", routing_http_response_access_control_allow_headers_header_value) + if routing_http_response_access_control_allow_methods_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_methods_header_value", routing_http_response_access_control_allow_methods_header_value) + if routing_http_response_access_control_allow_origin_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_origin_header_value", routing_http_response_access_control_allow_origin_header_value) + if routing_http_response_access_control_expose_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_expose_headers_header_value", routing_http_response_access_control_expose_headers_header_value) + if routing_http_response_access_control_max_age_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_max_age_header_value", routing_http_response_access_control_max_age_header_value) + if routing_http_response_content_security_policy_header_value is not None: + pulumi.set(__self__, "routing_http_response_content_security_policy_header_value", routing_http_response_content_security_policy_header_value) + if routing_http_response_server_enabled is not None: + pulumi.set(__self__, "routing_http_response_server_enabled", routing_http_response_server_enabled) + if routing_http_response_strict_transport_security_header_value is not None: + pulumi.set(__self__, "routing_http_response_strict_transport_security_header_value", routing_http_response_strict_transport_security_header_value) + if routing_http_response_x_content_type_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_content_type_options_header_value", routing_http_response_x_content_type_options_header_value) + if routing_http_response_x_frame_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_frame_options_header_value", routing_http_response_x_frame_options_header_value) if ssl_policy is not None: pulumi.set(__self__, "ssl_policy", ssl_policy) if tags is not None: @@ -153,6 +229,234 @@ def protocol(self) -> Optional[pulumi.Input[str]]: def protocol(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "protocol", value) + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_issuer_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_leaf_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_subject_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_validity_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name") + + @routing_http_request_x_amzn_tls_cipher_suite_header_name.setter + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsVersionHeaderName") + def routing_http_request_x_amzn_tls_version_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_version_header_name") + + @routing_http_request_x_amzn_tls_version_header_name.setter + def routing_http_request_x_amzn_tls_version_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_version_header_name", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + def routing_http_response_access_control_allow_credentials_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_credentials_header_value") + + @routing_http_response_access_control_allow_credentials_header_value.setter + def routing_http_response_access_control_allow_credentials_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_credentials_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + def routing_http_response_access_control_allow_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_headers_header_value") + + @routing_http_response_access_control_allow_headers_header_value.setter + def routing_http_response_access_control_allow_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + def routing_http_response_access_control_allow_methods_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_methods_header_value") + + @routing_http_response_access_control_allow_methods_header_value.setter + def routing_http_response_access_control_allow_methods_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_methods_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + def routing_http_response_access_control_allow_origin_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_origin_header_value") + + @routing_http_response_access_control_allow_origin_header_value.setter + def routing_http_response_access_control_allow_origin_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_origin_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + def routing_http_response_access_control_expose_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_expose_headers_header_value") + + @routing_http_response_access_control_expose_headers_header_value.setter + def routing_http_response_access_control_expose_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_expose_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + def routing_http_response_access_control_max_age_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_max_age_header_value") + + @routing_http_response_access_control_max_age_header_value.setter + def routing_http_response_access_control_max_age_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_max_age_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseContentSecurityPolicyHeaderValue") + def routing_http_response_content_security_policy_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + """ + return pulumi.get(self, "routing_http_response_content_security_policy_header_value") + + @routing_http_response_content_security_policy_header_value.setter + def routing_http_response_content_security_policy_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_content_security_policy_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseServerEnabled") + def routing_http_response_server_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + """ + return pulumi.get(self, "routing_http_response_server_enabled") + + @routing_http_response_server_enabled.setter + def routing_http_response_server_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "routing_http_response_server_enabled", value) + + @property + @pulumi.getter(name="routingHttpResponseStrictTransportSecurityHeaderValue") + def routing_http_response_strict_transport_security_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + """ + return pulumi.get(self, "routing_http_response_strict_transport_security_header_value") + + @routing_http_response_strict_transport_security_header_value.setter + def routing_http_response_strict_transport_security_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_strict_transport_security_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXContentTypeOptionsHeaderValue") + def routing_http_response_x_content_type_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + """ + return pulumi.get(self, "routing_http_response_x_content_type_options_header_value") + + @routing_http_response_x_content_type_options_header_value.setter + def routing_http_response_x_content_type_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_content_type_options_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXFrameOptionsHeaderValue") + def routing_http_response_x_frame_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + """ + return pulumi.get(self, "routing_http_response_x_frame_options_header_value") + + @routing_http_response_x_frame_options_header_value.setter + def routing_http_response_x_frame_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_frame_options_header_value", value) + @property @pulumi.getter(name="sslPolicy") def ssl_policy(self) -> Optional[pulumi.Input[str]]: @@ -203,6 +507,25 @@ def __init__(__self__, *, mutual_authentication: Optional[pulumi.Input['ListenerMutualAuthenticationArgs']] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -219,6 +542,25 @@ def __init__(__self__, *, :param pulumi.Input['ListenerMutualAuthenticationArgs'] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -242,6 +584,44 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if protocol is not None: pulumi.set(__self__, "protocol", protocol) + if routing_http_request_x_amzn_mtls_clientcert_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_header_name", routing_http_request_x_amzn_mtls_clientcert_header_name) + if routing_http_request_x_amzn_mtls_clientcert_issuer_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", routing_http_request_x_amzn_mtls_clientcert_issuer_header_name) + if routing_http_request_x_amzn_mtls_clientcert_leaf_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", routing_http_request_x_amzn_mtls_clientcert_leaf_header_name) + if routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name) + if routing_http_request_x_amzn_mtls_clientcert_subject_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", routing_http_request_x_amzn_mtls_clientcert_subject_header_name) + if routing_http_request_x_amzn_mtls_clientcert_validity_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", routing_http_request_x_amzn_mtls_clientcert_validity_header_name) + if routing_http_request_x_amzn_tls_cipher_suite_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_cipher_suite_header_name", routing_http_request_x_amzn_tls_cipher_suite_header_name) + if routing_http_request_x_amzn_tls_version_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_version_header_name", routing_http_request_x_amzn_tls_version_header_name) + if routing_http_response_access_control_allow_credentials_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_credentials_header_value", routing_http_response_access_control_allow_credentials_header_value) + if routing_http_response_access_control_allow_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_headers_header_value", routing_http_response_access_control_allow_headers_header_value) + if routing_http_response_access_control_allow_methods_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_methods_header_value", routing_http_response_access_control_allow_methods_header_value) + if routing_http_response_access_control_allow_origin_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_origin_header_value", routing_http_response_access_control_allow_origin_header_value) + if routing_http_response_access_control_expose_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_expose_headers_header_value", routing_http_response_access_control_expose_headers_header_value) + if routing_http_response_access_control_max_age_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_max_age_header_value", routing_http_response_access_control_max_age_header_value) + if routing_http_response_content_security_policy_header_value is not None: + pulumi.set(__self__, "routing_http_response_content_security_policy_header_value", routing_http_response_content_security_policy_header_value) + if routing_http_response_server_enabled is not None: + pulumi.set(__self__, "routing_http_response_server_enabled", routing_http_response_server_enabled) + if routing_http_response_strict_transport_security_header_value is not None: + pulumi.set(__self__, "routing_http_response_strict_transport_security_header_value", routing_http_response_strict_transport_security_header_value) + if routing_http_response_x_content_type_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_content_type_options_header_value", routing_http_response_x_content_type_options_header_value) + if routing_http_response_x_frame_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_frame_options_header_value", routing_http_response_x_frame_options_header_value) if ssl_policy is not None: pulumi.set(__self__, "ssl_policy", ssl_policy) if tags is not None: @@ -352,6 +732,234 @@ def protocol(self) -> Optional[pulumi.Input[str]]: def protocol(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "protocol", value) + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_issuer_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_leaf_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_subject_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_validity_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name") + + @routing_http_request_x_amzn_tls_cipher_suite_header_name.setter + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsVersionHeaderName") + def routing_http_request_x_amzn_tls_version_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_version_header_name") + + @routing_http_request_x_amzn_tls_version_header_name.setter + def routing_http_request_x_amzn_tls_version_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_version_header_name", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + def routing_http_response_access_control_allow_credentials_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_credentials_header_value") + + @routing_http_response_access_control_allow_credentials_header_value.setter + def routing_http_response_access_control_allow_credentials_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_credentials_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + def routing_http_response_access_control_allow_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_headers_header_value") + + @routing_http_response_access_control_allow_headers_header_value.setter + def routing_http_response_access_control_allow_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + def routing_http_response_access_control_allow_methods_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_methods_header_value") + + @routing_http_response_access_control_allow_methods_header_value.setter + def routing_http_response_access_control_allow_methods_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_methods_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + def routing_http_response_access_control_allow_origin_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_origin_header_value") + + @routing_http_response_access_control_allow_origin_header_value.setter + def routing_http_response_access_control_allow_origin_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_origin_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + def routing_http_response_access_control_expose_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_expose_headers_header_value") + + @routing_http_response_access_control_expose_headers_header_value.setter + def routing_http_response_access_control_expose_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_expose_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + def routing_http_response_access_control_max_age_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_max_age_header_value") + + @routing_http_response_access_control_max_age_header_value.setter + def routing_http_response_access_control_max_age_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_max_age_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseContentSecurityPolicyHeaderValue") + def routing_http_response_content_security_policy_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + """ + return pulumi.get(self, "routing_http_response_content_security_policy_header_value") + + @routing_http_response_content_security_policy_header_value.setter + def routing_http_response_content_security_policy_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_content_security_policy_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseServerEnabled") + def routing_http_response_server_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + """ + return pulumi.get(self, "routing_http_response_server_enabled") + + @routing_http_response_server_enabled.setter + def routing_http_response_server_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "routing_http_response_server_enabled", value) + + @property + @pulumi.getter(name="routingHttpResponseStrictTransportSecurityHeaderValue") + def routing_http_response_strict_transport_security_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + """ + return pulumi.get(self, "routing_http_response_strict_transport_security_header_value") + + @routing_http_response_strict_transport_security_header_value.setter + def routing_http_response_strict_transport_security_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_strict_transport_security_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXContentTypeOptionsHeaderValue") + def routing_http_response_x_content_type_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + """ + return pulumi.get(self, "routing_http_response_x_content_type_options_header_value") + + @routing_http_response_x_content_type_options_header_value.setter + def routing_http_response_x_content_type_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_content_type_options_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXFrameOptionsHeaderValue") + def routing_http_response_x_frame_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + """ + return pulumi.get(self, "routing_http_response_x_frame_options_header_value") + + @routing_http_response_x_frame_options_header_value.setter + def routing_http_response_x_frame_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_frame_options_header_value", value) + @property @pulumi.getter(name="sslPolicy") def ssl_policy(self) -> Optional[pulumi.Input[str]]: @@ -416,6 +1024,25 @@ def __init__(__self__, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tcp_idle_timeout_seconds: Optional[pulumi.Input[int]] = None, @@ -638,6 +1265,25 @@ def __init__(__self__, :param pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -879,6 +1525,25 @@ def _internal_init(__self__, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tcp_idle_timeout_seconds: Optional[pulumi.Input[int]] = None, @@ -902,6 +1567,25 @@ def _internal_init(__self__, __props__.__dict__["mutual_authentication"] = mutual_authentication __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_header_name"] = routing_http_request_x_amzn_mtls_clientcert_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_issuer_header_name"] = routing_http_request_x_amzn_mtls_clientcert_issuer_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_leaf_header_name"] = routing_http_request_x_amzn_mtls_clientcert_leaf_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name"] = routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_subject_header_name"] = routing_http_request_x_amzn_mtls_clientcert_subject_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_validity_header_name"] = routing_http_request_x_amzn_mtls_clientcert_validity_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_cipher_suite_header_name"] = routing_http_request_x_amzn_tls_cipher_suite_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_version_header_name"] = routing_http_request_x_amzn_tls_version_header_name + __props__.__dict__["routing_http_response_access_control_allow_credentials_header_value"] = routing_http_response_access_control_allow_credentials_header_value + __props__.__dict__["routing_http_response_access_control_allow_headers_header_value"] = routing_http_response_access_control_allow_headers_header_value + __props__.__dict__["routing_http_response_access_control_allow_methods_header_value"] = routing_http_response_access_control_allow_methods_header_value + __props__.__dict__["routing_http_response_access_control_allow_origin_header_value"] = routing_http_response_access_control_allow_origin_header_value + __props__.__dict__["routing_http_response_access_control_expose_headers_header_value"] = routing_http_response_access_control_expose_headers_header_value + __props__.__dict__["routing_http_response_access_control_max_age_header_value"] = routing_http_response_access_control_max_age_header_value + __props__.__dict__["routing_http_response_content_security_policy_header_value"] = routing_http_response_content_security_policy_header_value + __props__.__dict__["routing_http_response_server_enabled"] = routing_http_response_server_enabled + __props__.__dict__["routing_http_response_strict_transport_security_header_value"] = routing_http_response_strict_transport_security_header_value + __props__.__dict__["routing_http_response_x_content_type_options_header_value"] = routing_http_response_x_content_type_options_header_value + __props__.__dict__["routing_http_response_x_frame_options_header_value"] = routing_http_response_x_frame_options_header_value __props__.__dict__["ssl_policy"] = ssl_policy __props__.__dict__["tags"] = tags __props__.__dict__["tcp_idle_timeout_seconds"] = tcp_idle_timeout_seconds @@ -927,6 +1611,25 @@ def get(resource_name: str, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -948,6 +1651,25 @@ def get(resource_name: str, :param pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -967,6 +1689,25 @@ def get(resource_name: str, __props__.__dict__["mutual_authentication"] = mutual_authentication __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_header_name"] = routing_http_request_x_amzn_mtls_clientcert_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_issuer_header_name"] = routing_http_request_x_amzn_mtls_clientcert_issuer_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_leaf_header_name"] = routing_http_request_x_amzn_mtls_clientcert_leaf_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name"] = routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_subject_header_name"] = routing_http_request_x_amzn_mtls_clientcert_subject_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_validity_header_name"] = routing_http_request_x_amzn_mtls_clientcert_validity_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_cipher_suite_header_name"] = routing_http_request_x_amzn_tls_cipher_suite_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_version_header_name"] = routing_http_request_x_amzn_tls_version_header_name + __props__.__dict__["routing_http_response_access_control_allow_credentials_header_value"] = routing_http_response_access_control_allow_credentials_header_value + __props__.__dict__["routing_http_response_access_control_allow_headers_header_value"] = routing_http_response_access_control_allow_headers_header_value + __props__.__dict__["routing_http_response_access_control_allow_methods_header_value"] = routing_http_response_access_control_allow_methods_header_value + __props__.__dict__["routing_http_response_access_control_allow_origin_header_value"] = routing_http_response_access_control_allow_origin_header_value + __props__.__dict__["routing_http_response_access_control_expose_headers_header_value"] = routing_http_response_access_control_expose_headers_header_value + __props__.__dict__["routing_http_response_access_control_max_age_header_value"] = routing_http_response_access_control_max_age_header_value + __props__.__dict__["routing_http_response_content_security_policy_header_value"] = routing_http_response_content_security_policy_header_value + __props__.__dict__["routing_http_response_server_enabled"] = routing_http_response_server_enabled + __props__.__dict__["routing_http_response_strict_transport_security_header_value"] = routing_http_response_strict_transport_security_header_value + __props__.__dict__["routing_http_response_x_content_type_options_header_value"] = routing_http_response_x_content_type_options_header_value + __props__.__dict__["routing_http_response_x_frame_options_header_value"] = routing_http_response_x_frame_options_header_value __props__.__dict__["ssl_policy"] = ssl_policy __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all @@ -1039,6 +1780,158 @@ def protocol(self) -> pulumi.Output[str]: """ return pulumi.get(self, "protocol") + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsVersionHeaderName") + def routing_http_request_x_amzn_tls_version_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_version_header_name") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + def routing_http_response_access_control_allow_credentials_header_value(self) -> pulumi.Output[str]: + """ + Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_credentials_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + def routing_http_response_access_control_allow_headers_header_value(self) -> pulumi.Output[str]: + """ + Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_headers_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + def routing_http_response_access_control_allow_methods_header_value(self) -> pulumi.Output[str]: + """ + Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_methods_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + def routing_http_response_access_control_allow_origin_header_value(self) -> pulumi.Output[str]: + """ + Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_origin_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + def routing_http_response_access_control_expose_headers_header_value(self) -> pulumi.Output[str]: + """ + Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_expose_headers_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + def routing_http_response_access_control_max_age_header_value(self) -> pulumi.Output[str]: + """ + Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_max_age_header_value") + + @property + @pulumi.getter(name="routingHttpResponseContentSecurityPolicyHeaderValue") + def routing_http_response_content_security_policy_header_value(self) -> pulumi.Output[str]: + """ + Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + """ + return pulumi.get(self, "routing_http_response_content_security_policy_header_value") + + @property + @pulumi.getter(name="routingHttpResponseServerEnabled") + def routing_http_response_server_enabled(self) -> pulumi.Output[bool]: + """ + Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + """ + return pulumi.get(self, "routing_http_response_server_enabled") + + @property + @pulumi.getter(name="routingHttpResponseStrictTransportSecurityHeaderValue") + def routing_http_response_strict_transport_security_header_value(self) -> pulumi.Output[str]: + """ + Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + """ + return pulumi.get(self, "routing_http_response_strict_transport_security_header_value") + + @property + @pulumi.getter(name="routingHttpResponseXContentTypeOptionsHeaderValue") + def routing_http_response_x_content_type_options_header_value(self) -> pulumi.Output[str]: + """ + Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + """ + return pulumi.get(self, "routing_http_response_x_content_type_options_header_value") + + @property + @pulumi.getter(name="routingHttpResponseXFrameOptionsHeaderValue") + def routing_http_response_x_frame_options_header_value(self) -> pulumi.Output[str]: + """ + Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + """ + return pulumi.get(self, "routing_http_response_x_frame_options_header_value") + @property @pulumi.getter(name="sslPolicy") def ssl_policy(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/config/outputs.py b/sdk/python/pulumi_aws/config/outputs.py index fd3101fcf40..efb6bd1e23f 100644 --- a/sdk/python/pulumi_aws/config/outputs.py +++ b/sdk/python/pulumi_aws/config/outputs.py @@ -390,6 +390,7 @@ def __init__(__self__, *, inspector2: Optional[str] = None, inspectorv2: Optional[str] = None, internetmonitor: Optional[str] = None, + invoicing: Optional[str] = None, iot: Optional[str] = None, iotanalytics: Optional[str] = None, iotevents: Optional[str] = None, @@ -687,6 +688,7 @@ def __init__(__self__, *, :param str inspector2: Use this to override the default service endpoint URL :param str inspectorv2: Use this to override the default service endpoint URL :param str internetmonitor: Use this to override the default service endpoint URL + :param str invoicing: Use this to override the default service endpoint URL :param str iot: Use this to override the default service endpoint URL :param str iotanalytics: Use this to override the default service endpoint URL :param str iotevents: Use this to override the default service endpoint URL @@ -1132,6 +1134,8 @@ def __init__(__self__, *, pulumi.set(__self__, "inspectorv2", inspectorv2) if internetmonitor is not None: pulumi.set(__self__, "internetmonitor", internetmonitor) + if invoicing is not None: + pulumi.set(__self__, "invoicing", invoicing) if iot is not None: pulumi.set(__self__, "iot", iot) if iotanalytics is not None: @@ -2613,6 +2617,14 @@ def internetmonitor(self) -> Optional[str]: """ return pulumi.get(self, "internetmonitor") + @property + @pulumi.getter + def invoicing(self) -> Optional[str]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "invoicing") + @property @pulumi.getter def iot(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/dataexchange/data_set.py b/sdk/python/pulumi_aws/dataexchange/data_set.py index 8fb39c72944..89f280ede91 100644 --- a/sdk/python/pulumi_aws/dataexchange/data_set.py +++ b/sdk/python/pulumi_aws/dataexchange/data_set.py @@ -221,10 +221,10 @@ def __init__(__self__, ## Import - Using `pulumi import`, import DataExchange DataSets using their ARN. For example: + Using `pulumi import`, import DataExchange DataSets using their `id`. For example: ```sh - $ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1 + $ pulumi import aws:dataexchange/dataSet:DataSet example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1 ``` :param str resource_name: The name of the resource. @@ -257,10 +257,10 @@ def __init__(__self__, ## Import - Using `pulumi import`, import DataExchange DataSets using their ARN. For example: + Using `pulumi import`, import DataExchange DataSets using their `id`. For example: ```sh - $ pulumi import aws:dataexchange/dataSet:DataSet example arn:aws:dataexchange:us-west-2:123456789012:data-sets/4fa784c7-ccb4-4dbf-ba4f-02198320daa1 + $ pulumi import aws:dataexchange/dataSet:DataSet example 4fa784c7-ccb4-4dbf-ba4f-02198320daa1 ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_aws/datasync/s3_location.py b/sdk/python/pulumi_aws/datasync/s3_location.py index 030e5a934e1..e2b1420361c 100644 --- a/sdk/python/pulumi_aws/datasync/s3_location.py +++ b/sdk/python/pulumi_aws/datasync/s3_location.py @@ -29,11 +29,11 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a S3Location resource. - :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 Bucket. + :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. :param pulumi.Input['S3LocationS3ConfigArgs'] s3_config: Configuration block containing information for connecting to S3. :param pulumi.Input[str] subdirectory: Prefix to perform actions as source or destination. - :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: A list of DataSync Agent ARNs with which this location will be associated. - :param pulumi.Input[str] s3_storage_class: The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. + :param pulumi.Input[str] s3_storage_class: Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "s3_bucket_arn", s3_bucket_arn) @@ -50,7 +50,7 @@ def __init__(__self__, *, @pulumi.getter(name="s3BucketArn") def s3_bucket_arn(self) -> pulumi.Input[str]: """ - Amazon Resource Name (ARN) of the S3 Bucket. + Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. """ return pulumi.get(self, "s3_bucket_arn") @@ -86,7 +86,7 @@ def subdirectory(self, value: pulumi.Input[str]): @pulumi.getter(name="agentArns") def agent_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of DataSync Agent ARNs with which this location will be associated. + (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. """ return pulumi.get(self, "agent_arns") @@ -98,7 +98,7 @@ def agent_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]) @pulumi.getter(name="s3StorageClass") def s3_storage_class(self) -> Optional[pulumi.Input[str]]: """ - The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) """ return pulumi.get(self, "s3_storage_class") @@ -133,11 +133,11 @@ def __init__(__self__, *, uri: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering S3Location resources. - :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: A list of DataSync Agent ARNs with which this location will be associated. + :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the DataSync Location. - :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 Bucket. + :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. :param pulumi.Input['S3LocationS3ConfigArgs'] s3_config: Configuration block containing information for connecting to S3. - :param pulumi.Input[str] s3_storage_class: The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + :param pulumi.Input[str] s3_storage_class: Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) :param pulumi.Input[str] subdirectory: Prefix to perform actions as source or destination. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -168,7 +168,7 @@ def __init__(__self__, *, @pulumi.getter(name="agentArns") def agent_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of DataSync Agent ARNs with which this location will be associated. + (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. """ return pulumi.get(self, "agent_arns") @@ -192,7 +192,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="s3BucketArn") def s3_bucket_arn(self) -> Optional[pulumi.Input[str]]: """ - Amazon Resource Name (ARN) of the S3 Bucket. + Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. """ return pulumi.get(self, "s3_bucket_arn") @@ -216,7 +216,7 @@ def s3_config(self, value: Optional[pulumi.Input['S3LocationS3ConfigArgs']]): @pulumi.getter(name="s3StorageClass") def s3_storage_class(self) -> Optional[pulumi.Input[str]]: """ - The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) """ return pulumi.get(self, "s3_storage_class") @@ -288,6 +288,8 @@ def __init__(__self__, ## Example Usage + ### Basic Usage + ```python import pulumi import pulumi_aws as aws @@ -300,6 +302,22 @@ def __init__(__self__, }) ``` + ### S3 Bucket on AWS Outposts + + ```python + import pulumi + import pulumi_aws as aws + + destination = aws.datasync.S3Location("destination", + agent_arns=[example_aws_datasync_agent["arn"]], + s3_bucket_arn=example_aws_s3_access_point["arn"], + s3_storage_class="OUTPOSTS", + subdirectory="/example/prefix", + s3_config={ + "bucket_access_role_arn": example["arn"], + }) + ``` + ## Import Using `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example: @@ -310,10 +328,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: A list of DataSync Agent ARNs with which this location will be associated. - :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 Bucket. + :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. + :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. :param pulumi.Input[Union['S3LocationS3ConfigArgs', 'S3LocationS3ConfigArgsDict']] s3_config: Configuration block containing information for connecting to S3. - :param pulumi.Input[str] s3_storage_class: The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + :param pulumi.Input[str] s3_storage_class: Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) :param pulumi.Input[str] subdirectory: Prefix to perform actions as source or destination. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -328,6 +346,8 @@ def __init__(__self__, ## Example Usage + ### Basic Usage + ```python import pulumi import pulumi_aws as aws @@ -340,6 +360,22 @@ def __init__(__self__, }) ``` + ### S3 Bucket on AWS Outposts + + ```python + import pulumi + import pulumi_aws as aws + + destination = aws.datasync.S3Location("destination", + agent_arns=[example_aws_datasync_agent["arn"]], + s3_bucket_arn=example_aws_s3_access_point["arn"], + s3_storage_class="OUTPOSTS", + subdirectory="/example/prefix", + s3_config={ + "bucket_access_role_arn": example["arn"], + }) + ``` + ## Import Using `pulumi import`, import `aws_datasync_location_s3` using the DataSync Task Amazon Resource Name (ARN). For example: @@ -419,11 +455,11 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: A list of DataSync Agent ARNs with which this location will be associated. + :param pulumi.Input[Sequence[pulumi.Input[str]]] agent_arns: (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the DataSync Location. - :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 Bucket. + :param pulumi.Input[str] s3_bucket_arn: Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. :param pulumi.Input[Union['S3LocationS3ConfigArgs', 'S3LocationS3ConfigArgsDict']] s3_config: Configuration block containing information for connecting to S3. - :param pulumi.Input[str] s3_storage_class: The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + :param pulumi.Input[str] s3_storage_class: Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) :param pulumi.Input[str] subdirectory: Prefix to perform actions as source or destination. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -447,7 +483,7 @@ def get(resource_name: str, @pulumi.getter(name="agentArns") def agent_arns(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - A list of DataSync Agent ARNs with which this location will be associated. + (Amazon S3 on Outposts only) Amazon Resource Name (ARN) of the DataSync agent on the Outpost. """ return pulumi.get(self, "agent_arns") @@ -463,7 +499,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="s3BucketArn") def s3_bucket_arn(self) -> pulumi.Output[str]: """ - Amazon Resource Name (ARN) of the S3 Bucket. + Amazon Resource Name (ARN) of the S3 bucket, or the Amazon S3 access point if the S3 bucket is located on an AWS Outposts resource. """ return pulumi.get(self, "s3_bucket_arn") @@ -479,7 +515,7 @@ def s3_config(self) -> pulumi.Output['outputs.S3LocationS3Config']: @pulumi.getter(name="s3StorageClass") def s3_storage_class(self) -> pulumi.Output[str]: """ - The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) + Amazon S3 storage class that you want to store your files in when this location is used as a task destination. [Valid values](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) """ return pulumi.get(self, "s3_storage_class") diff --git a/sdk/python/pulumi_aws/ec2/ami.py b/sdk/python/pulumi_aws/ec2/ami.py index b7bc0538889..9091e0d1dd7 100644 --- a/sdk/python/pulumi_aws/ec2/ami.py +++ b/sdk/python/pulumi_aws/ec2/ami.py @@ -37,6 +37,7 @@ def __init__(__self__, *, sriov_net_support: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Ami resource. @@ -54,6 +55,7 @@ def __init__(__self__, *, :param pulumi.Input[str] root_device_name: Name of the root device (for example, `/dev/sda1`, or `/dev/xvda`). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type changes the set of further arguments that are required, as described below. @@ -90,6 +92,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if tpm_support is not None: pulumi.set(__self__, "tpm_support", tpm_support) + if uefi_data is not None: + pulumi.set(__self__, "uefi_data", uefi_data) if virtualization_type is not None: pulumi.set(__self__, "virtualization_type", virtualization_type) @@ -275,6 +279,18 @@ def tpm_support(self) -> Optional[pulumi.Input[str]]: def tpm_support(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tpm_support", value) + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> Optional[pulumi.Input[str]]: + """ + Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + + @uefi_data.setter + def uefi_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uefi_data", value) + @property @pulumi.getter(name="virtualizationType") def virtualization_type(self) -> Optional[pulumi.Input[str]]: @@ -320,6 +336,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, usage_operation: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None): """ @@ -348,6 +365,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] usage_operation: Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -410,6 +428,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if tpm_support is not None: pulumi.set(__self__, "tpm_support", tpm_support) + if uefi_data is not None: + pulumi.set(__self__, "uefi_data", uefi_data) if usage_operation is not None: pulumi.set(__self__, "usage_operation", usage_operation) if virtualization_type is not None: @@ -727,6 +747,18 @@ def tpm_support(self) -> Optional[pulumi.Input[str]]: def tpm_support(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tpm_support", value) + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> Optional[pulumi.Input[str]]: + """ + Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + + @uefi_data.setter + def uefi_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uefi_data", value) + @property @pulumi.getter(name="usageOperation") def usage_operation(self) -> Optional[pulumi.Input[str]]: @@ -775,6 +807,7 @@ def __init__(__self__, sriov_net_support: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -832,6 +865,7 @@ def __init__(__self__, :param pulumi.Input[str] root_device_name: Name of the root device (for example, `/dev/sda1`, or `/dev/xvda`). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type changes the set of further arguments that are required, as described below. @@ -912,6 +946,7 @@ def _internal_init(__self__, sriov_net_support: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -938,6 +973,7 @@ def _internal_init(__self__, __props__.__dict__["sriov_net_support"] = sriov_net_support __props__.__dict__["tags"] = tags __props__.__dict__["tpm_support"] = tpm_support + __props__.__dict__["uefi_data"] = uefi_data __props__.__dict__["virtualization_type"] = virtualization_type __props__.__dict__["arn"] = None __props__.__dict__["hypervisor"] = None @@ -988,6 +1024,7 @@ def get(resource_name: str, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, usage_operation: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None) -> 'Ami': """ @@ -1021,6 +1058,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] usage_operation: Operation of the Amazon EC2 instance and the billing code that is associated with the AMI. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type @@ -1057,6 +1095,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["tpm_support"] = tpm_support + __props__.__dict__["uefi_data"] = uefi_data __props__.__dict__["usage_operation"] = usage_operation __props__.__dict__["virtualization_type"] = virtualization_type return Ami(resource_name, opts=opts, __props__=__props__) @@ -1265,6 +1304,14 @@ def tpm_support(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "tpm_support") + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> pulumi.Output[Optional[str]]: + """ + Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + @property @pulumi.getter(name="usageOperation") def usage_operation(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/ec2/ami_copy.py b/sdk/python/pulumi_aws/ec2/ami_copy.py index 4a4f073ee27..80f578ee44b 100644 --- a/sdk/python/pulumi_aws/ec2/ami_copy.py +++ b/sdk/python/pulumi_aws/ec2/ami_copy.py @@ -245,6 +245,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, usage_operation: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None): """ @@ -280,6 +281,7 @@ def __init__(__self__, *, for created instances. No other value is supported at this time. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type changes the set of further arguments that are required, as described below. @@ -351,6 +353,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if tpm_support is not None: pulumi.set(__self__, "tpm_support", tpm_support) + if uefi_data is not None: + pulumi.set(__self__, "uefi_data", uefi_data) if usage_operation is not None: pulumi.set(__self__, "usage_operation", usage_operation) if virtualization_type is not None: @@ -720,6 +724,18 @@ def tpm_support(self) -> Optional[pulumi.Input[str]]: def tpm_support(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tpm_support", value) + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> Optional[pulumi.Input[str]]: + """ + Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + + @uefi_data.setter + def uefi_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uefi_data", value) + @property @pulumi.getter(name="usageOperation") def usage_operation(self) -> Optional[pulumi.Input[str]]: @@ -913,6 +929,7 @@ def _internal_init(__self__, __props__.__dict__["sriov_net_support"] = None __props__.__dict__["tags_all"] = None __props__.__dict__["tpm_support"] = None + __props__.__dict__["uefi_data"] = None __props__.__dict__["usage_operation"] = None __props__.__dict__["virtualization_type"] = None super(AmiCopy, __self__).__init__( @@ -957,6 +974,7 @@ def get(resource_name: str, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, usage_operation: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None) -> 'AmiCopy': """ @@ -997,6 +1015,7 @@ def get(resource_name: str, for created instances. No other value is supported at this time. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type changes the set of further arguments that are required, as described below. @@ -1037,6 +1056,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["tpm_support"] = tpm_support + __props__.__dict__["uefi_data"] = uefi_data __props__.__dict__["usage_operation"] = usage_operation __props__.__dict__["virtualization_type"] = virtualization_type return AmiCopy(resource_name, opts=opts, __props__=__props__) @@ -1277,6 +1297,14 @@ def tpm_support(self) -> pulumi.Output[str]: """ return pulumi.get(self, "tpm_support") + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> pulumi.Output[str]: + """ + Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + @property @pulumi.getter(name="usageOperation") def usage_operation(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/ec2/ami_from_instance.py b/sdk/python/pulumi_aws/ec2/ami_from_instance.py index 67bbe288b59..b52c4aa767e 100644 --- a/sdk/python/pulumi_aws/ec2/ami_from_instance.py +++ b/sdk/python/pulumi_aws/ec2/ami_from_instance.py @@ -195,6 +195,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, usage_operation: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None): """ @@ -227,6 +228,7 @@ def __init__(__self__, *, for created instances. No other value is supported at this time. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type changes the set of further arguments that are required, as described below. @@ -292,6 +294,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if tpm_support is not None: pulumi.set(__self__, "tpm_support", tpm_support) + if uefi_data is not None: + pulumi.set(__self__, "uefi_data", uefi_data) if usage_operation is not None: pulumi.set(__self__, "usage_operation", usage_operation) if virtualization_type is not None: @@ -625,6 +629,18 @@ def tpm_support(self) -> Optional[pulumi.Input[str]]: def tpm_support(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tpm_support", value) + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> Optional[pulumi.Input[str]]: + """ + Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + + @uefi_data.setter + def uefi_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "uefi_data", value) + @property @pulumi.getter(name="usageOperation") def usage_operation(self) -> Optional[pulumi.Input[str]]: @@ -808,6 +824,7 @@ def _internal_init(__self__, __props__.__dict__["sriov_net_support"] = None __props__.__dict__["tags_all"] = None __props__.__dict__["tpm_support"] = None + __props__.__dict__["uefi_data"] = None __props__.__dict__["usage_operation"] = None __props__.__dict__["virtualization_type"] = None super(AmiFromInstance, __self__).__init__( @@ -849,6 +866,7 @@ def get(resource_name: str, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tpm_support: Optional[pulumi.Input[str]] = None, + uefi_data: Optional[pulumi.Input[str]] = None, usage_operation: Optional[pulumi.Input[str]] = None, virtualization_type: Optional[pulumi.Input[str]] = None) -> 'AmiFromInstance': """ @@ -886,6 +904,7 @@ def get(resource_name: str, for created instances. No other value is supported at this time. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] tpm_support: If the image is configured for NitroTPM support, the value is `v2.0`. For more information, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[str] uefi_data: Base64 representation of the non-volatile UEFI variable store. :param pulumi.Input[str] virtualization_type: Keyword to choose what virtualization mode created instances will use. Can be either "paravirtual" (the default) or "hvm". The choice of virtualization type changes the set of further arguments that are required, as described below. @@ -923,6 +942,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["tpm_support"] = tpm_support + __props__.__dict__["uefi_data"] = uefi_data __props__.__dict__["usage_operation"] = usage_operation __props__.__dict__["virtualization_type"] = virtualization_type return AmiFromInstance(resource_name, opts=opts, __props__=__props__) @@ -1139,6 +1159,14 @@ def tpm_support(self) -> pulumi.Output[str]: """ return pulumi.get(self, "tpm_support") + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> pulumi.Output[str]: + """ + Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + @property @pulumi.getter(name="usageOperation") def usage_operation(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/ec2/get_ami.py b/sdk/python/pulumi_aws/ec2/get_ami.py index 9c2894e7726..6c2d19141ee 100644 --- a/sdk/python/pulumi_aws/ec2/get_ami.py +++ b/sdk/python/pulumi_aws/ec2/get_ami.py @@ -28,7 +28,7 @@ class GetAmiResult: """ A collection of values returned by getAmi. """ - def __init__(__self__, architecture=None, arn=None, block_device_mappings=None, boot_mode=None, creation_date=None, deprecation_time=None, description=None, ena_support=None, executable_users=None, filters=None, hypervisor=None, id=None, image_id=None, image_location=None, image_owner_alias=None, image_type=None, imds_support=None, include_deprecated=None, kernel_id=None, most_recent=None, name=None, name_regex=None, owner_id=None, owners=None, platform=None, platform_details=None, product_codes=None, public=None, ramdisk_id=None, root_device_name=None, root_device_type=None, root_snapshot_id=None, sriov_net_support=None, state=None, state_reason=None, tags=None, tpm_support=None, usage_operation=None, virtualization_type=None): + def __init__(__self__, architecture=None, arn=None, block_device_mappings=None, boot_mode=None, creation_date=None, deprecation_time=None, description=None, ena_support=None, executable_users=None, filters=None, hypervisor=None, id=None, image_id=None, image_location=None, image_owner_alias=None, image_type=None, imds_support=None, include_deprecated=None, kernel_id=None, most_recent=None, name=None, name_regex=None, owner_id=None, owners=None, platform=None, platform_details=None, product_codes=None, public=None, ramdisk_id=None, root_device_name=None, root_device_type=None, root_snapshot_id=None, sriov_net_support=None, state=None, state_reason=None, tags=None, tpm_support=None, uefi_data=None, usage_operation=None, virtualization_type=None): if architecture and not isinstance(architecture, str): raise TypeError("Expected argument 'architecture' to be a str") pulumi.set(__self__, "architecture", architecture) @@ -140,6 +140,9 @@ def __init__(__self__, architecture=None, arn=None, block_device_mappings=None, if tpm_support and not isinstance(tpm_support, str): raise TypeError("Expected argument 'tpm_support' to be a str") pulumi.set(__self__, "tpm_support", tpm_support) + if uefi_data and not isinstance(uefi_data, str): + raise TypeError("Expected argument 'uefi_data' to be a str") + pulumi.set(__self__, "uefi_data", uefi_data) if usage_operation and not isinstance(usage_operation, str): raise TypeError("Expected argument 'usage_operation' to be a str") pulumi.set(__self__, "usage_operation", usage_operation) @@ -435,6 +438,14 @@ def tpm_support(self) -> str: """ return pulumi.get(self, "tpm_support") + @property + @pulumi.getter(name="uefiData") + def uefi_data(self) -> Optional[str]: + """ + (Optional) Base64 representation of the non-volatile UEFI variable store. + """ + return pulumi.get(self, "uefi_data") + @property @pulumi.getter(name="usageOperation") def usage_operation(self) -> str: @@ -496,6 +507,7 @@ def __await__(self): state_reason=self.state_reason, tags=self.tags, tpm_support=self.tpm_support, + uefi_data=self.uefi_data, usage_operation=self.usage_operation, virtualization_type=self.virtualization_type) @@ -507,6 +519,7 @@ def get_ami(executable_users: Optional[Sequence[str]] = None, name_regex: Optional[str] = None, owners: Optional[Sequence[str]] = None, tags: Optional[Mapping[str, str]] = None, + uefi_data: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAmiResult: """ Use this data source to get the ID of a registered AMI for use in other @@ -561,6 +574,7 @@ def get_ami(executable_users: Optional[Sequence[str]] = None, :param Mapping[str, str] tags: Any tags assigned to the image. * `tags.#.key` - Key name of the tag. * `tags.#.value` - Value of the tag. + :param str uefi_data: (Optional) Base64 representation of the non-volatile UEFI variable store. """ __args__ = dict() __args__['executableUsers'] = executable_users @@ -570,6 +584,7 @@ def get_ami(executable_users: Optional[Sequence[str]] = None, __args__['nameRegex'] = name_regex __args__['owners'] = owners __args__['tags'] = tags + __args__['uefiData'] = uefi_data opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws:ec2/getAmi:getAmi', __args__, opts=opts, typ=GetAmiResult).value @@ -611,6 +626,7 @@ def get_ami(executable_users: Optional[Sequence[str]] = None, state_reason=pulumi.get(__ret__, 'state_reason'), tags=pulumi.get(__ret__, 'tags'), tpm_support=pulumi.get(__ret__, 'tpm_support'), + uefi_data=pulumi.get(__ret__, 'uefi_data'), usage_operation=pulumi.get(__ret__, 'usage_operation'), virtualization_type=pulumi.get(__ret__, 'virtualization_type')) def get_ami_output(executable_users: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, @@ -620,6 +636,7 @@ def get_ami_output(executable_users: Optional[pulumi.Input[Optional[Sequence[str name_regex: Optional[pulumi.Input[Optional[str]]] = None, owners: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + uefi_data: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAmiResult]: """ Use this data source to get the ID of a registered AMI for use in other @@ -674,6 +691,7 @@ def get_ami_output(executable_users: Optional[pulumi.Input[Optional[Sequence[str :param Mapping[str, str] tags: Any tags assigned to the image. * `tags.#.key` - Key name of the tag. * `tags.#.value` - Value of the tag. + :param str uefi_data: (Optional) Base64 representation of the non-volatile UEFI variable store. """ __args__ = dict() __args__['executableUsers'] = executable_users @@ -683,6 +701,7 @@ def get_ami_output(executable_users: Optional[pulumi.Input[Optional[Sequence[str __args__['nameRegex'] = name_regex __args__['owners'] = owners __args__['tags'] = tags + __args__['uefiData'] = uefi_data opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:ec2/getAmi:getAmi', __args__, opts=opts, typ=GetAmiResult) return __ret__.apply(lambda __response__: GetAmiResult( @@ -723,5 +742,6 @@ def get_ami_output(executable_users: Optional[pulumi.Input[Optional[Sequence[str state_reason=pulumi.get(__response__, 'state_reason'), tags=pulumi.get(__response__, 'tags'), tpm_support=pulumi.get(__response__, 'tpm_support'), + uefi_data=pulumi.get(__response__, 'uefi_data'), usage_operation=pulumi.get(__response__, 'usage_operation'), virtualization_type=pulumi.get(__response__, 'virtualization_type'))) diff --git a/sdk/python/pulumi_aws/ec2/get_instance_type.py b/sdk/python/pulumi_aws/ec2/get_instance_type.py index 70138274783..655e2278b73 100644 --- a/sdk/python/pulumi_aws/ec2/get_instance_type.py +++ b/sdk/python/pulumi_aws/ec2/get_instance_type.py @@ -27,13 +27,19 @@ class GetInstanceTypeResult: """ A collection of values returned by getInstanceType. """ - def __init__(__self__, auto_recovery_supported=None, bare_metal=None, burstable_performance_supported=None, current_generation=None, dedicated_hosts_supported=None, default_cores=None, default_threads_per_core=None, default_vcpus=None, ebs_encryption_support=None, ebs_nvme_support=None, ebs_optimized_support=None, ebs_performance_baseline_bandwidth=None, ebs_performance_baseline_iops=None, ebs_performance_baseline_throughput=None, ebs_performance_maximum_bandwidth=None, ebs_performance_maximum_iops=None, ebs_performance_maximum_throughput=None, efa_supported=None, ena_support=None, encryption_in_transit_supported=None, fpgas=None, free_tier_eligible=None, gpuses=None, hibernation_supported=None, hypervisor=None, id=None, inference_accelerators=None, instance_disks=None, instance_storage_supported=None, instance_type=None, ipv6_supported=None, maximum_ipv4_addresses_per_interface=None, maximum_ipv6_addresses_per_interface=None, maximum_network_cards=None, maximum_network_interfaces=None, memory_size=None, network_performance=None, supported_architectures=None, supported_placement_strategies=None, supported_root_device_types=None, supported_usages_classes=None, supported_virtualization_types=None, sustained_clock_speed=None, total_fpga_memory=None, total_gpu_memory=None, total_instance_storage=None, valid_cores=None, valid_threads_per_cores=None): + def __init__(__self__, auto_recovery_supported=None, bandwidth_weightings=None, bare_metal=None, boot_modes=None, burstable_performance_supported=None, current_generation=None, dedicated_hosts_supported=None, default_cores=None, default_network_card_index=None, default_threads_per_core=None, default_vcpus=None, ebs_encryption_support=None, ebs_nvme_support=None, ebs_optimized_support=None, ebs_performance_baseline_bandwidth=None, ebs_performance_baseline_iops=None, ebs_performance_baseline_throughput=None, ebs_performance_maximum_bandwidth=None, ebs_performance_maximum_iops=None, ebs_performance_maximum_throughput=None, efa_maximum_interfaces=None, efa_supported=None, ena_srd_supported=None, ena_support=None, encryption_in_transit_supported=None, fpgas=None, free_tier_eligible=None, gpuses=None, hibernation_supported=None, hypervisor=None, id=None, inference_accelerators=None, instance_disks=None, instance_storage_supported=None, instance_type=None, ipv6_supported=None, maximum_ipv4_addresses_per_interface=None, maximum_ipv6_addresses_per_interface=None, maximum_network_cards=None, maximum_network_interfaces=None, media_accelerators=None, memory_size=None, network_cards=None, network_performance=None, neuron_devices=None, nitro_enclaves_support=None, nitro_tpm_support=None, nitro_tpm_supported_versions=None, phc_support=None, supported_architectures=None, supported_cpu_features=None, supported_placement_strategies=None, supported_root_device_types=None, supported_usages_classes=None, supported_virtualization_types=None, sustained_clock_speed=None, total_fpga_memory=None, total_gpu_memory=None, total_inference_memory=None, total_instance_storage=None, total_media_memory=None, total_neuron_device_memory=None, valid_cores=None, valid_threads_per_cores=None): if auto_recovery_supported and not isinstance(auto_recovery_supported, bool): raise TypeError("Expected argument 'auto_recovery_supported' to be a bool") pulumi.set(__self__, "auto_recovery_supported", auto_recovery_supported) + if bandwidth_weightings and not isinstance(bandwidth_weightings, list): + raise TypeError("Expected argument 'bandwidth_weightings' to be a list") + pulumi.set(__self__, "bandwidth_weightings", bandwidth_weightings) if bare_metal and not isinstance(bare_metal, bool): raise TypeError("Expected argument 'bare_metal' to be a bool") pulumi.set(__self__, "bare_metal", bare_metal) + if boot_modes and not isinstance(boot_modes, list): + raise TypeError("Expected argument 'boot_modes' to be a list") + pulumi.set(__self__, "boot_modes", boot_modes) if burstable_performance_supported and not isinstance(burstable_performance_supported, bool): raise TypeError("Expected argument 'burstable_performance_supported' to be a bool") pulumi.set(__self__, "burstable_performance_supported", burstable_performance_supported) @@ -46,6 +52,9 @@ def __init__(__self__, auto_recovery_supported=None, bare_metal=None, burstable_ if default_cores and not isinstance(default_cores, int): raise TypeError("Expected argument 'default_cores' to be a int") pulumi.set(__self__, "default_cores", default_cores) + if default_network_card_index and not isinstance(default_network_card_index, int): + raise TypeError("Expected argument 'default_network_card_index' to be a int") + pulumi.set(__self__, "default_network_card_index", default_network_card_index) if default_threads_per_core and not isinstance(default_threads_per_core, int): raise TypeError("Expected argument 'default_threads_per_core' to be a int") pulumi.set(__self__, "default_threads_per_core", default_threads_per_core) @@ -79,9 +88,15 @@ def __init__(__self__, auto_recovery_supported=None, bare_metal=None, burstable_ if ebs_performance_maximum_throughput and not isinstance(ebs_performance_maximum_throughput, float): raise TypeError("Expected argument 'ebs_performance_maximum_throughput' to be a float") pulumi.set(__self__, "ebs_performance_maximum_throughput", ebs_performance_maximum_throughput) + if efa_maximum_interfaces and not isinstance(efa_maximum_interfaces, int): + raise TypeError("Expected argument 'efa_maximum_interfaces' to be a int") + pulumi.set(__self__, "efa_maximum_interfaces", efa_maximum_interfaces) if efa_supported and not isinstance(efa_supported, bool): raise TypeError("Expected argument 'efa_supported' to be a bool") pulumi.set(__self__, "efa_supported", efa_supported) + if ena_srd_supported and not isinstance(ena_srd_supported, bool): + raise TypeError("Expected argument 'ena_srd_supported' to be a bool") + pulumi.set(__self__, "ena_srd_supported", ena_srd_supported) if ena_support and not isinstance(ena_support, str): raise TypeError("Expected argument 'ena_support' to be a str") pulumi.set(__self__, "ena_support", ena_support) @@ -133,15 +148,39 @@ def __init__(__self__, auto_recovery_supported=None, bare_metal=None, burstable_ if maximum_network_interfaces and not isinstance(maximum_network_interfaces, int): raise TypeError("Expected argument 'maximum_network_interfaces' to be a int") pulumi.set(__self__, "maximum_network_interfaces", maximum_network_interfaces) + if media_accelerators and not isinstance(media_accelerators, list): + raise TypeError("Expected argument 'media_accelerators' to be a list") + pulumi.set(__self__, "media_accelerators", media_accelerators) if memory_size and not isinstance(memory_size, int): raise TypeError("Expected argument 'memory_size' to be a int") pulumi.set(__self__, "memory_size", memory_size) + if network_cards and not isinstance(network_cards, list): + raise TypeError("Expected argument 'network_cards' to be a list") + pulumi.set(__self__, "network_cards", network_cards) if network_performance and not isinstance(network_performance, str): raise TypeError("Expected argument 'network_performance' to be a str") pulumi.set(__self__, "network_performance", network_performance) + if neuron_devices and not isinstance(neuron_devices, list): + raise TypeError("Expected argument 'neuron_devices' to be a list") + pulumi.set(__self__, "neuron_devices", neuron_devices) + if nitro_enclaves_support and not isinstance(nitro_enclaves_support, str): + raise TypeError("Expected argument 'nitro_enclaves_support' to be a str") + pulumi.set(__self__, "nitro_enclaves_support", nitro_enclaves_support) + if nitro_tpm_support and not isinstance(nitro_tpm_support, str): + raise TypeError("Expected argument 'nitro_tpm_support' to be a str") + pulumi.set(__self__, "nitro_tpm_support", nitro_tpm_support) + if nitro_tpm_supported_versions and not isinstance(nitro_tpm_supported_versions, list): + raise TypeError("Expected argument 'nitro_tpm_supported_versions' to be a list") + pulumi.set(__self__, "nitro_tpm_supported_versions", nitro_tpm_supported_versions) + if phc_support and not isinstance(phc_support, str): + raise TypeError("Expected argument 'phc_support' to be a str") + pulumi.set(__self__, "phc_support", phc_support) if supported_architectures and not isinstance(supported_architectures, list): raise TypeError("Expected argument 'supported_architectures' to be a list") pulumi.set(__self__, "supported_architectures", supported_architectures) + if supported_cpu_features and not isinstance(supported_cpu_features, list): + raise TypeError("Expected argument 'supported_cpu_features' to be a list") + pulumi.set(__self__, "supported_cpu_features", supported_cpu_features) if supported_placement_strategies and not isinstance(supported_placement_strategies, list): raise TypeError("Expected argument 'supported_placement_strategies' to be a list") pulumi.set(__self__, "supported_placement_strategies", supported_placement_strategies) @@ -163,9 +202,18 @@ def __init__(__self__, auto_recovery_supported=None, bare_metal=None, burstable_ if total_gpu_memory and not isinstance(total_gpu_memory, int): raise TypeError("Expected argument 'total_gpu_memory' to be a int") pulumi.set(__self__, "total_gpu_memory", total_gpu_memory) + if total_inference_memory and not isinstance(total_inference_memory, int): + raise TypeError("Expected argument 'total_inference_memory' to be a int") + pulumi.set(__self__, "total_inference_memory", total_inference_memory) if total_instance_storage and not isinstance(total_instance_storage, int): raise TypeError("Expected argument 'total_instance_storage' to be a int") pulumi.set(__self__, "total_instance_storage", total_instance_storage) + if total_media_memory and not isinstance(total_media_memory, int): + raise TypeError("Expected argument 'total_media_memory' to be a int") + pulumi.set(__self__, "total_media_memory", total_media_memory) + if total_neuron_device_memory and not isinstance(total_neuron_device_memory, int): + raise TypeError("Expected argument 'total_neuron_device_memory' to be a int") + pulumi.set(__self__, "total_neuron_device_memory", total_neuron_device_memory) if valid_cores and not isinstance(valid_cores, list): raise TypeError("Expected argument 'valid_cores' to be a list") pulumi.set(__self__, "valid_cores", valid_cores) @@ -181,6 +229,14 @@ def auto_recovery_supported(self) -> bool: """ return pulumi.get(self, "auto_recovery_supported") + @property + @pulumi.getter(name="bandwidthWeightings") + def bandwidth_weightings(self) -> Sequence[str]: + """ + A set of strings of valid settings for [configurable bandwidth weighting](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html), if supported. + """ + return pulumi.get(self, "bandwidth_weightings") + @property @pulumi.getter(name="bareMetal") def bare_metal(self) -> bool: @@ -189,6 +245,14 @@ def bare_metal(self) -> bool: """ return pulumi.get(self, "bare_metal") + @property + @pulumi.getter(name="bootModes") + def boot_modes(self) -> Sequence[str]: + """ + A set of strings of supported boot modes. + """ + return pulumi.get(self, "boot_modes") + @property @pulumi.getter(name="burstablePerformanceSupported") def burstable_performance_supported(self) -> bool: @@ -221,6 +285,14 @@ def default_cores(self) -> int: """ return pulumi.get(self, "default_cores") + @property + @pulumi.getter(name="defaultNetworkCardIndex") + def default_network_card_index(self) -> int: + """ + The index of the default network card, starting at `0`. + """ + return pulumi.get(self, "default_network_card_index") + @property @pulumi.getter(name="defaultThreadsPerCore") def default_threads_per_core(self) -> int: @@ -309,19 +381,35 @@ def ebs_performance_maximum_throughput(self) -> float: """ return pulumi.get(self, "ebs_performance_maximum_throughput") + @property + @pulumi.getter(name="efaMaximumInterfaces") + def efa_maximum_interfaces(self) -> int: + """ + The maximum number of Elastic Fabric Adapters for the instance type. + """ + return pulumi.get(self, "efa_maximum_interfaces") + @property @pulumi.getter(name="efaSupported") def efa_supported(self) -> bool: """ - Whether Elastic Fabric Adapter (EFA) is supported. + `true` if Elastic Fabric Adapter (EFA) is supported. """ return pulumi.get(self, "efa_supported") + @property + @pulumi.getter(name="enaSrdSupported") + def ena_srd_supported(self) -> bool: + """ + `true` if the instance type supports [ENA Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). + """ + return pulumi.get(self, "ena_srd_supported") + @property @pulumi.getter(name="enaSupport") def ena_support(self) -> str: """ - Whether Elastic Network Adapter (ENA) is supported. + Indicates whether Elastic Network Adapter (ENA) is `"supported"`, `"required"`, or `"unsupported"`. """ return pulumi.get(self, "ena_support") @@ -329,7 +417,7 @@ def ena_support(self) -> str: @pulumi.getter(name="encryptionInTransitSupported") def encryption_in_transit_supported(self) -> bool: """ - Indicates whether encryption in-transit between instances is supported. + `true` if encryption in-transit between instances is supported. """ return pulumi.get(self, "encryption_in_transit_supported") @@ -340,7 +428,7 @@ def fpgas(self) -> Sequence['outputs.GetInstanceTypeFpgaResult']: Describes the FPGA accelerator settings for the instance type. * `fpgas.#.count` - The count of FPGA accelerators for the instance type. * `fpgas.#.manufacturer` - The manufacturer of the FPGA accelerator. - * `fpgas.#.memory_size` - The size (in MiB) for the memory available to the FPGA accelerator. + * `fpgas.#.memory_size` - The size (in MiB) of the memory available to the FPGA accelerator. * `fpgas.#.name` - The name of the FPGA accelerator. """ return pulumi.get(self, "fpgas") @@ -360,7 +448,7 @@ def gpuses(self) -> Sequence['outputs.GetInstanceTypeGpusResult']: Describes the GPU accelerators for the instance type. * `gpus.#.count` - The number of GPUs for the instance type. * `gpus.#.manufacturer` - The manufacturer of the GPU accelerator. - * `gpus.#.memory_size` - The size (in MiB) for the memory available to the GPU accelerator. + * `gpus.#.memory_size` - The size (in MiB) of the memory available to the GPU accelerator. * `gpus.#.name` - The name of the GPU accelerator. """ return pulumi.get(self, "gpuses") @@ -396,6 +484,7 @@ def inference_accelerators(self) -> Sequence['outputs.GetInstanceTypeInferenceAc Describes the Inference accelerators for the instance type. * `inference_accelerators.#.count` - The number of Inference accelerators for the instance type. * `inference_accelerators.#.manufacturer` - The manufacturer of the Inference accelerator. + * `inference_accelerators.#.memory_size` - The size (in MiB) of the memory available to the inference accelerator. * `inference_accelerators.#.name` - The name of the Inference accelerator. """ return pulumi.get(self, "inference_accelerators") @@ -464,6 +553,18 @@ def maximum_network_interfaces(self) -> int: """ return pulumi.get(self, "maximum_network_interfaces") + @property + @pulumi.getter(name="mediaAccelerators") + def media_accelerators(self) -> Sequence['outputs.GetInstanceTypeMediaAcceleratorResult']: + """ + Describes the media accelerator settings for the instance type. + * `media_accelerators.#.count` - The number of media accelerators for the instance type. + * `media_accelerators.#.manufacturer` - The manufacturer of the media accelerator. + * `media_accelerators.#.memory_size` - The size (in MiB) of the memory available to each media accelerator. + * `media_accelerators.#.name` - The name of the media accelerator. + """ + return pulumi.get(self, "media_accelerators") + @property @pulumi.getter(name="memorySize") def memory_size(self) -> int: @@ -472,6 +573,19 @@ def memory_size(self) -> int: """ return pulumi.get(self, "memory_size") + @property + @pulumi.getter(name="networkCards") + def network_cards(self) -> Sequence['outputs.GetInstanceTypeNetworkCardResult']: + """ + Describes the network cards for the instance type. + * `network_cards.#.baseline_bandwidth` - The baseline network performance (in Gbps) of the network card. + * `network_cards.#.index` - The index of the network card. + * `network_cards.#.maximum_interfaces` - The maximum number of network interfaces for the /network card. + * `network_cards.#.performance` - Describes the network performance of the network card. + * `network_cards.#.peak_bandwidth` - The peak (burst) network performance (in Gbps) of the network card. + """ + return pulumi.get(self, "network_cards") + @property @pulumi.getter(name="networkPerformance") def network_performance(self) -> str: @@ -480,14 +594,67 @@ def network_performance(self) -> str: """ return pulumi.get(self, "network_performance") + @property + @pulumi.getter(name="neuronDevices") + def neuron_devices(self) -> Sequence['outputs.GetInstanceTypeNeuronDeviceResult']: + """ + Describes the Neuron accelerator settings for the instance type. + * `neuron_devices.#.core_count` - The number of cores available to the neuron accelerator. + * `neuron_devices.#.core_version` - A number representing the version of the neuron accelerator. + * `neuron_devices.#.count` - The number of neuron accelerators for the instance type. + * `neuron_devices.#.memory_size` - The size (in MiB) of the memory available to the neuron accelerator. + * `neuron_devices.#.name` - The name of the neuron accelerator. + """ + return pulumi.get(self, "neuron_devices") + + @property + @pulumi.getter(name="nitroEnclavesSupport") + def nitro_enclaves_support(self) -> str: + """ + Indicates whether Nitro Enclaves is `"supported"` or `"unsupported"`. + """ + return pulumi.get(self, "nitro_enclaves_support") + + @property + @pulumi.getter(name="nitroTpmSupport") + def nitro_tpm_support(self) -> str: + """ + Indicates whether NitroTPM is `"supported"` or `"unsupported"`. + """ + return pulumi.get(self, "nitro_tpm_support") + + @property + @pulumi.getter(name="nitroTpmSupportedVersions") + def nitro_tpm_supported_versions(self) -> Sequence[str]: + """ + A set of strings indicating the supported NitroTPM versions. + """ + return pulumi.get(self, "nitro_tpm_supported_versions") + + @property + @pulumi.getter(name="phcSupport") + def phc_support(self) -> str: + """ + `true` if a local Precision Time Protocol (PTP) hardware clock (PHC) is supported. + """ + return pulumi.get(self, "phc_support") + @property @pulumi.getter(name="supportedArchitectures") def supported_architectures(self) -> Sequence[str]: """ - A list of architectures supported by the instance type. + A list of strings of architectures supported by the instance type. """ return pulumi.get(self, "supported_architectures") + @property + @pulumi.getter(name="supportedCpuFeatures") + def supported_cpu_features(self) -> Sequence[str]: + """ + A set of strings indicating supported CPU features. + """ + return pulumi.get(self, "supported_cpu_features") + @property @pulumi.getter(name="supportedPlacementStrategies") def supported_placement_strategies(self) -> Sequence[str]: @@ -500,7 +667,7 @@ def supported_placement_strategies(self) -> Sequence[str]: @pulumi.getter(name="supportedRootDeviceTypes") def supported_root_device_types(self) -> Sequence[str]: """ - Indicates the supported root device types. + A list of supported root device types. """ return pulumi.get(self, "supported_root_device_types") @@ -508,7 +675,7 @@ def supported_root_device_types(self) -> Sequence[str]: @pulumi.getter(name="supportedUsagesClasses") def supported_usages_classes(self) -> Sequence[str]: """ - Indicates whether the instance type is offered for spot or On-Demand. + A list of supported usage classes. Usage classes are `"spot"`, `"on-demand"`, or `"capacity-block"`. """ return pulumi.get(self, "supported_usages_classes") @@ -544,6 +711,14 @@ def total_gpu_memory(self) -> int: """ return pulumi.get(self, "total_gpu_memory") + @property + @pulumi.getter(name="totalInferenceMemory") + def total_inference_memory(self) -> int: + """ + The total size of the memory for the neuron accelerators for the instance type (in MiB). + """ + return pulumi.get(self, "total_inference_memory") + @property @pulumi.getter(name="totalInstanceStorage") def total_instance_storage(self) -> int: @@ -552,6 +727,22 @@ def total_instance_storage(self) -> int: """ return pulumi.get(self, "total_instance_storage") + @property + @pulumi.getter(name="totalMediaMemory") + def total_media_memory(self) -> int: + """ + The total size of the memory for the media accelerators for the instance type (in MiB). + """ + return pulumi.get(self, "total_media_memory") + + @property + @pulumi.getter(name="totalNeuronDeviceMemory") + def total_neuron_device_memory(self) -> int: + """ + The total size of the memory for the neuron accelerators for the instance type (in MiB). + """ + return pulumi.get(self, "total_neuron_device_memory") + @property @pulumi.getter(name="validCores") def valid_cores(self) -> Sequence[int]: @@ -576,11 +767,14 @@ def __await__(self): yield self return GetInstanceTypeResult( auto_recovery_supported=self.auto_recovery_supported, + bandwidth_weightings=self.bandwidth_weightings, bare_metal=self.bare_metal, + boot_modes=self.boot_modes, burstable_performance_supported=self.burstable_performance_supported, current_generation=self.current_generation, dedicated_hosts_supported=self.dedicated_hosts_supported, default_cores=self.default_cores, + default_network_card_index=self.default_network_card_index, default_threads_per_core=self.default_threads_per_core, default_vcpus=self.default_vcpus, ebs_encryption_support=self.ebs_encryption_support, @@ -592,7 +786,9 @@ def __await__(self): ebs_performance_maximum_bandwidth=self.ebs_performance_maximum_bandwidth, ebs_performance_maximum_iops=self.ebs_performance_maximum_iops, ebs_performance_maximum_throughput=self.ebs_performance_maximum_throughput, + efa_maximum_interfaces=self.efa_maximum_interfaces, efa_supported=self.efa_supported, + ena_srd_supported=self.ena_srd_supported, ena_support=self.ena_support, encryption_in_transit_supported=self.encryption_in_transit_supported, fpgas=self.fpgas, @@ -610,9 +806,17 @@ def __await__(self): maximum_ipv6_addresses_per_interface=self.maximum_ipv6_addresses_per_interface, maximum_network_cards=self.maximum_network_cards, maximum_network_interfaces=self.maximum_network_interfaces, + media_accelerators=self.media_accelerators, memory_size=self.memory_size, + network_cards=self.network_cards, network_performance=self.network_performance, + neuron_devices=self.neuron_devices, + nitro_enclaves_support=self.nitro_enclaves_support, + nitro_tpm_support=self.nitro_tpm_support, + nitro_tpm_supported_versions=self.nitro_tpm_supported_versions, + phc_support=self.phc_support, supported_architectures=self.supported_architectures, + supported_cpu_features=self.supported_cpu_features, supported_placement_strategies=self.supported_placement_strategies, supported_root_device_types=self.supported_root_device_types, supported_usages_classes=self.supported_usages_classes, @@ -620,7 +824,10 @@ def __await__(self): sustained_clock_speed=self.sustained_clock_speed, total_fpga_memory=self.total_fpga_memory, total_gpu_memory=self.total_gpu_memory, + total_inference_memory=self.total_inference_memory, total_instance_storage=self.total_instance_storage, + total_media_memory=self.total_media_memory, + total_neuron_device_memory=self.total_neuron_device_memory, valid_cores=self.valid_cores, valid_threads_per_cores=self.valid_threads_per_cores) @@ -649,11 +856,14 @@ def get_instance_type(instance_type: Optional[str] = None, return AwaitableGetInstanceTypeResult( auto_recovery_supported=pulumi.get(__ret__, 'auto_recovery_supported'), + bandwidth_weightings=pulumi.get(__ret__, 'bandwidth_weightings'), bare_metal=pulumi.get(__ret__, 'bare_metal'), + boot_modes=pulumi.get(__ret__, 'boot_modes'), burstable_performance_supported=pulumi.get(__ret__, 'burstable_performance_supported'), current_generation=pulumi.get(__ret__, 'current_generation'), dedicated_hosts_supported=pulumi.get(__ret__, 'dedicated_hosts_supported'), default_cores=pulumi.get(__ret__, 'default_cores'), + default_network_card_index=pulumi.get(__ret__, 'default_network_card_index'), default_threads_per_core=pulumi.get(__ret__, 'default_threads_per_core'), default_vcpus=pulumi.get(__ret__, 'default_vcpus'), ebs_encryption_support=pulumi.get(__ret__, 'ebs_encryption_support'), @@ -665,7 +875,9 @@ def get_instance_type(instance_type: Optional[str] = None, ebs_performance_maximum_bandwidth=pulumi.get(__ret__, 'ebs_performance_maximum_bandwidth'), ebs_performance_maximum_iops=pulumi.get(__ret__, 'ebs_performance_maximum_iops'), ebs_performance_maximum_throughput=pulumi.get(__ret__, 'ebs_performance_maximum_throughput'), + efa_maximum_interfaces=pulumi.get(__ret__, 'efa_maximum_interfaces'), efa_supported=pulumi.get(__ret__, 'efa_supported'), + ena_srd_supported=pulumi.get(__ret__, 'ena_srd_supported'), ena_support=pulumi.get(__ret__, 'ena_support'), encryption_in_transit_supported=pulumi.get(__ret__, 'encryption_in_transit_supported'), fpgas=pulumi.get(__ret__, 'fpgas'), @@ -683,9 +895,17 @@ def get_instance_type(instance_type: Optional[str] = None, maximum_ipv6_addresses_per_interface=pulumi.get(__ret__, 'maximum_ipv6_addresses_per_interface'), maximum_network_cards=pulumi.get(__ret__, 'maximum_network_cards'), maximum_network_interfaces=pulumi.get(__ret__, 'maximum_network_interfaces'), + media_accelerators=pulumi.get(__ret__, 'media_accelerators'), memory_size=pulumi.get(__ret__, 'memory_size'), + network_cards=pulumi.get(__ret__, 'network_cards'), network_performance=pulumi.get(__ret__, 'network_performance'), + neuron_devices=pulumi.get(__ret__, 'neuron_devices'), + nitro_enclaves_support=pulumi.get(__ret__, 'nitro_enclaves_support'), + nitro_tpm_support=pulumi.get(__ret__, 'nitro_tpm_support'), + nitro_tpm_supported_versions=pulumi.get(__ret__, 'nitro_tpm_supported_versions'), + phc_support=pulumi.get(__ret__, 'phc_support'), supported_architectures=pulumi.get(__ret__, 'supported_architectures'), + supported_cpu_features=pulumi.get(__ret__, 'supported_cpu_features'), supported_placement_strategies=pulumi.get(__ret__, 'supported_placement_strategies'), supported_root_device_types=pulumi.get(__ret__, 'supported_root_device_types'), supported_usages_classes=pulumi.get(__ret__, 'supported_usages_classes'), @@ -693,7 +913,10 @@ def get_instance_type(instance_type: Optional[str] = None, sustained_clock_speed=pulumi.get(__ret__, 'sustained_clock_speed'), total_fpga_memory=pulumi.get(__ret__, 'total_fpga_memory'), total_gpu_memory=pulumi.get(__ret__, 'total_gpu_memory'), + total_inference_memory=pulumi.get(__ret__, 'total_inference_memory'), total_instance_storage=pulumi.get(__ret__, 'total_instance_storage'), + total_media_memory=pulumi.get(__ret__, 'total_media_memory'), + total_neuron_device_memory=pulumi.get(__ret__, 'total_neuron_device_memory'), valid_cores=pulumi.get(__ret__, 'valid_cores'), valid_threads_per_cores=pulumi.get(__ret__, 'valid_threads_per_cores')) def get_instance_type_output(instance_type: Optional[pulumi.Input[str]] = None, @@ -719,11 +942,14 @@ def get_instance_type_output(instance_type: Optional[pulumi.Input[str]] = None, __ret__ = pulumi.runtime.invoke_output('aws:ec2/getInstanceType:getInstanceType', __args__, opts=opts, typ=GetInstanceTypeResult) return __ret__.apply(lambda __response__: GetInstanceTypeResult( auto_recovery_supported=pulumi.get(__response__, 'auto_recovery_supported'), + bandwidth_weightings=pulumi.get(__response__, 'bandwidth_weightings'), bare_metal=pulumi.get(__response__, 'bare_metal'), + boot_modes=pulumi.get(__response__, 'boot_modes'), burstable_performance_supported=pulumi.get(__response__, 'burstable_performance_supported'), current_generation=pulumi.get(__response__, 'current_generation'), dedicated_hosts_supported=pulumi.get(__response__, 'dedicated_hosts_supported'), default_cores=pulumi.get(__response__, 'default_cores'), + default_network_card_index=pulumi.get(__response__, 'default_network_card_index'), default_threads_per_core=pulumi.get(__response__, 'default_threads_per_core'), default_vcpus=pulumi.get(__response__, 'default_vcpus'), ebs_encryption_support=pulumi.get(__response__, 'ebs_encryption_support'), @@ -735,7 +961,9 @@ def get_instance_type_output(instance_type: Optional[pulumi.Input[str]] = None, ebs_performance_maximum_bandwidth=pulumi.get(__response__, 'ebs_performance_maximum_bandwidth'), ebs_performance_maximum_iops=pulumi.get(__response__, 'ebs_performance_maximum_iops'), ebs_performance_maximum_throughput=pulumi.get(__response__, 'ebs_performance_maximum_throughput'), + efa_maximum_interfaces=pulumi.get(__response__, 'efa_maximum_interfaces'), efa_supported=pulumi.get(__response__, 'efa_supported'), + ena_srd_supported=pulumi.get(__response__, 'ena_srd_supported'), ena_support=pulumi.get(__response__, 'ena_support'), encryption_in_transit_supported=pulumi.get(__response__, 'encryption_in_transit_supported'), fpgas=pulumi.get(__response__, 'fpgas'), @@ -753,9 +981,17 @@ def get_instance_type_output(instance_type: Optional[pulumi.Input[str]] = None, maximum_ipv6_addresses_per_interface=pulumi.get(__response__, 'maximum_ipv6_addresses_per_interface'), maximum_network_cards=pulumi.get(__response__, 'maximum_network_cards'), maximum_network_interfaces=pulumi.get(__response__, 'maximum_network_interfaces'), + media_accelerators=pulumi.get(__response__, 'media_accelerators'), memory_size=pulumi.get(__response__, 'memory_size'), + network_cards=pulumi.get(__response__, 'network_cards'), network_performance=pulumi.get(__response__, 'network_performance'), + neuron_devices=pulumi.get(__response__, 'neuron_devices'), + nitro_enclaves_support=pulumi.get(__response__, 'nitro_enclaves_support'), + nitro_tpm_support=pulumi.get(__response__, 'nitro_tpm_support'), + nitro_tpm_supported_versions=pulumi.get(__response__, 'nitro_tpm_supported_versions'), + phc_support=pulumi.get(__response__, 'phc_support'), supported_architectures=pulumi.get(__response__, 'supported_architectures'), + supported_cpu_features=pulumi.get(__response__, 'supported_cpu_features'), supported_placement_strategies=pulumi.get(__response__, 'supported_placement_strategies'), supported_root_device_types=pulumi.get(__response__, 'supported_root_device_types'), supported_usages_classes=pulumi.get(__response__, 'supported_usages_classes'), @@ -763,6 +999,9 @@ def get_instance_type_output(instance_type: Optional[pulumi.Input[str]] = None, sustained_clock_speed=pulumi.get(__response__, 'sustained_clock_speed'), total_fpga_memory=pulumi.get(__response__, 'total_fpga_memory'), total_gpu_memory=pulumi.get(__response__, 'total_gpu_memory'), + total_inference_memory=pulumi.get(__response__, 'total_inference_memory'), total_instance_storage=pulumi.get(__response__, 'total_instance_storage'), + total_media_memory=pulumi.get(__response__, 'total_media_memory'), + total_neuron_device_memory=pulumi.get(__response__, 'total_neuron_device_memory'), valid_cores=pulumi.get(__response__, 'valid_cores'), valid_threads_per_cores=pulumi.get(__response__, 'valid_threads_per_cores'))) diff --git a/sdk/python/pulumi_aws/ec2/outputs.py b/sdk/python/pulumi_aws/ec2/outputs.py index 5ac7e49bbe8..61923c50800 100644 --- a/sdk/python/pulumi_aws/ec2/outputs.py +++ b/sdk/python/pulumi_aws/ec2/outputs.py @@ -266,6 +266,9 @@ 'GetInstanceTypeGpusResult', 'GetInstanceTypeInferenceAcceleratorResult', 'GetInstanceTypeInstanceDiskResult', + 'GetInstanceTypeMediaAcceleratorResult', + 'GetInstanceTypeNetworkCardResult', + 'GetInstanceTypeNeuronDeviceResult', 'GetInstanceTypeOfferingFilterResult', 'GetInstanceTypeOfferingsFilterResult', 'GetInstanceTypesFilterResult', @@ -16589,9 +16592,14 @@ class GetInstanceTypeInferenceAcceleratorResult(dict): def __init__(__self__, *, count: int, manufacturer: str, + memory_size: int, name: str): + """ + :param int memory_size: Size of the instance memory, in MiB. + """ pulumi.set(__self__, "count", count) pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "memory_size", memory_size) pulumi.set(__self__, "name", name) @property @@ -16604,6 +16612,14 @@ def count(self) -> int: def manufacturer(self) -> str: return pulumi.get(self, "manufacturer") + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + @property @pulumi.getter def name(self) -> str: @@ -16636,6 +16652,131 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class GetInstanceTypeMediaAcceleratorResult(dict): + def __init__(__self__, *, + count: int, + manufacturer: str, + memory_size: int, + name: str): + """ + :param int memory_size: Size of the instance memory, in MiB. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "manufacturer", manufacturer) + pulumi.set(__self__, "memory_size", memory_size) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @property + @pulumi.getter + def manufacturer(self) -> str: + return pulumi.get(self, "manufacturer") + + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetInstanceTypeNetworkCardResult(dict): + def __init__(__self__, *, + baseline_bandwidth: float, + index: int, + maximum_interfaces: int, + peak_bandwidth: float, + performance: str): + pulumi.set(__self__, "baseline_bandwidth", baseline_bandwidth) + pulumi.set(__self__, "index", index) + pulumi.set(__self__, "maximum_interfaces", maximum_interfaces) + pulumi.set(__self__, "peak_bandwidth", peak_bandwidth) + pulumi.set(__self__, "performance", performance) + + @property + @pulumi.getter(name="baselineBandwidth") + def baseline_bandwidth(self) -> float: + return pulumi.get(self, "baseline_bandwidth") + + @property + @pulumi.getter + def index(self) -> int: + return pulumi.get(self, "index") + + @property + @pulumi.getter(name="maximumInterfaces") + def maximum_interfaces(self) -> int: + return pulumi.get(self, "maximum_interfaces") + + @property + @pulumi.getter(name="peakBandwidth") + def peak_bandwidth(self) -> float: + return pulumi.get(self, "peak_bandwidth") + + @property + @pulumi.getter + def performance(self) -> str: + return pulumi.get(self, "performance") + + +@pulumi.output_type +class GetInstanceTypeNeuronDeviceResult(dict): + def __init__(__self__, *, + core_count: int, + core_version: int, + count: int, + memory_size: int, + name: str): + """ + :param int memory_size: Size of the instance memory, in MiB. + """ + pulumi.set(__self__, "core_count", core_count) + pulumi.set(__self__, "core_version", core_version) + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "memory_size", memory_size) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="coreCount") + def core_count(self) -> int: + return pulumi.get(self, "core_count") + + @property + @pulumi.getter(name="coreVersion") + def core_version(self) -> int: + return pulumi.get(self, "core_version") + + @property + @pulumi.getter + def count(self) -> int: + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="memorySize") + def memory_size(self) -> int: + """ + Size of the instance memory, in MiB. + """ + return pulumi.get(self, "memory_size") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @pulumi.output_type class GetInstanceTypeOfferingFilterResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/elasticache/user.py b/sdk/python/pulumi_aws/elasticache/user.py index c7857b45b30..bdbbec6f2ae 100644 --- a/sdk/python/pulumi_aws/elasticache/user.py +++ b/sdk/python/pulumi_aws/elasticache/user.py @@ -32,7 +32,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a User resource. :param pulumi.Input[str] access_string: Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details. - :param pulumi.Input[str] engine: The current supported values are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported values are `redis`, `valkey` (case insensitive). :param pulumi.Input[str] user_id: The ID of the user. :param pulumi.Input[str] user_name: The username of the user. @@ -71,7 +71,7 @@ def access_string(self, value: pulumi.Input[str]): @pulumi.getter def engine(self) -> pulumi.Input[str]: """ - The current supported values are `REDIS`, `VALKEY`. + The current supported values are `redis`, `valkey` (case insensitive). """ return pulumi.get(self, "engine") @@ -172,7 +172,7 @@ def __init__(__self__, *, :param pulumi.Input[str] access_string: Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details. :param pulumi.Input[str] arn: The ARN of the created ElastiCache User. :param pulumi.Input['UserAuthenticationModeArgs'] authentication_mode: Denotes the user's authentication properties. Detailed below. - :param pulumi.Input[str] engine: The current supported values are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported values are `redis`, `valkey` (case insensitive). :param pulumi.Input[bool] no_password_required: Indicates a password is not required for this user. :param pulumi.Input[Sequence[pulumi.Input[str]]] passwords: Passwords used for this user. You can create up to two passwords for each user. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of tags to be added to this resource. A tag is a key-value pair. @@ -245,7 +245,7 @@ def authentication_mode(self, value: Optional[pulumi.Input['UserAuthenticationMo @pulumi.getter def engine(self) -> Optional[pulumi.Input[str]]: """ - The current supported values are `REDIS`, `VALKEY`. + The current supported values are `redis`, `valkey` (case insensitive). """ return pulumi.get(self, "engine") @@ -354,7 +354,7 @@ def __init__(__self__, user_id="testUserId", user_name="testUserName", access_string="on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - engine="REDIS", + engine="redis", passwords=["password123456789"]) ``` @@ -366,7 +366,7 @@ def __init__(__self__, user_id="testUserId", user_name="testUserName", access_string="on ~* +@all", - engine="REDIS", + engine="redis", authentication_mode={ "type": "iam", }) @@ -380,7 +380,7 @@ def __init__(__self__, user_id="testUserId", user_name="testUserName", access_string="on ~* +@all", - engine="REDIS", + engine="redis", authentication_mode={ "type": "password", "passwords": [ @@ -402,7 +402,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] access_string: Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details. :param pulumi.Input[Union['UserAuthenticationModeArgs', 'UserAuthenticationModeArgsDict']] authentication_mode: Denotes the user's authentication properties. Detailed below. - :param pulumi.Input[str] engine: The current supported values are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported values are `redis`, `valkey` (case insensitive). :param pulumi.Input[bool] no_password_required: Indicates a password is not required for this user. :param pulumi.Input[Sequence[pulumi.Input[str]]] passwords: Passwords used for this user. You can create up to two passwords for each user. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of tags to be added to this resource. A tag is a key-value pair. @@ -431,7 +431,7 @@ def __init__(__self__, user_id="testUserId", user_name="testUserName", access_string="on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - engine="REDIS", + engine="redis", passwords=["password123456789"]) ``` @@ -443,7 +443,7 @@ def __init__(__self__, user_id="testUserId", user_name="testUserName", access_string="on ~* +@all", - engine="REDIS", + engine="redis", authentication_mode={ "type": "iam", }) @@ -457,7 +457,7 @@ def __init__(__self__, user_id="testUserId", user_name="testUserName", access_string="on ~* +@all", - engine="REDIS", + engine="redis", authentication_mode={ "type": "password", "passwords": [ @@ -557,7 +557,7 @@ def get(resource_name: str, :param pulumi.Input[str] access_string: Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details. :param pulumi.Input[str] arn: The ARN of the created ElastiCache User. :param pulumi.Input[Union['UserAuthenticationModeArgs', 'UserAuthenticationModeArgsDict']] authentication_mode: Denotes the user's authentication properties. Detailed below. - :param pulumi.Input[str] engine: The current supported values are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported values are `redis`, `valkey` (case insensitive). :param pulumi.Input[bool] no_password_required: Indicates a password is not required for this user. :param pulumi.Input[Sequence[pulumi.Input[str]]] passwords: Passwords used for this user. You can create up to two passwords for each user. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A list of tags to be added to this resource. A tag is a key-value pair. @@ -610,7 +610,7 @@ def authentication_mode(self) -> pulumi.Output['outputs.UserAuthenticationMode'] @pulumi.getter def engine(self) -> pulumi.Output[str]: """ - The current supported values are `REDIS`, `VALKEY`. + The current supported values are `redis`, `valkey` (case insensitive). """ return pulumi.get(self, "engine") diff --git a/sdk/python/pulumi_aws/elasticache/user_group.py b/sdk/python/pulumi_aws/elasticache/user_group.py index 45c0ce9aa82..5d9e7547611 100644 --- a/sdk/python/pulumi_aws/elasticache/user_group.py +++ b/sdk/python/pulumi_aws/elasticache/user_group.py @@ -25,7 +25,7 @@ def __init__(__self__, *, user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a UserGroup resource. - :param pulumi.Input[str] engine: The current supported value are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported value are `redis`, `valkey` (case insensitive). :param pulumi.Input[str] user_group_id: The ID of the user group. The following arguments are optional: @@ -43,7 +43,7 @@ def __init__(__self__, *, @pulumi.getter def engine(self) -> pulumi.Input[str]: """ - The current supported value are `REDIS`, `VALKEY`. + The current supported value are `redis`, `valkey` (case insensitive). """ return pulumi.get(self, "engine") @@ -102,7 +102,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering UserGroup resources. :param pulumi.Input[str] arn: The ARN that identifies the user group. - :param pulumi.Input[str] engine: The current supported value are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported value are `redis`, `valkey` (case insensitive). :param pulumi.Input[Mapping[str, pulumi.Input[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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] user_group_id: The ID of the user group. @@ -142,7 +142,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def engine(self) -> Optional[pulumi.Input[str]]: """ - The current supported value are `REDIS`, `VALKEY`. + The current supported value are `redis`, `valkey` (case insensitive). """ return pulumi.get(self, "engine") @@ -225,10 +225,10 @@ def __init__(__self__, user_id="testUserId", user_name="default", access_string="on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - engine="REDIS", + engine="redis", passwords=["password123456789"]) test_user_group = aws.elasticache.UserGroup("test", - engine="REDIS", + engine="redis", user_group_id="userGroupId", user_ids=[test.user_id]) ``` @@ -243,7 +243,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] engine: The current supported value are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported value are `redis`, `valkey` (case insensitive). :param pulumi.Input[Mapping[str, pulumi.Input[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. :param pulumi.Input[str] user_group_id: The ID of the user group. @@ -269,10 +269,10 @@ def __init__(__self__, user_id="testUserId", user_name="default", access_string="on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember", - engine="REDIS", + engine="redis", passwords=["password123456789"]) test_user_group = aws.elasticache.UserGroup("test", - engine="REDIS", + engine="redis", user_group_id="userGroupId", user_ids=[test.user_id]) ``` @@ -347,7 +347,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The ARN that identifies the user group. - :param pulumi.Input[str] engine: The current supported value are `REDIS`, `VALKEY`. + :param pulumi.Input[str] engine: The current supported value are `redis`, `valkey` (case insensitive). :param pulumi.Input[Mapping[str, pulumi.Input[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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] user_group_id: The ID of the user group. @@ -379,7 +379,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter def engine(self) -> pulumi.Output[str]: """ - The current supported value are `REDIS`, `VALKEY`. + The current supported value are `redis`, `valkey` (case insensitive). """ return pulumi.get(self, "engine") diff --git a/sdk/python/pulumi_aws/globalaccelerator/accelerator.py b/sdk/python/pulumi_aws/globalaccelerator/accelerator.py index ff5404c45e2..60087e7fee3 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/accelerator.py +++ b/sdk/python/pulumi_aws/globalaccelerator/accelerator.py @@ -125,6 +125,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @pulumi.input_type class _AcceleratorState: def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, attributes: Optional[pulumi.Input['AcceleratorAttributesArgs']] = None, dns_name: Optional[pulumi.Input[str]] = None, dual_stack_dns_name: Optional[pulumi.Input[str]] = None, @@ -138,6 +139,7 @@ def __init__(__self__, *, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Accelerator resources. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the accelerator. :param pulumi.Input['AcceleratorAttributesArgs'] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[str] dns_name: The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. :param pulumi.Input[str] dual_stack_dns_name: The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. @@ -152,6 +154,8 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ + if arn is not None: + pulumi.set(__self__, "arn", arn) if attributes is not None: pulumi.set(__self__, "attributes", attributes) if dns_name is not None: @@ -178,6 +182,18 @@ def __init__(__self__, *, if tags_all is not None: pulumi.set(__self__, "tags_all", tags_all) + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the accelerator. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + @property @pulumi.getter def attributes(self) -> Optional[pulumi.Input['AcceleratorAttributesArgs']]: @@ -435,6 +451,7 @@ def _internal_init(__self__, __props__.__dict__["ip_addresses"] = ip_addresses __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None __props__.__dict__["dns_name"] = None __props__.__dict__["dual_stack_dns_name"] = None __props__.__dict__["hosted_zone_id"] = None @@ -450,6 +467,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, attributes: Optional[pulumi.Input[Union['AcceleratorAttributesArgs', 'AcceleratorAttributesArgsDict']]] = None, dns_name: Optional[pulumi.Input[str]] = None, dual_stack_dns_name: Optional[pulumi.Input[str]] = None, @@ -468,6 +486,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the accelerator. :param pulumi.Input[Union['AcceleratorAttributesArgs', 'AcceleratorAttributesArgsDict']] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[str] dns_name: The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. :param pulumi.Input[str] dual_stack_dns_name: The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. @@ -486,6 +505,7 @@ def get(resource_name: str, __props__ = _AcceleratorState.__new__(_AcceleratorState) + __props__.__dict__["arn"] = arn __props__.__dict__["attributes"] = attributes __props__.__dict__["dns_name"] = dns_name __props__.__dict__["dual_stack_dns_name"] = dual_stack_dns_name @@ -499,6 +519,14 @@ def get(resource_name: str, __props__.__dict__["tags_all"] = tags_all return Accelerator(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the accelerator. + """ + return pulumi.get(self, "arn") + @property @pulumi.getter def attributes(self) -> pulumi.Output[Optional['outputs.AcceleratorAttributes']]: diff --git a/sdk/python/pulumi_aws/globalaccelerator/custom_routing_accelerator.py b/sdk/python/pulumi_aws/globalaccelerator/custom_routing_accelerator.py index be482096e32..3e702573b7d 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/custom_routing_accelerator.py +++ b/sdk/python/pulumi_aws/globalaccelerator/custom_routing_accelerator.py @@ -125,6 +125,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @pulumi.input_type class _CustomRoutingAcceleratorState: def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, attributes: Optional[pulumi.Input['CustomRoutingAcceleratorAttributesArgs']] = None, dns_name: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, @@ -137,6 +138,7 @@ def __init__(__self__, *, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering CustomRoutingAccelerator resources. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the custom accelerator. :param pulumi.Input['CustomRoutingAcceleratorAttributesArgs'] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[str] dns_name: The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. @@ -150,6 +152,8 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ + if arn is not None: + pulumi.set(__self__, "arn", arn) if attributes is not None: pulumi.set(__self__, "attributes", attributes) if dns_name is not None: @@ -174,6 +178,18 @@ def __init__(__self__, *, if tags_all is not None: pulumi.set(__self__, "tags_all", tags_all) + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the custom accelerator. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + @property @pulumi.getter def attributes(self) -> Optional[pulumi.Input['CustomRoutingAcceleratorAttributesArgs']]: @@ -419,6 +435,7 @@ def _internal_init(__self__, __props__.__dict__["ip_addresses"] = ip_addresses __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None __props__.__dict__["dns_name"] = None __props__.__dict__["hosted_zone_id"] = None __props__.__dict__["ip_sets"] = None @@ -433,6 +450,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, attributes: Optional[pulumi.Input[Union['CustomRoutingAcceleratorAttributesArgs', 'CustomRoutingAcceleratorAttributesArgsDict']]] = None, dns_name: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, @@ -450,6 +468,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the custom accelerator. :param pulumi.Input[Union['CustomRoutingAcceleratorAttributesArgs', 'CustomRoutingAcceleratorAttributesArgsDict']] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[str] dns_name: The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. @@ -467,6 +486,7 @@ def get(resource_name: str, __props__ = _CustomRoutingAcceleratorState.__new__(_CustomRoutingAcceleratorState) + __props__.__dict__["arn"] = arn __props__.__dict__["attributes"] = attributes __props__.__dict__["dns_name"] = dns_name __props__.__dict__["enabled"] = enabled @@ -479,6 +499,14 @@ def get(resource_name: str, __props__.__dict__["tags_all"] = tags_all return CustomRoutingAccelerator(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the custom accelerator. + """ + return pulumi.get(self, "arn") + @property @pulumi.getter def attributes(self) -> pulumi.Output[Optional['outputs.CustomRoutingAcceleratorAttributes']]: diff --git a/sdk/python/pulumi_aws/globalaccelerator/custom_routing_endpoint_group.py b/sdk/python/pulumi_aws/globalaccelerator/custom_routing_endpoint_group.py index de9cb5aa800..32f8a71c738 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/custom_routing_endpoint_group.py +++ b/sdk/python/pulumi_aws/globalaccelerator/custom_routing_endpoint_group.py @@ -196,7 +196,7 @@ def __init__(__self__, import pulumi_aws as aws example = aws.globalaccelerator.CustomRoutingEndpointGroup("example", - listener_arn=example_aws_globalaccelerator_custom_routing_listener["id"], + listener_arn=example_aws_globalaccelerator_custom_routing_listener["arn"], destination_configurations=[{ "from_port": 80, "to_port": 8080, @@ -238,7 +238,7 @@ def __init__(__self__, import pulumi_aws as aws example = aws.globalaccelerator.CustomRoutingEndpointGroup("example", - listener_arn=example_aws_globalaccelerator_custom_routing_listener["id"], + listener_arn=example_aws_globalaccelerator_custom_routing_listener["arn"], destination_configurations=[{ "from_port": 80, "to_port": 8080, diff --git a/sdk/python/pulumi_aws/globalaccelerator/custom_routing_listener.py b/sdk/python/pulumi_aws/globalaccelerator/custom_routing_listener.py index 8f0a8d599dc..6ce3bf05e42 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/custom_routing_listener.py +++ b/sdk/python/pulumi_aws/globalaccelerator/custom_routing_listener.py @@ -60,6 +60,7 @@ def port_ranges(self, value: pulumi.Input[Sequence[pulumi.Input['CustomRoutingLi class _CustomRoutingListenerState: def __init__(__self__, *, accelerator_arn: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, port_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['CustomRoutingListenerPortRangeArgs']]]] = None): """ Input properties used for looking up and filtering CustomRoutingListener resources. @@ -68,6 +69,8 @@ def __init__(__self__, *, """ if accelerator_arn is not None: pulumi.set(__self__, "accelerator_arn", accelerator_arn) + if arn is not None: + pulumi.set(__self__, "arn", arn) if port_ranges is not None: pulumi.set(__self__, "port_ranges", port_ranges) @@ -83,6 +86,15 @@ def accelerator_arn(self) -> Optional[pulumi.Input[str]]: def accelerator_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "accelerator_arn", value) + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + @property @pulumi.getter(name="portRanges") def port_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CustomRoutingListenerPortRangeArgs']]]]: @@ -123,7 +135,7 @@ def __init__(__self__, "flow_logs_s3_prefix": "flow-logs/", }) example_custom_routing_listener = aws.globalaccelerator.CustomRoutingListener("example", - accelerator_arn=example.id, + accelerator_arn=example.arn, port_ranges=[{ "from_port": 80, "to_port": 80, @@ -168,7 +180,7 @@ def __init__(__self__, "flow_logs_s3_prefix": "flow-logs/", }) example_custom_routing_listener = aws.globalaccelerator.CustomRoutingListener("example", - accelerator_arn=example.id, + accelerator_arn=example.arn, port_ranges=[{ "from_port": 80, "to_port": 80, @@ -215,6 +227,7 @@ def _internal_init(__self__, if port_ranges is None and not opts.urn: raise TypeError("Missing required property 'port_ranges'") __props__.__dict__["port_ranges"] = port_ranges + __props__.__dict__["arn"] = None super(CustomRoutingListener, __self__).__init__( 'aws:globalaccelerator/customRoutingListener:CustomRoutingListener', resource_name, @@ -226,6 +239,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, accelerator_arn: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, port_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CustomRoutingListenerPortRangeArgs', 'CustomRoutingListenerPortRangeArgsDict']]]]] = None) -> 'CustomRoutingListener': """ Get an existing CustomRoutingListener resource's state with the given name, id, and optional extra @@ -242,6 +256,7 @@ def get(resource_name: str, __props__ = _CustomRoutingListenerState.__new__(_CustomRoutingListenerState) __props__.__dict__["accelerator_arn"] = accelerator_arn + __props__.__dict__["arn"] = arn __props__.__dict__["port_ranges"] = port_ranges return CustomRoutingListener(resource_name, opts=opts, __props__=__props__) @@ -253,6 +268,11 @@ def accelerator_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "accelerator_arn") + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "arn") + @property @pulumi.getter(name="portRanges") def port_ranges(self) -> pulumi.Output[Sequence['outputs.CustomRoutingListenerPortRange']]: diff --git a/sdk/python/pulumi_aws/globalaccelerator/endpoint_group.py b/sdk/python/pulumi_aws/globalaccelerator/endpoint_group.py index 95001754fc0..2a7d1f0934b 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/endpoint_group.py +++ b/sdk/python/pulumi_aws/globalaccelerator/endpoint_group.py @@ -399,7 +399,7 @@ def __init__(__self__, import pulumi_aws as aws example = aws.globalaccelerator.EndpointGroup("example", - listener_arn=example_aws_globalaccelerator_listener["id"], + listener_arn=example_aws_globalaccelerator_listener["arn"], endpoint_configurations=[{ "endpoint_id": example_aws_lb["arn"], "weight": 100, @@ -444,7 +444,7 @@ def __init__(__self__, import pulumi_aws as aws example = aws.globalaccelerator.EndpointGroup("example", - listener_arn=example_aws_globalaccelerator_listener["id"], + listener_arn=example_aws_globalaccelerator_listener["arn"], endpoint_configurations=[{ "endpoint_id": example_aws_lb["arn"], "weight": 100, diff --git a/sdk/python/pulumi_aws/globalaccelerator/listener.py b/sdk/python/pulumi_aws/globalaccelerator/listener.py index cfdb739bb7f..382803862e8 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/listener.py +++ b/sdk/python/pulumi_aws/globalaccelerator/listener.py @@ -91,18 +91,22 @@ def client_affinity(self, value: Optional[pulumi.Input[str]]): class _ListenerState: def __init__(__self__, *, accelerator_arn: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, client_affinity: Optional[pulumi.Input[str]] = None, port_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['ListenerPortRangeArgs']]]] = None, protocol: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Listener resources. :param pulumi.Input[str] accelerator_arn: The Amazon Resource Name (ARN) of your accelerator. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the listener. :param pulumi.Input[str] client_affinity: Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. :param pulumi.Input[Sequence[pulumi.Input['ListenerPortRangeArgs']]] port_ranges: The list of port ranges for the connections from clients to the accelerator. Fields documented below. :param pulumi.Input[str] protocol: The protocol for the connections from clients to the accelerator. Valid values are `TCP`, `UDP`. """ if accelerator_arn is not None: pulumi.set(__self__, "accelerator_arn", accelerator_arn) + if arn is not None: + pulumi.set(__self__, "arn", arn) if client_affinity is not None: pulumi.set(__self__, "client_affinity", client_affinity) if port_ranges is not None: @@ -122,6 +126,18 @@ def accelerator_arn(self) -> Optional[pulumi.Input[str]]: def accelerator_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "accelerator_arn", value) + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the listener. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + @property @pulumi.getter(name="clientAffinity") def client_affinity(self) -> Optional[pulumi.Input[str]]: @@ -188,7 +204,7 @@ def __init__(__self__, "flow_logs_s3_prefix": "flow-logs/", }) example_listener = aws.globalaccelerator.Listener("example", - accelerator_arn=example.id, + accelerator_arn=example.arn, client_affinity="SOURCE_IP", protocol="TCP", port_ranges=[{ @@ -237,7 +253,7 @@ def __init__(__self__, "flow_logs_s3_prefix": "flow-logs/", }) example_listener = aws.globalaccelerator.Listener("example", - accelerator_arn=example.id, + accelerator_arn=example.arn, client_affinity="SOURCE_IP", protocol="TCP", port_ranges=[{ @@ -292,6 +308,7 @@ def _internal_init(__self__, if protocol is None and not opts.urn: raise TypeError("Missing required property 'protocol'") __props__.__dict__["protocol"] = protocol + __props__.__dict__["arn"] = None super(Listener, __self__).__init__( 'aws:globalaccelerator/listener:Listener', resource_name, @@ -303,6 +320,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, accelerator_arn: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, client_affinity: Optional[pulumi.Input[str]] = None, port_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListenerPortRangeArgs', 'ListenerPortRangeArgsDict']]]]] = None, protocol: Optional[pulumi.Input[str]] = None) -> 'Listener': @@ -314,6 +332,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] accelerator_arn: The Amazon Resource Name (ARN) of your accelerator. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the listener. :param pulumi.Input[str] client_affinity: Direct all requests from a user to the same endpoint. Valid values are `NONE`, `SOURCE_IP`. Default: `NONE`. If `NONE`, Global Accelerator uses the "five-tuple" properties of source IP address, source port, destination IP address, destination port, and protocol to select the hash value. If `SOURCE_IP`, Global Accelerator uses the "two-tuple" properties of source (client) IP address and destination IP address to select the hash value. :param pulumi.Input[Sequence[pulumi.Input[Union['ListenerPortRangeArgs', 'ListenerPortRangeArgsDict']]]] port_ranges: The list of port ranges for the connections from clients to the accelerator. Fields documented below. :param pulumi.Input[str] protocol: The protocol for the connections from clients to the accelerator. Valid values are `TCP`, `UDP`. @@ -323,6 +342,7 @@ def get(resource_name: str, __props__ = _ListenerState.__new__(_ListenerState) __props__.__dict__["accelerator_arn"] = accelerator_arn + __props__.__dict__["arn"] = arn __props__.__dict__["client_affinity"] = client_affinity __props__.__dict__["port_ranges"] = port_ranges __props__.__dict__["protocol"] = protocol @@ -336,6 +356,14 @@ def accelerator_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "accelerator_arn") + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the listener. + """ + return pulumi.get(self, "arn") + @property @pulumi.getter(name="clientAffinity") def client_affinity(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/kms/_inputs.py b/sdk/python/pulumi_aws/kms/_inputs.py index 8308aaeb051..4a1e0d9cf83 100644 --- a/sdk/python/pulumi_aws/kms/_inputs.py +++ b/sdk/python/pulumi_aws/kms/_inputs.py @@ -15,6 +15,8 @@ from .. import _utilities __all__ = [ + 'CustomKeyStoreXksProxyAuthenticationCredentialArgs', + 'CustomKeyStoreXksProxyAuthenticationCredentialArgsDict', 'GrantConstraintArgs', 'GrantConstraintArgsDict', 'GetSecretSecretArgs', @@ -25,6 +27,56 @@ MYPY = False +if not MYPY: + class CustomKeyStoreXksProxyAuthenticationCredentialArgsDict(TypedDict): + access_key_id: pulumi.Input[str] + """ + A unique identifier for the raw secret access key. + """ + raw_secret_access_key: pulumi.Input[str] + """ + A secret string of 43-64 characters. + """ +elif False: + CustomKeyStoreXksProxyAuthenticationCredentialArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CustomKeyStoreXksProxyAuthenticationCredentialArgs: + def __init__(__self__, *, + access_key_id: pulumi.Input[str], + raw_secret_access_key: pulumi.Input[str]): + """ + :param pulumi.Input[str] access_key_id: A unique identifier for the raw secret access key. + :param pulumi.Input[str] raw_secret_access_key: A secret string of 43-64 characters. + """ + pulumi.set(__self__, "access_key_id", access_key_id) + pulumi.set(__self__, "raw_secret_access_key", raw_secret_access_key) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> pulumi.Input[str]: + """ + A unique identifier for the raw secret access key. + """ + return pulumi.get(self, "access_key_id") + + @access_key_id.setter + def access_key_id(self, value: pulumi.Input[str]): + pulumi.set(self, "access_key_id", value) + + @property + @pulumi.getter(name="rawSecretAccessKey") + def raw_secret_access_key(self) -> pulumi.Input[str]: + """ + A secret string of 43-64 characters. + """ + return pulumi.get(self, "raw_secret_access_key") + + @raw_secret_access_key.setter + def raw_secret_access_key(self, value: pulumi.Input[str]): + pulumi.set(self, "raw_secret_access_key", value) + + if not MYPY: class GrantConstraintArgsDict(TypedDict): encryption_context_equals: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] diff --git a/sdk/python/pulumi_aws/kms/custom_key_store.py b/sdk/python/pulumi_aws/kms/custom_key_store.py index f0ad3823469..1a3cfdf516c 100644 --- a/sdk/python/pulumi_aws/kms/custom_key_store.py +++ b/sdk/python/pulumi_aws/kms/custom_key_store.py @@ -13,45 +13,58 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['CustomKeyStoreArgs', 'CustomKeyStore'] @pulumi.input_type class CustomKeyStoreArgs: def __init__(__self__, *, - cloud_hsm_cluster_id: pulumi.Input[str], custom_key_store_name: pulumi.Input[str], - key_store_password: pulumi.Input[str], - trust_anchor_certificate: pulumi.Input[str]): + cloud_hsm_cluster_id: Optional[pulumi.Input[str]] = None, + custom_key_store_type: Optional[pulumi.Input[str]] = None, + key_store_password: Optional[pulumi.Input[str]] = None, + trust_anchor_certificate: Optional[pulumi.Input[str]] = None, + xks_proxy_authentication_credential: Optional[pulumi.Input['CustomKeyStoreXksProxyAuthenticationCredentialArgs']] = None, + xks_proxy_connectivity: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_endpoint: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_path: Optional[pulumi.Input[str]] = None, + xks_proxy_vpc_endpoint_service_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a CustomKeyStore resource. - :param pulumi.Input[str] cloud_hsm_cluster_id: Cluster ID of CloudHSM. :param pulumi.Input[str] custom_key_store_name: Unique name for Custom Key Store. - :param pulumi.Input[str] key_store_password: Password for `kmsuser` on CloudHSM. - :param pulumi.Input[str] trust_anchor_certificate: Customer certificate used for signing on CloudHSM. + + The following arguments are optional: + :param pulumi.Input[str] custom_key_store_type: Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. """ - pulumi.set(__self__, "cloud_hsm_cluster_id", cloud_hsm_cluster_id) pulumi.set(__self__, "custom_key_store_name", custom_key_store_name) - pulumi.set(__self__, "key_store_password", key_store_password) - pulumi.set(__self__, "trust_anchor_certificate", trust_anchor_certificate) - - @property - @pulumi.getter(name="cloudHsmClusterId") - def cloud_hsm_cluster_id(self) -> pulumi.Input[str]: - """ - Cluster ID of CloudHSM. - """ - return pulumi.get(self, "cloud_hsm_cluster_id") - - @cloud_hsm_cluster_id.setter - def cloud_hsm_cluster_id(self, value: pulumi.Input[str]): - pulumi.set(self, "cloud_hsm_cluster_id", value) + if cloud_hsm_cluster_id is not None: + pulumi.set(__self__, "cloud_hsm_cluster_id", cloud_hsm_cluster_id) + if custom_key_store_type is not None: + pulumi.set(__self__, "custom_key_store_type", custom_key_store_type) + if key_store_password is not None: + pulumi.set(__self__, "key_store_password", key_store_password) + if trust_anchor_certificate is not None: + pulumi.set(__self__, "trust_anchor_certificate", trust_anchor_certificate) + if xks_proxy_authentication_credential is not None: + pulumi.set(__self__, "xks_proxy_authentication_credential", xks_proxy_authentication_credential) + if xks_proxy_connectivity is not None: + pulumi.set(__self__, "xks_proxy_connectivity", xks_proxy_connectivity) + if xks_proxy_uri_endpoint is not None: + pulumi.set(__self__, "xks_proxy_uri_endpoint", xks_proxy_uri_endpoint) + if xks_proxy_uri_path is not None: + pulumi.set(__self__, "xks_proxy_uri_path", xks_proxy_uri_path) + if xks_proxy_vpc_endpoint_service_name is not None: + pulumi.set(__self__, "xks_proxy_vpc_endpoint_service_name", xks_proxy_vpc_endpoint_service_name) @property @pulumi.getter(name="customKeyStoreName") def custom_key_store_name(self) -> pulumi.Input[str]: """ Unique name for Custom Key Store. + + The following arguments are optional: """ return pulumi.get(self, "custom_key_store_name") @@ -60,59 +73,134 @@ def custom_key_store_name(self, value: pulumi.Input[str]): pulumi.set(self, "custom_key_store_name", value) @property - @pulumi.getter(name="keyStorePassword") - def key_store_password(self) -> pulumi.Input[str]: + @pulumi.getter(name="cloudHsmClusterId") + def cloud_hsm_cluster_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "cloud_hsm_cluster_id") + + @cloud_hsm_cluster_id.setter + def cloud_hsm_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cloud_hsm_cluster_id", value) + + @property + @pulumi.getter(name="customKeyStoreType") + def custom_key_store_type(self) -> Optional[pulumi.Input[str]]: """ - Password for `kmsuser` on CloudHSM. + Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. """ + return pulumi.get(self, "custom_key_store_type") + + @custom_key_store_type.setter + def custom_key_store_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_key_store_type", value) + + @property + @pulumi.getter(name="keyStorePassword") + def key_store_password(self) -> Optional[pulumi.Input[str]]: return pulumi.get(self, "key_store_password") @key_store_password.setter - def key_store_password(self, value: pulumi.Input[str]): + def key_store_password(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "key_store_password", value) @property @pulumi.getter(name="trustAnchorCertificate") - def trust_anchor_certificate(self) -> pulumi.Input[str]: - """ - Customer certificate used for signing on CloudHSM. - """ + def trust_anchor_certificate(self) -> Optional[pulumi.Input[str]]: return pulumi.get(self, "trust_anchor_certificate") @trust_anchor_certificate.setter - def trust_anchor_certificate(self, value: pulumi.Input[str]): + def trust_anchor_certificate(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "trust_anchor_certificate", value) + @property + @pulumi.getter(name="xksProxyAuthenticationCredential") + def xks_proxy_authentication_credential(self) -> Optional[pulumi.Input['CustomKeyStoreXksProxyAuthenticationCredentialArgs']]: + return pulumi.get(self, "xks_proxy_authentication_credential") + + @xks_proxy_authentication_credential.setter + def xks_proxy_authentication_credential(self, value: Optional[pulumi.Input['CustomKeyStoreXksProxyAuthenticationCredentialArgs']]): + pulumi.set(self, "xks_proxy_authentication_credential", value) + + @property + @pulumi.getter(name="xksProxyConnectivity") + def xks_proxy_connectivity(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_connectivity") + + @xks_proxy_connectivity.setter + def xks_proxy_connectivity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_connectivity", value) + + @property + @pulumi.getter(name="xksProxyUriEndpoint") + def xks_proxy_uri_endpoint(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_uri_endpoint") + + @xks_proxy_uri_endpoint.setter + def xks_proxy_uri_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_uri_endpoint", value) + + @property + @pulumi.getter(name="xksProxyUriPath") + def xks_proxy_uri_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_uri_path") + + @xks_proxy_uri_path.setter + def xks_proxy_uri_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_uri_path", value) + + @property + @pulumi.getter(name="xksProxyVpcEndpointServiceName") + def xks_proxy_vpc_endpoint_service_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_vpc_endpoint_service_name") + + @xks_proxy_vpc_endpoint_service_name.setter + def xks_proxy_vpc_endpoint_service_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_vpc_endpoint_service_name", value) + @pulumi.input_type class _CustomKeyStoreState: def __init__(__self__, *, cloud_hsm_cluster_id: Optional[pulumi.Input[str]] = None, custom_key_store_name: Optional[pulumi.Input[str]] = None, + custom_key_store_type: Optional[pulumi.Input[str]] = None, key_store_password: Optional[pulumi.Input[str]] = None, - trust_anchor_certificate: Optional[pulumi.Input[str]] = None): + trust_anchor_certificate: Optional[pulumi.Input[str]] = None, + xks_proxy_authentication_credential: Optional[pulumi.Input['CustomKeyStoreXksProxyAuthenticationCredentialArgs']] = None, + xks_proxy_connectivity: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_endpoint: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_path: Optional[pulumi.Input[str]] = None, + xks_proxy_vpc_endpoint_service_name: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering CustomKeyStore resources. - :param pulumi.Input[str] cloud_hsm_cluster_id: Cluster ID of CloudHSM. :param pulumi.Input[str] custom_key_store_name: Unique name for Custom Key Store. - :param pulumi.Input[str] key_store_password: Password for `kmsuser` on CloudHSM. - :param pulumi.Input[str] trust_anchor_certificate: Customer certificate used for signing on CloudHSM. + + The following arguments are optional: + :param pulumi.Input[str] custom_key_store_type: Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. """ if cloud_hsm_cluster_id is not None: pulumi.set(__self__, "cloud_hsm_cluster_id", cloud_hsm_cluster_id) if custom_key_store_name is not None: pulumi.set(__self__, "custom_key_store_name", custom_key_store_name) + if custom_key_store_type is not None: + pulumi.set(__self__, "custom_key_store_type", custom_key_store_type) if key_store_password is not None: pulumi.set(__self__, "key_store_password", key_store_password) if trust_anchor_certificate is not None: pulumi.set(__self__, "trust_anchor_certificate", trust_anchor_certificate) + if xks_proxy_authentication_credential is not None: + pulumi.set(__self__, "xks_proxy_authentication_credential", xks_proxy_authentication_credential) + if xks_proxy_connectivity is not None: + pulumi.set(__self__, "xks_proxy_connectivity", xks_proxy_connectivity) + if xks_proxy_uri_endpoint is not None: + pulumi.set(__self__, "xks_proxy_uri_endpoint", xks_proxy_uri_endpoint) + if xks_proxy_uri_path is not None: + pulumi.set(__self__, "xks_proxy_uri_path", xks_proxy_uri_path) + if xks_proxy_vpc_endpoint_service_name is not None: + pulumi.set(__self__, "xks_proxy_vpc_endpoint_service_name", xks_proxy_vpc_endpoint_service_name) @property @pulumi.getter(name="cloudHsmClusterId") def cloud_hsm_cluster_id(self) -> Optional[pulumi.Input[str]]: - """ - Cluster ID of CloudHSM. - """ return pulumi.get(self, "cloud_hsm_cluster_id") @cloud_hsm_cluster_id.setter @@ -124,6 +212,8 @@ def cloud_hsm_cluster_id(self, value: Optional[pulumi.Input[str]]): def custom_key_store_name(self) -> Optional[pulumi.Input[str]]: """ Unique name for Custom Key Store. + + The following arguments are optional: """ return pulumi.get(self, "custom_key_store_name") @@ -132,11 +222,20 @@ def custom_key_store_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "custom_key_store_name", value) @property - @pulumi.getter(name="keyStorePassword") - def key_store_password(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="customKeyStoreType") + def custom_key_store_type(self) -> Optional[pulumi.Input[str]]: """ - Password for `kmsuser` on CloudHSM. + Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. """ + return pulumi.get(self, "custom_key_store_type") + + @custom_key_store_type.setter + def custom_key_store_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_key_store_type", value) + + @property + @pulumi.getter(name="keyStorePassword") + def key_store_password(self) -> Optional[pulumi.Input[str]]: return pulumi.get(self, "key_store_password") @key_store_password.setter @@ -146,15 +245,57 @@ def key_store_password(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="trustAnchorCertificate") def trust_anchor_certificate(self) -> Optional[pulumi.Input[str]]: - """ - Customer certificate used for signing on CloudHSM. - """ return pulumi.get(self, "trust_anchor_certificate") @trust_anchor_certificate.setter def trust_anchor_certificate(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "trust_anchor_certificate", value) + @property + @pulumi.getter(name="xksProxyAuthenticationCredential") + def xks_proxy_authentication_credential(self) -> Optional[pulumi.Input['CustomKeyStoreXksProxyAuthenticationCredentialArgs']]: + return pulumi.get(self, "xks_proxy_authentication_credential") + + @xks_proxy_authentication_credential.setter + def xks_proxy_authentication_credential(self, value: Optional[pulumi.Input['CustomKeyStoreXksProxyAuthenticationCredentialArgs']]): + pulumi.set(self, "xks_proxy_authentication_credential", value) + + @property + @pulumi.getter(name="xksProxyConnectivity") + def xks_proxy_connectivity(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_connectivity") + + @xks_proxy_connectivity.setter + def xks_proxy_connectivity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_connectivity", value) + + @property + @pulumi.getter(name="xksProxyUriEndpoint") + def xks_proxy_uri_endpoint(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_uri_endpoint") + + @xks_proxy_uri_endpoint.setter + def xks_proxy_uri_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_uri_endpoint", value) + + @property + @pulumi.getter(name="xksProxyUriPath") + def xks_proxy_uri_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_uri_path") + + @xks_proxy_uri_path.setter + def xks_proxy_uri_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_uri_path", value) + + @property + @pulumi.getter(name="xksProxyVpcEndpointServiceName") + def xks_proxy_vpc_endpoint_service_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "xks_proxy_vpc_endpoint_service_name") + + @xks_proxy_vpc_endpoint_service_name.setter + def xks_proxy_vpc_endpoint_service_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "xks_proxy_vpc_endpoint_service_name", value) + class CustomKeyStore(pulumi.CustomResource): @overload @@ -163,15 +304,21 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, cloud_hsm_cluster_id: Optional[pulumi.Input[str]] = None, custom_key_store_name: Optional[pulumi.Input[str]] = None, + custom_key_store_type: Optional[pulumi.Input[str]] = None, key_store_password: Optional[pulumi.Input[str]] = None, trust_anchor_certificate: Optional[pulumi.Input[str]] = None, + xks_proxy_authentication_credential: Optional[pulumi.Input[Union['CustomKeyStoreXksProxyAuthenticationCredentialArgs', 'CustomKeyStoreXksProxyAuthenticationCredentialArgsDict']]] = None, + xks_proxy_connectivity: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_endpoint: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_path: Optional[pulumi.Input[str]] = None, + xks_proxy_vpc_endpoint_service_name: Optional[pulumi.Input[str]] = None, __props__=None): """ Resource for managing an AWS KMS (Key Management) Custom Key Store. ## Example Usage - ### Basic Usage + ### CloudHSM ```python import pulumi @@ -185,6 +332,43 @@ def __init__(__self__, trust_anchor_certificate=std.file(input="anchor-certificate.crt").result) ``` + ### External Key Store (VPC) + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.CustomKeyStore("example", + custom_key_store_name="example-vpc-xks", + custom_key_store_type="EXTERNAL_KEY_STORE", + xks_proxy_authentication_credential={ + "access_key_id": ephemeral_access_key_id, + "raw_secret_access_key": ephemeral_secret_access_key, + }, + xks_proxy_connectivity="VPC_ENDPOINT_SERVICE", + xks_proxy_uri_endpoint="https://myproxy-private.xks.example.com", + xks_proxy_uri_path="/kms/xks/v1", + xks_proxy_vpc_endpoint_service_name="com.amazonaws.vpce.us-east-1.vpce-svc-example") + ``` + + ### External Key Store (Public) + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.CustomKeyStore("example", + custom_key_store_name="example-public-xks", + custom_key_store_type="EXTERNAL_KEY_STORE", + xks_proxy_authentication_credential={ + "access_key_id": ephemeral_access_key_id, + "raw_secret_access_key": ephemeral_secret_access_key, + }, + xks_proxy_connectivity="PUBLIC_ENDPOINT", + xks_proxy_uri_endpoint="https://myproxy.xks.example.com", + xks_proxy_uri_path="/kms/xks/v1") + ``` + ## Import Using `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example: @@ -195,10 +379,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] cloud_hsm_cluster_id: Cluster ID of CloudHSM. :param pulumi.Input[str] custom_key_store_name: Unique name for Custom Key Store. - :param pulumi.Input[str] key_store_password: Password for `kmsuser` on CloudHSM. - :param pulumi.Input[str] trust_anchor_certificate: Customer certificate used for signing on CloudHSM. + + The following arguments are optional: + :param pulumi.Input[str] custom_key_store_type: Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. """ ... @overload @@ -211,7 +395,7 @@ def __init__(__self__, ## Example Usage - ### Basic Usage + ### CloudHSM ```python import pulumi @@ -225,6 +409,43 @@ def __init__(__self__, trust_anchor_certificate=std.file(input="anchor-certificate.crt").result) ``` + ### External Key Store (VPC) + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.CustomKeyStore("example", + custom_key_store_name="example-vpc-xks", + custom_key_store_type="EXTERNAL_KEY_STORE", + xks_proxy_authentication_credential={ + "access_key_id": ephemeral_access_key_id, + "raw_secret_access_key": ephemeral_secret_access_key, + }, + xks_proxy_connectivity="VPC_ENDPOINT_SERVICE", + xks_proxy_uri_endpoint="https://myproxy-private.xks.example.com", + xks_proxy_uri_path="/kms/xks/v1", + xks_proxy_vpc_endpoint_service_name="com.amazonaws.vpce.us-east-1.vpce-svc-example") + ``` + + ### External Key Store (Public) + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.CustomKeyStore("example", + custom_key_store_name="example-public-xks", + custom_key_store_type="EXTERNAL_KEY_STORE", + xks_proxy_authentication_credential={ + "access_key_id": ephemeral_access_key_id, + "raw_secret_access_key": ephemeral_secret_access_key, + }, + xks_proxy_connectivity="PUBLIC_ENDPOINT", + xks_proxy_uri_endpoint="https://myproxy.xks.example.com", + xks_proxy_uri_path="/kms/xks/v1") + ``` + ## Import Using `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example: @@ -250,8 +471,14 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, cloud_hsm_cluster_id: Optional[pulumi.Input[str]] = None, custom_key_store_name: Optional[pulumi.Input[str]] = None, + custom_key_store_type: Optional[pulumi.Input[str]] = None, key_store_password: Optional[pulumi.Input[str]] = None, trust_anchor_certificate: Optional[pulumi.Input[str]] = None, + xks_proxy_authentication_credential: Optional[pulumi.Input[Union['CustomKeyStoreXksProxyAuthenticationCredentialArgs', 'CustomKeyStoreXksProxyAuthenticationCredentialArgsDict']]] = None, + xks_proxy_connectivity: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_endpoint: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_path: Optional[pulumi.Input[str]] = None, + xks_proxy_vpc_endpoint_service_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -261,18 +488,18 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = CustomKeyStoreArgs.__new__(CustomKeyStoreArgs) - if cloud_hsm_cluster_id is None and not opts.urn: - raise TypeError("Missing required property 'cloud_hsm_cluster_id'") __props__.__dict__["cloud_hsm_cluster_id"] = cloud_hsm_cluster_id if custom_key_store_name is None and not opts.urn: raise TypeError("Missing required property 'custom_key_store_name'") __props__.__dict__["custom_key_store_name"] = custom_key_store_name - if key_store_password is None and not opts.urn: - raise TypeError("Missing required property 'key_store_password'") + __props__.__dict__["custom_key_store_type"] = custom_key_store_type __props__.__dict__["key_store_password"] = key_store_password - if trust_anchor_certificate is None and not opts.urn: - raise TypeError("Missing required property 'trust_anchor_certificate'") __props__.__dict__["trust_anchor_certificate"] = trust_anchor_certificate + __props__.__dict__["xks_proxy_authentication_credential"] = xks_proxy_authentication_credential + __props__.__dict__["xks_proxy_connectivity"] = xks_proxy_connectivity + __props__.__dict__["xks_proxy_uri_endpoint"] = xks_proxy_uri_endpoint + __props__.__dict__["xks_proxy_uri_path"] = xks_proxy_uri_path + __props__.__dict__["xks_proxy_vpc_endpoint_service_name"] = xks_proxy_vpc_endpoint_service_name super(CustomKeyStore, __self__).__init__( 'aws:kms/customKeyStore:CustomKeyStore', resource_name, @@ -285,8 +512,14 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, cloud_hsm_cluster_id: Optional[pulumi.Input[str]] = None, custom_key_store_name: Optional[pulumi.Input[str]] = None, + custom_key_store_type: Optional[pulumi.Input[str]] = None, key_store_password: Optional[pulumi.Input[str]] = None, - trust_anchor_certificate: Optional[pulumi.Input[str]] = None) -> 'CustomKeyStore': + trust_anchor_certificate: Optional[pulumi.Input[str]] = None, + xks_proxy_authentication_credential: Optional[pulumi.Input[Union['CustomKeyStoreXksProxyAuthenticationCredentialArgs', 'CustomKeyStoreXksProxyAuthenticationCredentialArgsDict']]] = None, + xks_proxy_connectivity: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_endpoint: Optional[pulumi.Input[str]] = None, + xks_proxy_uri_path: Optional[pulumi.Input[str]] = None, + xks_proxy_vpc_endpoint_service_name: Optional[pulumi.Input[str]] = None) -> 'CustomKeyStore': """ Get an existing CustomKeyStore resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -294,10 +527,10 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] cloud_hsm_cluster_id: Cluster ID of CloudHSM. :param pulumi.Input[str] custom_key_store_name: Unique name for Custom Key Store. - :param pulumi.Input[str] key_store_password: Password for `kmsuser` on CloudHSM. - :param pulumi.Input[str] trust_anchor_certificate: Customer certificate used for signing on CloudHSM. + + The following arguments are optional: + :param pulumi.Input[str] custom_key_store_type: Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -305,16 +538,19 @@ def get(resource_name: str, __props__.__dict__["cloud_hsm_cluster_id"] = cloud_hsm_cluster_id __props__.__dict__["custom_key_store_name"] = custom_key_store_name + __props__.__dict__["custom_key_store_type"] = custom_key_store_type __props__.__dict__["key_store_password"] = key_store_password __props__.__dict__["trust_anchor_certificate"] = trust_anchor_certificate + __props__.__dict__["xks_proxy_authentication_credential"] = xks_proxy_authentication_credential + __props__.__dict__["xks_proxy_connectivity"] = xks_proxy_connectivity + __props__.__dict__["xks_proxy_uri_endpoint"] = xks_proxy_uri_endpoint + __props__.__dict__["xks_proxy_uri_path"] = xks_proxy_uri_path + __props__.__dict__["xks_proxy_vpc_endpoint_service_name"] = xks_proxy_vpc_endpoint_service_name return CustomKeyStore(resource_name, opts=opts, __props__=__props__) @property @pulumi.getter(name="cloudHsmClusterId") - def cloud_hsm_cluster_id(self) -> pulumi.Output[str]: - """ - Cluster ID of CloudHSM. - """ + def cloud_hsm_cluster_id(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "cloud_hsm_cluster_id") @property @@ -322,22 +558,51 @@ def cloud_hsm_cluster_id(self) -> pulumi.Output[str]: def custom_key_store_name(self) -> pulumi.Output[str]: """ Unique name for Custom Key Store. + + The following arguments are optional: """ return pulumi.get(self, "custom_key_store_name") @property - @pulumi.getter(name="keyStorePassword") - def key_store_password(self) -> pulumi.Output[str]: + @pulumi.getter(name="customKeyStoreType") + def custom_key_store_type(self) -> pulumi.Output[str]: """ - Password for `kmsuser` on CloudHSM. + Specifies the type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`. """ + return pulumi.get(self, "custom_key_store_type") + + @property + @pulumi.getter(name="keyStorePassword") + def key_store_password(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "key_store_password") @property @pulumi.getter(name="trustAnchorCertificate") - def trust_anchor_certificate(self) -> pulumi.Output[str]: - """ - Customer certificate used for signing on CloudHSM. - """ + def trust_anchor_certificate(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "trust_anchor_certificate") + @property + @pulumi.getter(name="xksProxyAuthenticationCredential") + def xks_proxy_authentication_credential(self) -> pulumi.Output[Optional['outputs.CustomKeyStoreXksProxyAuthenticationCredential']]: + return pulumi.get(self, "xks_proxy_authentication_credential") + + @property + @pulumi.getter(name="xksProxyConnectivity") + def xks_proxy_connectivity(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "xks_proxy_connectivity") + + @property + @pulumi.getter(name="xksProxyUriEndpoint") + def xks_proxy_uri_endpoint(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "xks_proxy_uri_endpoint") + + @property + @pulumi.getter(name="xksProxyUriPath") + def xks_proxy_uri_path(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "xks_proxy_uri_path") + + @property + @pulumi.getter(name="xksProxyVpcEndpointServiceName") + def xks_proxy_vpc_endpoint_service_name(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "xks_proxy_vpc_endpoint_service_name") + diff --git a/sdk/python/pulumi_aws/kms/outputs.py b/sdk/python/pulumi_aws/kms/outputs.py index e1ad7ef28ef..21eccc836fb 100644 --- a/sdk/python/pulumi_aws/kms/outputs.py +++ b/sdk/python/pulumi_aws/kms/outputs.py @@ -16,6 +16,7 @@ from . import outputs __all__ = [ + 'CustomKeyStoreXksProxyAuthenticationCredential', 'GrantConstraint', 'GetKeyMultiRegionConfigurationResult', 'GetKeyMultiRegionConfigurationPrimaryKeyResult', @@ -25,6 +26,54 @@ 'GetSecretsSecretResult', ] +@pulumi.output_type +class CustomKeyStoreXksProxyAuthenticationCredential(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessKeyId": + suggest = "access_key_id" + elif key == "rawSecretAccessKey": + suggest = "raw_secret_access_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomKeyStoreXksProxyAuthenticationCredential. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomKeyStoreXksProxyAuthenticationCredential.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomKeyStoreXksProxyAuthenticationCredential.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + access_key_id: str, + raw_secret_access_key: str): + """ + :param str access_key_id: A unique identifier for the raw secret access key. + :param str raw_secret_access_key: A secret string of 43-64 characters. + """ + pulumi.set(__self__, "access_key_id", access_key_id) + pulumi.set(__self__, "raw_secret_access_key", raw_secret_access_key) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> str: + """ + A unique identifier for the raw secret access key. + """ + return pulumi.get(self, "access_key_id") + + @property + @pulumi.getter(name="rawSecretAccessKey") + def raw_secret_access_key(self) -> str: + """ + A secret string of 43-64 characters. + """ + return pulumi.get(self, "raw_secret_access_key") + + @pulumi.output_type class GrantConstraint(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/lb/listener.py b/sdk/python/pulumi_aws/lb/listener.py index 7dbe4f9c5b4..87e6b21129c 100644 --- a/sdk/python/pulumi_aws/lb/listener.py +++ b/sdk/python/pulumi_aws/lb/listener.py @@ -28,6 +28,25 @@ def __init__(__self__, *, mutual_authentication: Optional[pulumi.Input['ListenerMutualAuthenticationArgs']] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tcp_idle_timeout_seconds: Optional[pulumi.Input[int]] = None): @@ -42,6 +61,25 @@ def __init__(__self__, *, :param pulumi.Input['ListenerMutualAuthenticationArgs'] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -60,6 +98,44 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if protocol is not None: pulumi.set(__self__, "protocol", protocol) + if routing_http_request_x_amzn_mtls_clientcert_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_header_name", routing_http_request_x_amzn_mtls_clientcert_header_name) + if routing_http_request_x_amzn_mtls_clientcert_issuer_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", routing_http_request_x_amzn_mtls_clientcert_issuer_header_name) + if routing_http_request_x_amzn_mtls_clientcert_leaf_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", routing_http_request_x_amzn_mtls_clientcert_leaf_header_name) + if routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name) + if routing_http_request_x_amzn_mtls_clientcert_subject_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", routing_http_request_x_amzn_mtls_clientcert_subject_header_name) + if routing_http_request_x_amzn_mtls_clientcert_validity_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", routing_http_request_x_amzn_mtls_clientcert_validity_header_name) + if routing_http_request_x_amzn_tls_cipher_suite_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_cipher_suite_header_name", routing_http_request_x_amzn_tls_cipher_suite_header_name) + if routing_http_request_x_amzn_tls_version_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_version_header_name", routing_http_request_x_amzn_tls_version_header_name) + if routing_http_response_access_control_allow_credentials_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_credentials_header_value", routing_http_response_access_control_allow_credentials_header_value) + if routing_http_response_access_control_allow_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_headers_header_value", routing_http_response_access_control_allow_headers_header_value) + if routing_http_response_access_control_allow_methods_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_methods_header_value", routing_http_response_access_control_allow_methods_header_value) + if routing_http_response_access_control_allow_origin_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_origin_header_value", routing_http_response_access_control_allow_origin_header_value) + if routing_http_response_access_control_expose_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_expose_headers_header_value", routing_http_response_access_control_expose_headers_header_value) + if routing_http_response_access_control_max_age_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_max_age_header_value", routing_http_response_access_control_max_age_header_value) + if routing_http_response_content_security_policy_header_value is not None: + pulumi.set(__self__, "routing_http_response_content_security_policy_header_value", routing_http_response_content_security_policy_header_value) + if routing_http_response_server_enabled is not None: + pulumi.set(__self__, "routing_http_response_server_enabled", routing_http_response_server_enabled) + if routing_http_response_strict_transport_security_header_value is not None: + pulumi.set(__self__, "routing_http_response_strict_transport_security_header_value", routing_http_response_strict_transport_security_header_value) + if routing_http_response_x_content_type_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_content_type_options_header_value", routing_http_response_x_content_type_options_header_value) + if routing_http_response_x_frame_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_frame_options_header_value", routing_http_response_x_frame_options_header_value) if ssl_policy is not None: pulumi.set(__self__, "ssl_policy", ssl_policy) if tags is not None: @@ -153,6 +229,234 @@ def protocol(self) -> Optional[pulumi.Input[str]]: def protocol(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "protocol", value) + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_issuer_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_leaf_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_subject_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_validity_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name") + + @routing_http_request_x_amzn_tls_cipher_suite_header_name.setter + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsVersionHeaderName") + def routing_http_request_x_amzn_tls_version_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_version_header_name") + + @routing_http_request_x_amzn_tls_version_header_name.setter + def routing_http_request_x_amzn_tls_version_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_version_header_name", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + def routing_http_response_access_control_allow_credentials_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_credentials_header_value") + + @routing_http_response_access_control_allow_credentials_header_value.setter + def routing_http_response_access_control_allow_credentials_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_credentials_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + def routing_http_response_access_control_allow_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_headers_header_value") + + @routing_http_response_access_control_allow_headers_header_value.setter + def routing_http_response_access_control_allow_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + def routing_http_response_access_control_allow_methods_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_methods_header_value") + + @routing_http_response_access_control_allow_methods_header_value.setter + def routing_http_response_access_control_allow_methods_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_methods_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + def routing_http_response_access_control_allow_origin_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_origin_header_value") + + @routing_http_response_access_control_allow_origin_header_value.setter + def routing_http_response_access_control_allow_origin_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_origin_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + def routing_http_response_access_control_expose_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_expose_headers_header_value") + + @routing_http_response_access_control_expose_headers_header_value.setter + def routing_http_response_access_control_expose_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_expose_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + def routing_http_response_access_control_max_age_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_max_age_header_value") + + @routing_http_response_access_control_max_age_header_value.setter + def routing_http_response_access_control_max_age_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_max_age_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseContentSecurityPolicyHeaderValue") + def routing_http_response_content_security_policy_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + """ + return pulumi.get(self, "routing_http_response_content_security_policy_header_value") + + @routing_http_response_content_security_policy_header_value.setter + def routing_http_response_content_security_policy_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_content_security_policy_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseServerEnabled") + def routing_http_response_server_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + """ + return pulumi.get(self, "routing_http_response_server_enabled") + + @routing_http_response_server_enabled.setter + def routing_http_response_server_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "routing_http_response_server_enabled", value) + + @property + @pulumi.getter(name="routingHttpResponseStrictTransportSecurityHeaderValue") + def routing_http_response_strict_transport_security_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + """ + return pulumi.get(self, "routing_http_response_strict_transport_security_header_value") + + @routing_http_response_strict_transport_security_header_value.setter + def routing_http_response_strict_transport_security_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_strict_transport_security_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXContentTypeOptionsHeaderValue") + def routing_http_response_x_content_type_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + """ + return pulumi.get(self, "routing_http_response_x_content_type_options_header_value") + + @routing_http_response_x_content_type_options_header_value.setter + def routing_http_response_x_content_type_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_content_type_options_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXFrameOptionsHeaderValue") + def routing_http_response_x_frame_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + """ + return pulumi.get(self, "routing_http_response_x_frame_options_header_value") + + @routing_http_response_x_frame_options_header_value.setter + def routing_http_response_x_frame_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_frame_options_header_value", value) + @property @pulumi.getter(name="sslPolicy") def ssl_policy(self) -> Optional[pulumi.Input[str]]: @@ -203,6 +507,25 @@ def __init__(__self__, *, mutual_authentication: Optional[pulumi.Input['ListenerMutualAuthenticationArgs']] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -219,6 +542,25 @@ def __init__(__self__, *, :param pulumi.Input['ListenerMutualAuthenticationArgs'] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -242,6 +584,44 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if protocol is not None: pulumi.set(__self__, "protocol", protocol) + if routing_http_request_x_amzn_mtls_clientcert_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_header_name", routing_http_request_x_amzn_mtls_clientcert_header_name) + if routing_http_request_x_amzn_mtls_clientcert_issuer_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", routing_http_request_x_amzn_mtls_clientcert_issuer_header_name) + if routing_http_request_x_amzn_mtls_clientcert_leaf_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", routing_http_request_x_amzn_mtls_clientcert_leaf_header_name) + if routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name) + if routing_http_request_x_amzn_mtls_clientcert_subject_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", routing_http_request_x_amzn_mtls_clientcert_subject_header_name) + if routing_http_request_x_amzn_mtls_clientcert_validity_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", routing_http_request_x_amzn_mtls_clientcert_validity_header_name) + if routing_http_request_x_amzn_tls_cipher_suite_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_cipher_suite_header_name", routing_http_request_x_amzn_tls_cipher_suite_header_name) + if routing_http_request_x_amzn_tls_version_header_name is not None: + pulumi.set(__self__, "routing_http_request_x_amzn_tls_version_header_name", routing_http_request_x_amzn_tls_version_header_name) + if routing_http_response_access_control_allow_credentials_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_credentials_header_value", routing_http_response_access_control_allow_credentials_header_value) + if routing_http_response_access_control_allow_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_headers_header_value", routing_http_response_access_control_allow_headers_header_value) + if routing_http_response_access_control_allow_methods_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_methods_header_value", routing_http_response_access_control_allow_methods_header_value) + if routing_http_response_access_control_allow_origin_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_allow_origin_header_value", routing_http_response_access_control_allow_origin_header_value) + if routing_http_response_access_control_expose_headers_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_expose_headers_header_value", routing_http_response_access_control_expose_headers_header_value) + if routing_http_response_access_control_max_age_header_value is not None: + pulumi.set(__self__, "routing_http_response_access_control_max_age_header_value", routing_http_response_access_control_max_age_header_value) + if routing_http_response_content_security_policy_header_value is not None: + pulumi.set(__self__, "routing_http_response_content_security_policy_header_value", routing_http_response_content_security_policy_header_value) + if routing_http_response_server_enabled is not None: + pulumi.set(__self__, "routing_http_response_server_enabled", routing_http_response_server_enabled) + if routing_http_response_strict_transport_security_header_value is not None: + pulumi.set(__self__, "routing_http_response_strict_transport_security_header_value", routing_http_response_strict_transport_security_header_value) + if routing_http_response_x_content_type_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_content_type_options_header_value", routing_http_response_x_content_type_options_header_value) + if routing_http_response_x_frame_options_header_value is not None: + pulumi.set(__self__, "routing_http_response_x_frame_options_header_value", routing_http_response_x_frame_options_header_value) if ssl_policy is not None: pulumi.set(__self__, "ssl_policy", ssl_policy) if tags is not None: @@ -352,6 +732,234 @@ def protocol(self) -> Optional[pulumi.Input[str]]: def protocol(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "protocol", value) + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_issuer_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_leaf_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_subject_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name") + + @routing_http_request_x_amzn_mtls_clientcert_validity_header_name.setter + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name") + + @routing_http_request_x_amzn_tls_cipher_suite_header_name.setter + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name", value) + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsVersionHeaderName") + def routing_http_request_x_amzn_tls_version_header_name(self) -> Optional[pulumi.Input[str]]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_version_header_name") + + @routing_http_request_x_amzn_tls_version_header_name.setter + def routing_http_request_x_amzn_tls_version_header_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_request_x_amzn_tls_version_header_name", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + def routing_http_response_access_control_allow_credentials_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_credentials_header_value") + + @routing_http_response_access_control_allow_credentials_header_value.setter + def routing_http_response_access_control_allow_credentials_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_credentials_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + def routing_http_response_access_control_allow_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_headers_header_value") + + @routing_http_response_access_control_allow_headers_header_value.setter + def routing_http_response_access_control_allow_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + def routing_http_response_access_control_allow_methods_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_methods_header_value") + + @routing_http_response_access_control_allow_methods_header_value.setter + def routing_http_response_access_control_allow_methods_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_methods_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + def routing_http_response_access_control_allow_origin_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_origin_header_value") + + @routing_http_response_access_control_allow_origin_header_value.setter + def routing_http_response_access_control_allow_origin_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_allow_origin_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + def routing_http_response_access_control_expose_headers_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_expose_headers_header_value") + + @routing_http_response_access_control_expose_headers_header_value.setter + def routing_http_response_access_control_expose_headers_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_expose_headers_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + def routing_http_response_access_control_max_age_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_max_age_header_value") + + @routing_http_response_access_control_max_age_header_value.setter + def routing_http_response_access_control_max_age_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_access_control_max_age_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseContentSecurityPolicyHeaderValue") + def routing_http_response_content_security_policy_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + """ + return pulumi.get(self, "routing_http_response_content_security_policy_header_value") + + @routing_http_response_content_security_policy_header_value.setter + def routing_http_response_content_security_policy_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_content_security_policy_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseServerEnabled") + def routing_http_response_server_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + """ + return pulumi.get(self, "routing_http_response_server_enabled") + + @routing_http_response_server_enabled.setter + def routing_http_response_server_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "routing_http_response_server_enabled", value) + + @property + @pulumi.getter(name="routingHttpResponseStrictTransportSecurityHeaderValue") + def routing_http_response_strict_transport_security_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + """ + return pulumi.get(self, "routing_http_response_strict_transport_security_header_value") + + @routing_http_response_strict_transport_security_header_value.setter + def routing_http_response_strict_transport_security_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_strict_transport_security_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXContentTypeOptionsHeaderValue") + def routing_http_response_x_content_type_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + """ + return pulumi.get(self, "routing_http_response_x_content_type_options_header_value") + + @routing_http_response_x_content_type_options_header_value.setter + def routing_http_response_x_content_type_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_content_type_options_header_value", value) + + @property + @pulumi.getter(name="routingHttpResponseXFrameOptionsHeaderValue") + def routing_http_response_x_frame_options_header_value(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + """ + return pulumi.get(self, "routing_http_response_x_frame_options_header_value") + + @routing_http_response_x_frame_options_header_value.setter + def routing_http_response_x_frame_options_header_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "routing_http_response_x_frame_options_header_value", value) + @property @pulumi.getter(name="sslPolicy") def ssl_policy(self) -> Optional[pulumi.Input[str]]: @@ -416,6 +1024,25 @@ def __init__(__self__, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tcp_idle_timeout_seconds: Optional[pulumi.Input[int]] = None, @@ -638,6 +1265,25 @@ def __init__(__self__, :param pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -879,6 +1525,25 @@ def _internal_init(__self__, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tcp_idle_timeout_seconds: Optional[pulumi.Input[int]] = None, @@ -902,6 +1567,25 @@ def _internal_init(__self__, __props__.__dict__["mutual_authentication"] = mutual_authentication __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_header_name"] = routing_http_request_x_amzn_mtls_clientcert_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_issuer_header_name"] = routing_http_request_x_amzn_mtls_clientcert_issuer_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_leaf_header_name"] = routing_http_request_x_amzn_mtls_clientcert_leaf_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name"] = routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_subject_header_name"] = routing_http_request_x_amzn_mtls_clientcert_subject_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_validity_header_name"] = routing_http_request_x_amzn_mtls_clientcert_validity_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_cipher_suite_header_name"] = routing_http_request_x_amzn_tls_cipher_suite_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_version_header_name"] = routing_http_request_x_amzn_tls_version_header_name + __props__.__dict__["routing_http_response_access_control_allow_credentials_header_value"] = routing_http_response_access_control_allow_credentials_header_value + __props__.__dict__["routing_http_response_access_control_allow_headers_header_value"] = routing_http_response_access_control_allow_headers_header_value + __props__.__dict__["routing_http_response_access_control_allow_methods_header_value"] = routing_http_response_access_control_allow_methods_header_value + __props__.__dict__["routing_http_response_access_control_allow_origin_header_value"] = routing_http_response_access_control_allow_origin_header_value + __props__.__dict__["routing_http_response_access_control_expose_headers_header_value"] = routing_http_response_access_control_expose_headers_header_value + __props__.__dict__["routing_http_response_access_control_max_age_header_value"] = routing_http_response_access_control_max_age_header_value + __props__.__dict__["routing_http_response_content_security_policy_header_value"] = routing_http_response_content_security_policy_header_value + __props__.__dict__["routing_http_response_server_enabled"] = routing_http_response_server_enabled + __props__.__dict__["routing_http_response_strict_transport_security_header_value"] = routing_http_response_strict_transport_security_header_value + __props__.__dict__["routing_http_response_x_content_type_options_header_value"] = routing_http_response_x_content_type_options_header_value + __props__.__dict__["routing_http_response_x_frame_options_header_value"] = routing_http_response_x_frame_options_header_value __props__.__dict__["ssl_policy"] = ssl_policy __props__.__dict__["tags"] = tags __props__.__dict__["tcp_idle_timeout_seconds"] = tcp_idle_timeout_seconds @@ -927,6 +1611,25 @@ def get(resource_name: str, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_cipher_suite_header_name: Optional[pulumi.Input[str]] = None, + routing_http_request_x_amzn_tls_version_header_name: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_credentials_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_methods_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_allow_origin_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_expose_headers_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_access_control_max_age_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_content_security_policy_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_server_enabled: Optional[pulumi.Input[bool]] = None, + routing_http_response_strict_transport_security_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_content_type_options_header_value: Optional[pulumi.Input[str]] = None, + routing_http_response_x_frame_options_header_value: Optional[pulumi.Input[str]] = None, ssl_policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -948,6 +1651,25 @@ def get(resource_name: str, :param pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']] mutual_authentication: The mutual authentication configuration information. See below. :param pulumi.Input[int] port: Port on which the load balancer is listening. Not valid for Gateway Load Balancers. :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_issuer_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_leaf_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_subject_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_mtls_clientcert_validity_header_name: Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_cipher_suite_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_request_x_amzn_tls_version_header_name: Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + :param pulumi.Input[str] routing_http_response_access_control_allow_credentials_header_value: Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + :param pulumi.Input[str] routing_http_response_access_control_allow_headers_header_value: Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_allow_methods_header_value: Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + :param pulumi.Input[str] routing_http_response_access_control_allow_origin_header_value: Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + :param pulumi.Input[str] routing_http_response_access_control_expose_headers_header_value: Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + :param pulumi.Input[str] routing_http_response_access_control_max_age_header_value: Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + :param pulumi.Input[str] routing_http_response_content_security_policy_header_value: Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + :param pulumi.Input[bool] routing_http_response_server_enabled: Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + :param pulumi.Input[str] routing_http_response_strict_transport_security_header_value: Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + :param pulumi.Input[str] routing_http_response_x_content_type_options_header_value: Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + :param pulumi.Input[str] routing_http_response_x_frame_options_header_value: Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -967,6 +1689,25 @@ def get(resource_name: str, __props__.__dict__["mutual_authentication"] = mutual_authentication __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_header_name"] = routing_http_request_x_amzn_mtls_clientcert_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_issuer_header_name"] = routing_http_request_x_amzn_mtls_clientcert_issuer_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_leaf_header_name"] = routing_http_request_x_amzn_mtls_clientcert_leaf_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name"] = routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_subject_header_name"] = routing_http_request_x_amzn_mtls_clientcert_subject_header_name + __props__.__dict__["routing_http_request_x_amzn_mtls_clientcert_validity_header_name"] = routing_http_request_x_amzn_mtls_clientcert_validity_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_cipher_suite_header_name"] = routing_http_request_x_amzn_tls_cipher_suite_header_name + __props__.__dict__["routing_http_request_x_amzn_tls_version_header_name"] = routing_http_request_x_amzn_tls_version_header_name + __props__.__dict__["routing_http_response_access_control_allow_credentials_header_value"] = routing_http_response_access_control_allow_credentials_header_value + __props__.__dict__["routing_http_response_access_control_allow_headers_header_value"] = routing_http_response_access_control_allow_headers_header_value + __props__.__dict__["routing_http_response_access_control_allow_methods_header_value"] = routing_http_response_access_control_allow_methods_header_value + __props__.__dict__["routing_http_response_access_control_allow_origin_header_value"] = routing_http_response_access_control_allow_origin_header_value + __props__.__dict__["routing_http_response_access_control_expose_headers_header_value"] = routing_http_response_access_control_expose_headers_header_value + __props__.__dict__["routing_http_response_access_control_max_age_header_value"] = routing_http_response_access_control_max_age_header_value + __props__.__dict__["routing_http_response_content_security_policy_header_value"] = routing_http_response_content_security_policy_header_value + __props__.__dict__["routing_http_response_server_enabled"] = routing_http_response_server_enabled + __props__.__dict__["routing_http_response_strict_transport_security_header_value"] = routing_http_response_strict_transport_security_header_value + __props__.__dict__["routing_http_response_x_content_type_options_header_value"] = routing_http_response_x_content_type_options_header_value + __props__.__dict__["routing_http_response_x_frame_options_header_value"] = routing_http_response_x_frame_options_header_value __props__.__dict__["ssl_policy"] = ssl_policy __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all @@ -1039,6 +1780,158 @@ def protocol(self) -> pulumi.Output[str]: """ return pulumi.get(self, "protocol") + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertIssuerHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_issuer_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Issuer` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_issuer_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertLeafHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_leaf_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Leaf` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_leaf_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSerialNumberHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Serial-Number` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_serial_number_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertSubjectHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_subject_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Subject` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_subject_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznMtlsClientcertValidityHeaderName") + def routing_http_request_x_amzn_mtls_clientcert_validity_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Mtls-Clientcert-Validity` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_mtls_clientcert_validity_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsCipherSuiteHeaderName") + def routing_http_request_x_amzn_tls_cipher_suite_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Cipher-Suite` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_cipher_suite_header_name") + + @property + @pulumi.getter(name="routingHttpRequestXAmznTlsVersionHeaderName") + def routing_http_request_x_amzn_tls_version_header_name(self) -> pulumi.Output[str]: + """ + Enables you to modify the header name of the `X-Amzn-Tls-Version` HTTP request header. Can only be set if protocol is `HTTPS` for Application Load Balancers. + """ + return pulumi.get(self, "routing_http_request_x_amzn_tls_version_header_name") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowCredentialsHeaderValue") + def routing_http_response_access_control_allow_credentials_header_value(self) -> pulumi.Output[str]: + """ + Specifies which headers the browser can expose to the requesting client. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `true`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_credentials_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowHeadersHeaderValue") + def routing_http_response_access_control_allow_headers_header_value(self) -> pulumi.Output[str]: + """ + Specifies which headers can be used during the request. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Accept`, `Accept-Language`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, `Pragma`. Dependent on your use-case other headers can be exposed and then set as a value consult the Access-Control-Allow-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_headers_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowMethodsHeaderValue") + def routing_http_response_access_control_allow_methods_header_value(self) -> pulumi.Output[str]: + """ + Set which HTTP methods are allowed when accessing the server from a different origin. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `GET`, `HEAD`, `POST`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE` or `PATCH`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_methods_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlAllowOriginHeaderValue") + def routing_http_response_access_control_allow_origin_header_value(self) -> pulumi.Output[str]: + """ + Specifies which origins are allowed to access the server. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. A valid value is a URI, eg: `https://example.com`. + """ + return pulumi.get(self, "routing_http_response_access_control_allow_origin_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlExposeHeadersHeaderValue") + def routing_http_response_access_control_expose_headers_header_value(self) -> pulumi.Output[str]: + """ + Specifies whether the browser should include credentials such as cookies or authentication when making requests. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `*`, `Cache-Control`, `Content-Language`, `Content-Length`, `Content-Type`, `Expires`, `Last-Modified`, or `Pragma`. Dependent on your use-case other headers can be exposed, consult the Access-Control-Expose-Headers documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_expose_headers_header_value") + + @property + @pulumi.getter(name="routingHttpResponseAccessControlMaxAgeHeaderValue") + def routing_http_response_access_control_max_age_header_value(self) -> pulumi.Output[str]: + """ + Specifies how long the results of a preflight request can be cached, in seconds. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are between `0` and `86400`. This value is browser specific, consult the Access-Control-Max-Age documentation. + """ + return pulumi.get(self, "routing_http_response_access_control_max_age_header_value") + + @property + @pulumi.getter(name="routingHttpResponseContentSecurityPolicyHeaderValue") + def routing_http_response_content_security_policy_header_value(self) -> pulumi.Output[str]: + """ + Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Values for this are extensive, and can be impactful when set, consult Content-Security-Policy documentation. + """ + return pulumi.get(self, "routing_http_response_content_security_policy_header_value") + + @property + @pulumi.getter(name="routingHttpResponseServerEnabled") + def routing_http_response_server_enabled(self) -> pulumi.Output[bool]: + """ + Enables you to allow or remove the HTTP response server header. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. Valid values are `true` or `false`. + """ + return pulumi.get(self, "routing_http_response_server_enabled") + + @property + @pulumi.getter(name="routingHttpResponseStrictTransportSecurityHeaderValue") + def routing_http_response_strict_transport_security_header_value(self) -> pulumi.Output[str]: + """ + Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Default values are `max-age=31536000; includeSubDomains; preload` consult the Strict-Transport-Security documentation for further details. + """ + return pulumi.get(self, "routing_http_response_strict_transport_security_header_value") + + @property + @pulumi.getter(name="routingHttpResponseXContentTypeOptionsHeaderValue") + def routing_http_response_x_content_type_options_header_value(self) -> pulumi.Output[str]: + """ + Indicates whether the MIME types advertised in the Content-Type headers should be followed and not be changed. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid value is `nosniff`. + """ + return pulumi.get(self, "routing_http_response_x_content_type_options_header_value") + + @property + @pulumi.getter(name="routingHttpResponseXFrameOptionsHeaderValue") + def routing_http_response_x_frame_options_header_value(self) -> pulumi.Output[str]: + """ + Indicates whether the browser is allowed to render a page in a frame, iframe, embed or object. Can only be set if protocol is `HTTP` or `HTTPS` for Application Load Balancers. Not supported for Network Load Balancer, or with a Gateway Load Balancer. The only valid values are `DENY`, `SAMEORIGIN`, or `ALLOW-FROM https://example.com`. + """ + return pulumi.get(self, "routing_http_response_x_frame_options_header_value") + @property @pulumi.getter(name="sslPolicy") def ssl_policy(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/mediapackage/__init__.py b/sdk/python/pulumi_aws/mediapackage/__init__.py index 2dc44230b44..439cb2de2ab 100644 --- a/sdk/python/pulumi_aws/mediapackage/__init__.py +++ b/sdk/python/pulumi_aws/mediapackage/__init__.py @@ -6,5 +6,6 @@ import typing # Export this package's modules as members: from .channel import * +from .v2_channel_group import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/mediapackage/v2_channel_group.py b/sdk/python/pulumi_aws/mediapackage/v2_channel_group.py new file mode 100644 index 00000000000..76abad50fe7 --- /dev/null +++ b/sdk/python/pulumi_aws/mediapackage/v2_channel_group.py @@ -0,0 +1,371 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['V2ChannelGroupArgs', 'V2ChannelGroup'] + +@pulumi.input_type +class V2ChannelGroupArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a V2ChannelGroup resource. + :param pulumi.Input[str] description: A description of the channel group + :param pulumi.Input[str] name: A unique identifier naming the channel group + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the channel group + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique identifier naming the channel group + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _V2ChannelGroupState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + egress_domain: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering V2ChannelGroup resources. + :param pulumi.Input[str] arn: The ARN of the channel + :param pulumi.Input[str] description: A description of the channel group + :param pulumi.Input[str] egress_domain: The egress domain of the channel group + :param pulumi.Input[str] name: A unique identifier naming the channel group + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if description is not None: + pulumi.set(__self__, "description", description) + if egress_domain is not None: + pulumi.set(__self__, "egress_domain", egress_domain) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the channel + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the channel group + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="egressDomain") + def egress_domain(self) -> Optional[pulumi.Input[str]]: + """ + The egress domain of the channel group + """ + return pulumi.get(self, "egress_domain") + + @egress_domain.setter + def egress_domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "egress_domain", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A unique identifier naming the channel group + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class V2ChannelGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Creates an AWS Elemental MediaPackage Version 2 Channel Group. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.mediapackage.V2ChannelGroup("example", + name="example", + description="channel group for example channels") + ``` + + ## Import + + Using `pulumi import`, import Elemental MediaPackage Version 2 Channel Group using the channel group's `name`. For example: + + ```sh + $ pulumi import aws:mediapackage/v2ChannelGroup:V2ChannelGroup example example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description of the channel group + :param pulumi.Input[str] name: A unique identifier naming the channel group + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[V2ChannelGroupArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Creates an AWS Elemental MediaPackage Version 2 Channel Group. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.mediapackage.V2ChannelGroup("example", + name="example", + description="channel group for example channels") + ``` + + ## Import + + Using `pulumi import`, import Elemental MediaPackage Version 2 Channel Group using the channel group's `name`. For example: + + ```sh + $ pulumi import aws:mediapackage/v2ChannelGroup:V2ChannelGroup example example + ``` + + :param str resource_name: The name of the resource. + :param V2ChannelGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(V2ChannelGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = V2ChannelGroupArgs.__new__(V2ChannelGroupArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["egress_domain"] = None + __props__.__dict__["tags_all"] = None + super(V2ChannelGroup, __self__).__init__( + 'aws:mediapackage/v2ChannelGroup:V2ChannelGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + egress_domain: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'V2ChannelGroup': + """ + Get an existing V2ChannelGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The ARN of the channel + :param pulumi.Input[str] description: A description of the channel group + :param pulumi.Input[str] egress_domain: The egress domain of the channel group + :param pulumi.Input[str] name: A unique identifier naming the channel group + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _V2ChannelGroupState.__new__(_V2ChannelGroupState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["description"] = description + __props__.__dict__["egress_domain"] = egress_domain + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return V2ChannelGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the channel + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A description of the channel group + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="egressDomain") + def egress_domain(self) -> pulumi.Output[str]: + """ + The egress domain of the channel group + """ + return pulumi.get(self, "egress_domain") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A unique identifier naming the channel group + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/route53/health_check.py b/sdk/python/pulumi_aws/route53/health_check.py index 78620832f2c..89d4b65aaf7 100644 --- a/sdk/python/pulumi_aws/route53/health_check.py +++ b/sdk/python/pulumi_aws/route53/health_check.py @@ -39,16 +39,17 @@ def __init__(__self__, *, resource_path: Optional[pulumi.Input[str]] = None, routing_control_arn: Optional[pulumi.Input[str]] = None, search_string: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a HealthCheck resource. :param pulumi.Input[str] type: The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. :param pulumi.Input[int] child_health_threshold: The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive :param pulumi.Input[Sequence[pulumi.Input[str]]] child_healthchecks: For a specified parent health check, a list of HealthCheckId values for the associated child health checks. :param pulumi.Input[str] cloudwatch_alarm_name: The name of the CloudWatch alarm. - :param pulumi.Input[str] cloudwatch_alarm_region: The CloudWatchRegion that the CloudWatch alarm was created in. + :param pulumi.Input[str] cloudwatch_alarm_region: The region that the CloudWatch alarm was created in. :param pulumi.Input[bool] disabled: A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. @@ -69,6 +70,7 @@ def __init__(__self__, *, :param pulumi.Input[str] routing_control_arn: The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control. This is used when health check type is `RECOVERY_CONTROL` :param pulumi.Input[str] search_string: String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with `HTTP_STR_MATCH` and `HTTPS_STR_MATCH`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the health check. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. """ pulumi.set(__self__, "type", type) if child_health_threshold is not None: @@ -111,6 +113,8 @@ def __init__(__self__, *, pulumi.set(__self__, "search_string", search_string) if tags is not None: pulumi.set(__self__, "tags", tags) + if triggers is not None: + pulumi.set(__self__, "triggers", triggers) @property @pulumi.getter @@ -164,7 +168,7 @@ def cloudwatch_alarm_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="cloudwatchAlarmRegion") def cloudwatch_alarm_region(self) -> Optional[pulumi.Input[str]]: """ - The CloudWatchRegion that the CloudWatch alarm was created in. + The region that the CloudWatch alarm was created in. """ return pulumi.get(self, "cloudwatch_alarm_region") @@ -177,7 +181,7 @@ def cloudwatch_alarm_region(self, value: Optional[pulumi.Input[str]]): def disabled(self) -> Optional[pulumi.Input[bool]]: """ A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. @@ -370,6 +374,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter + def triggers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + """ + return pulumi.get(self, "triggers") + + @triggers.setter + def triggers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "triggers", value) + @pulumi.input_type class _HealthCheckState: @@ -396,6 +412,7 @@ def __init__(__self__, *, search_string: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering HealthCheck resources. @@ -403,9 +420,9 @@ def __init__(__self__, *, :param pulumi.Input[int] child_health_threshold: The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive :param pulumi.Input[Sequence[pulumi.Input[str]]] child_healthchecks: For a specified parent health check, a list of HealthCheckId values for the associated child health checks. :param pulumi.Input[str] cloudwatch_alarm_name: The name of the CloudWatch alarm. - :param pulumi.Input[str] cloudwatch_alarm_region: The CloudWatchRegion that the CloudWatch alarm was created in. + :param pulumi.Input[str] cloudwatch_alarm_region: The region that the CloudWatch alarm was created in. :param pulumi.Input[bool] disabled: A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. @@ -427,6 +444,7 @@ def __init__(__self__, *, :param pulumi.Input[str] search_string: String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with `HTTP_STR_MATCH` and `HTTPS_STR_MATCH`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the health check. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. :param pulumi.Input[str] type: The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. """ if arn is not None: @@ -476,6 +494,8 @@ def __init__(__self__, *, pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") if tags_all is not None: pulumi.set(__self__, "tags_all", tags_all) + if triggers is not None: + pulumi.set(__self__, "triggers", triggers) if type is not None: pulumi.set(__self__, "type", type) @@ -531,7 +551,7 @@ def cloudwatch_alarm_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="cloudwatchAlarmRegion") def cloudwatch_alarm_region(self) -> Optional[pulumi.Input[str]]: """ - The CloudWatchRegion that the CloudWatch alarm was created in. + The region that the CloudWatch alarm was created in. """ return pulumi.get(self, "cloudwatch_alarm_region") @@ -544,7 +564,7 @@ def cloudwatch_alarm_region(self, value: Optional[pulumi.Input[str]]): def disabled(self) -> Optional[pulumi.Input[bool]]: """ A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. @@ -750,6 +770,18 @@ def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags_all", value) + @property + @pulumi.getter + def triggers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + """ + return pulumi.get(self, "triggers") + + @triggers.setter + def triggers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "triggers", value) + @property @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: @@ -788,6 +820,7 @@ def __init__(__self__, routing_control_arn: Optional[pulumi.Input[str]] = None, search_string: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -867,6 +900,35 @@ def __init__(__self__, insufficient_data_health_status="Healthy") ``` + ### CloudWatch Alarm Check With Triggers + + The `triggers` argument allows the Route53 health check to be synchronized when a change to the upstream CloudWatch alarm is made. + In the configuration below, the health check will be synchronized any time the `threshold` of the alarm is changed. + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.cloudwatch.MetricAlarm("example", + name="example", + comparison_operator="GreaterThanOrEqualToThreshold", + evaluation_periods=2, + metric_name="CPUUtilization", + namespace="AWS/EC2", + period=120, + statistic="Average", + threshold=80, + alarm_description="This metric monitors ec2 cpu utilization") + example_health_check = aws.route53.HealthCheck("example", + type="CLOUDWATCH_METRIC", + cloudwatch_alarm_name=example.name, + cloudwatch_alarm_region="us-west-2", + insufficient_data_health_status="Healthy", + triggers={ + "threshold": example.threshold, + }) + ``` + ## Import Using `pulumi import`, import Route53 Health Checks using the health check `id`. For example: @@ -880,9 +942,9 @@ def __init__(__self__, :param pulumi.Input[int] child_health_threshold: The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive :param pulumi.Input[Sequence[pulumi.Input[str]]] child_healthchecks: For a specified parent health check, a list of HealthCheckId values for the associated child health checks. :param pulumi.Input[str] cloudwatch_alarm_name: The name of the CloudWatch alarm. - :param pulumi.Input[str] cloudwatch_alarm_region: The CloudWatchRegion that the CloudWatch alarm was created in. + :param pulumi.Input[str] cloudwatch_alarm_region: The region that the CloudWatch alarm was created in. :param pulumi.Input[bool] disabled: A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. @@ -903,6 +965,7 @@ def __init__(__self__, :param pulumi.Input[str] routing_control_arn: The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control. This is used when health check type is `RECOVERY_CONTROL` :param pulumi.Input[str] search_string: String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with `HTTP_STR_MATCH` and `HTTPS_STR_MATCH`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the health check. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. :param pulumi.Input[str] type: The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. """ ... @@ -988,6 +1051,35 @@ def __init__(__self__, insufficient_data_health_status="Healthy") ``` + ### CloudWatch Alarm Check With Triggers + + The `triggers` argument allows the Route53 health check to be synchronized when a change to the upstream CloudWatch alarm is made. + In the configuration below, the health check will be synchronized any time the `threshold` of the alarm is changed. + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.cloudwatch.MetricAlarm("example", + name="example", + comparison_operator="GreaterThanOrEqualToThreshold", + evaluation_periods=2, + metric_name="CPUUtilization", + namespace="AWS/EC2", + period=120, + statistic="Average", + threshold=80, + alarm_description="This metric monitors ec2 cpu utilization") + example_health_check = aws.route53.HealthCheck("example", + type="CLOUDWATCH_METRIC", + cloudwatch_alarm_name=example.name, + cloudwatch_alarm_region="us-west-2", + insufficient_data_health_status="Healthy", + triggers={ + "threshold": example.threshold, + }) + ``` + ## Import Using `pulumi import`, import Route53 Health Checks using the health check `id`. For example: @@ -1031,6 +1123,7 @@ def _internal_init(__self__, routing_control_arn: Optional[pulumi.Input[str]] = None, search_string: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1061,6 +1154,7 @@ def _internal_init(__self__, __props__.__dict__["routing_control_arn"] = routing_control_arn __props__.__dict__["search_string"] = search_string __props__.__dict__["tags"] = tags + __props__.__dict__["triggers"] = triggers if type is None and not opts.urn: raise TypeError("Missing required property 'type'") __props__.__dict__["type"] = type @@ -1098,6 +1192,7 @@ def get(resource_name: str, search_string: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None) -> 'HealthCheck': """ Get an existing HealthCheck resource's state with the given name, id, and optional extra @@ -1110,9 +1205,9 @@ def get(resource_name: str, :param pulumi.Input[int] child_health_threshold: The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive :param pulumi.Input[Sequence[pulumi.Input[str]]] child_healthchecks: For a specified parent health check, a list of HealthCheckId values for the associated child health checks. :param pulumi.Input[str] cloudwatch_alarm_name: The name of the CloudWatch alarm. - :param pulumi.Input[str] cloudwatch_alarm_region: The CloudWatchRegion that the CloudWatch alarm was created in. + :param pulumi.Input[str] cloudwatch_alarm_region: The region that the CloudWatch alarm was created in. :param pulumi.Input[bool] disabled: A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. @@ -1134,6 +1229,7 @@ def get(resource_name: str, :param pulumi.Input[str] search_string: String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with `HTTP_STR_MATCH` and `HTTPS_STR_MATCH`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the health check. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. :param pulumi.Input[str] type: The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1162,6 +1258,7 @@ def get(resource_name: str, __props__.__dict__["search_string"] = search_string __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["triggers"] = triggers __props__.__dict__["type"] = type return HealthCheck(resource_name, opts=opts, __props__=__props__) @@ -1201,7 +1298,7 @@ def cloudwatch_alarm_name(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="cloudwatchAlarmRegion") def cloudwatch_alarm_region(self) -> pulumi.Output[Optional[str]]: """ - The CloudWatchRegion that the CloudWatch alarm was created in. + The region that the CloudWatch alarm was created in. """ return pulumi.get(self, "cloudwatch_alarm_region") @@ -1210,7 +1307,7 @@ def cloudwatch_alarm_region(self) -> pulumi.Output[Optional[str]]: def disabled(self) -> pulumi.Output[Optional[bool]]: """ A boolean value that stops Route 53 from performing health checks. When set to true, Route 53 will do the following depending on the type of health check: - * For health checks that check the health of endpoints, Route5 53 stops submitting requests to your application, server, or other resource. + * For health checks that check the health of endpoints, Route53 stops submitting requests to your application, server, or other resource. * For calculated health checks, Route 53 stops aggregating the status of the referenced health checks. * For health checks that monitor CloudWatch alarms, Route 53 stops monitoring the corresponding CloudWatch metrics. @@ -1348,6 +1445,14 @@ def tags_all(self) -> pulumi.Output[Mapping[str, str]]: """ return pulumi.get(self, "tags_all") + @property + @pulumi.getter + def triggers(self) -> pulumi.Output[Mapping[str, str]]: + """ + Map of arbitrary keys and values that, when changed, will trigger an in-place update of the CloudWatch alarm arguments. Use this argument to synchronize the health check when an alarm is changed. See example above. + """ + return pulumi.get(self, "triggers") + @property @pulumi.getter def type(self) -> pulumi.Output[str]: