diff --git a/.docs.version b/.docs.version index d23c5e42d8..4488a0dcad 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -e85b52d7ef350840f279cc004f4b97f62cb4c71c +b957155700147a6e0595415b618e75a3377d0b0d diff --git a/aws-cloudformation-schema/aws-appsync-graphqlapi.json b/aws-cloudformation-schema/aws-appsync-graphqlapi.json index 6e95260a49..bef0062563 100644 --- a/aws-cloudformation-schema/aws-appsync-graphqlapi.json +++ b/aws-cloudformation-schema/aws-appsync-graphqlapi.json @@ -3,91 +3,119 @@ "description" : "Resource Type definition for AWS::AppSync::GraphQLApi", "additionalProperties" : false, "properties" : { - "OpenIDConnectConfig" : { - "$ref" : "#/definitions/OpenIDConnectConfig" + "AdditionalAuthenticationProviders" : { + "type" : "array", + "description" : "A list of additional authentication providers for the GraphqlApi API.", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/AdditionalAuthenticationProvider" + } }, - "MergedApiExecutionRoleArn" : { + "ApiId" : { + "description" : "Unique AWS AppSync GraphQL API identifier.", "type" : "string" }, - "EnhancedMetricsConfig" : { - "$ref" : "#/definitions/EnhancedMetricsConfig" - }, - "RealtimeDns" : { + "ApiType" : { + "description" : "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED).", "type" : "string" }, - "Name" : { + "Arn" : { + "description" : "The Amazon Resource Name (ARN) of the API key", "type" : "string" }, - "GraphQLUrl" : { + "AuthenticationType" : { + "description" : "Security configuration for your GraphQL API", "type" : "string" }, + "EnhancedMetricsConfig" : { + "description" : "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent.", + "$ref" : "#/definitions/EnhancedMetricsConfig" + }, "EnvironmentVariables" : { - "type" : "object" + "description" : "A map containing the list of resources with their properties and environment variables.", + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + "^[A-Za-z]+\\w*$" : { + "type" : "string" + } + } }, "GraphQLDns" : { + "description" : "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API.", "type" : "string" }, - "ApiType" : { + "GraphQLEndpointArn" : { + "description" : "The GraphQL endpoint ARN.", + "type" : "string" + }, + "GraphQLUrl" : { + "description" : "The Endpoint URL of your GraphQL API.", + "type" : "string" + }, + "IntrospectionConfig" : { + "description" : "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.", "type" : "string" }, "LambdaAuthorizerConfig" : { + "description" : "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.", "$ref" : "#/definitions/LambdaAuthorizerConfig" }, - "Tags" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Tag" - } + "LogConfig" : { + "description" : "The Amazon CloudWatch Logs configuration.", + "$ref" : "#/definitions/LogConfig" }, - "GraphQLEndpointArn" : { + "MergedApiExecutionRoleArn" : { + "description" : "The AWS Identity and Access Management service role ARN for a merged API. ", "type" : "string" }, - "AuthenticationType" : { + "Name" : { + "description" : "The API name", + "type" : "string" + }, + "OpenIDConnectConfig" : { + "description" : "The OpenID Connect configuration.", + "$ref" : "#/definitions/OpenIDConnectConfig" + }, + "OwnerContact" : { + "description" : "The owner contact information for an API resource.", "type" : "string" }, "QueryDepthLimit" : { + "description" : "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query.", "type" : "integer" }, - "IntrospectionConfig" : { + "RealtimeDns" : { + "description" : "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API.", "type" : "string" }, - "OwnerContact" : { + "RealtimeUrl" : { + "description" : "The GraphQL API real-time endpoint URL.", "type" : "string" }, "ResolverCountLimit" : { + "description" : "The maximum number of resolvers that can be invoked in a single request.", "type" : "integer" }, - "AdditionalAuthenticationProviders" : { + "Tags" : { + "description" : "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n", "type" : "array", - "uniqueItems" : false, + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/AdditionalAuthenticationProvider" + "$ref" : "#/definitions/Tag" } }, - "RealtimeUrl" : { - "type" : "string" - }, - "XrayEnabled" : { - "type" : "boolean" - }, - "Visibility" : { - "type" : "string" - }, - "Id" : { - "type" : "string" - }, - "Arn" : { - "type" : "string" - }, "UserPoolConfig" : { + "description" : "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n", "$ref" : "#/definitions/UserPoolConfig" }, - "ApiId" : { + "Visibility" : { + "description" : "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided.", "type" : "string" }, - "LogConfig" : { - "$ref" : "#/definitions/LogConfig" + "XrayEnabled" : { + "description" : "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n", + "type" : "boolean" } }, "definitions" : { @@ -96,15 +124,19 @@ "additionalProperties" : false, "properties" : { "ClientId" : { + "description" : "The client identifier of the Relying party at the OpenID identity provider.", "type" : "string" }, "AuthTTL" : { + "description" : "The number of milliseconds that a token is valid after being authenticated.", "type" : "number" }, "Issuer" : { + "description" : "The issuer for the OIDC configuration. ", "type" : "string" }, "IatTTL" : { + "description" : "The number of milliseconds that a token is valid after it's issued to a user.\n\n", "type" : "number" } } @@ -114,12 +146,15 @@ "additionalProperties" : false, "properties" : { "OperationLevelMetricsConfig" : { + "description" : "Controls how operation metrics will be emitted to CloudWatch. Operation metrics include:\n\n", "type" : "string" }, "ResolverLevelMetricsBehavior" : { + "description" : "Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include:\n\n", "type" : "string" }, "DataSourceLevelMetricsBehavior" : { + "description" : "Controls how data source metrics will be emitted to CloudWatch. Data source metrics include:\n\n", "type" : "string" } }, @@ -130,12 +165,15 @@ "additionalProperties" : false, "properties" : { "AppIdClientRegex" : { + "description" : "A regular expression for validating the incoming Amazon Cognito user pool app client ID. ", "type" : "string" }, "UserPoolId" : { + "description" : "The user pool ID", "type" : "string" }, "AwsRegion" : { + "description" : "The AWS Region in which the user pool was created.", "type" : "string" } } @@ -145,13 +183,16 @@ "additionalProperties" : false, "properties" : { "IdentityValidationExpression" : { + "description" : "A regular expression for validation of tokens before the Lambda function is called.", "type" : "string" }, "AuthorizerUri" : { + "description" : "The ARN of the Lambda function to be called for authorization.", "type" : "string" }, "AuthorizerResultTtlInSeconds" : { - "type" : "number" + "description" : "The number of seconds a response should be cached for.", + "type" : "integer" } } }, @@ -173,15 +214,19 @@ "additionalProperties" : false, "properties" : { "AppIdClientRegex" : { + "description" : "A regular expression for validating the incoming Amazon Cognito user pool app client ID.", "type" : "string" }, "UserPoolId" : { + "description" : "The user pool ID.", "type" : "string" }, "AwsRegion" : { + "description" : "The AWS Region in which the user pool was created.", "type" : "string" }, "DefaultAction" : { + "description" : "The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration.", "type" : "string" } } @@ -200,6 +245,7 @@ "$ref" : "#/definitions/CognitoUserPoolConfig" }, "AuthenticationType" : { + "description" : "The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda.", "type" : "string" } }, @@ -210,18 +256,46 @@ "additionalProperties" : false, "properties" : { "ExcludeVerboseContent" : { + "description" : "Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.", "type" : "boolean" }, "FieldLogLevel" : { + "description" : "The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.", "type" : "string" }, "CloudWatchLogsRoleArn" : { + "description" : "The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account.", "type" : "string" } } } }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "appsync:TagResource", "appsync:UntagResource", "appsync:ListTagsForResource" ] + }, "required" : [ "Name", "AuthenticationType" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/ApiId", "/properties/GraphQLEndpointArn", "/properties/Id", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", "/properties/RealtimeUrl", "/properties/Arn" ] + "primaryIdentifier" : [ "/properties/ApiId" ], + "readOnlyProperties" : [ "/properties/ApiId", "/properties/Arn", "/properties/GraphQLEndpointArn", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", "/properties/RealtimeUrl" ], + "handlers" : { + "create" : { + "permissions" : [ "appsync:CreateGraphqlApi", "appsync:TagResource" ] + }, + "read" : { + "permissions" : [ "appsync:GetGraphqlApi", "appsync:GetGraphqlApiEnvironmentVariables", "appsync:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "appsync:GetGraphqlApi", "appsync:UpdateGraphqlApi", "appsync:TagResource", "appsync:UntagResource" ] + }, + "delete" : { + "permissions" : [ "appsync:DeleteGraphqlApi" ] + }, + "list" : { + "permissions" : [ "appsync:ListGraphqlApis" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-bedrock-agent.json b/aws-cloudformation-schema/aws-bedrock-agent.json index 9c9a2481c0..80660044f0 100644 --- a/aws-cloudformation-schema/aws-bedrock-agent.json +++ b/aws-cloudformation-schema/aws-bedrock-agent.json @@ -57,7 +57,7 @@ "ActionGroupSignature" : { "type" : "string", "description" : "Action Group Signature for a BuiltIn Action", - "enum" : [ "AMAZON.UserInput" ] + "enum" : [ "AMAZON.UserInput", "AMAZON.CodeInterpreter" ] }, "ActionGroupState" : { "type" : "string", @@ -459,7 +459,7 @@ "type" : "string", "maxLength" : 2048, "minLength" : 1, - "pattern" : "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", + "pattern" : "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$", "description" : "ARN or name of a Bedrock model." }, "GuardrailConfiguration" : { diff --git a/aws-cloudformation-schema/aws-connect-hoursofoperation.json b/aws-cloudformation-schema/aws-connect-hoursofoperation.json index 48f8b74f4c..61a1f29868 100644 --- a/aws-cloudformation-schema/aws-connect-hoursofoperation.json +++ b/aws-cloudformation-schema/aws-connect-hoursofoperation.json @@ -16,7 +16,7 @@ "permissions" : [ "connect:CreateHoursOfOperation", "connect:TagResource", "connect:CreateHoursOfOperationOverride" ] }, "update" : { - "permissions" : [ "connect:UpdateHoursOfOperation", "connect:CreateHoursOfOperationOverride", "connect:UpdateHoursOfOperationOverride", "connect:DeleteHoursOfOperationOverride", "connect:TagResource", "connect:UntagResource" ] + "permissions" : [ "connect:UpdateHoursOfOperation", "connect:CreateHoursOfOperationOverride", "connect:UpdateHoursOfOperationOverride", "connect:DeleteHoursOfOperationOverride", "connect:ListHoursOfOperationOverrides", "connect:TagResource", "connect:UntagResource" ] }, "list" : { "permissions" : [ "connect:ListHoursOfOperations" ], diff --git a/aws-cloudformation-schema/aws-devopsguru-notificationchannel.json b/aws-cloudformation-schema/aws-devopsguru-notificationchannel.json index 0406173408..abf44d8d15 100644 --- a/aws-cloudformation-schema/aws-devopsguru-notificationchannel.json +++ b/aws-cloudformation-schema/aws-devopsguru-notificationchannel.json @@ -86,6 +86,9 @@ } }, "additionalProperties" : false, + "tagging" : { + "taggable" : false + }, "required" : [ "Config" ], "createOnlyProperties" : [ "/properties/Config" ], "readOnlyProperties" : [ "/properties/Id" ], diff --git a/aws-cloudformation-schema/aws-ec2-networkinsightsaccessscope.json b/aws-cloudformation-schema/aws-ec2-networkinsightsaccessscope.json index de6caaa2ec..53ebd727ec 100644 --- a/aws-cloudformation-schema/aws-ec2-networkinsightsaccessscope.json +++ b/aws-cloudformation-schema/aws-ec2-networkinsightsaccessscope.json @@ -172,6 +172,14 @@ } }, "additionalProperties" : false, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "ec2:CreateTags", "ec2:DeleteTags" ] + }, "readOnlyProperties" : [ "/properties/NetworkInsightsAccessScopeId", "/properties/NetworkInsightsAccessScopeArn", "/properties/CreatedDate", "/properties/UpdatedDate" ], "createOnlyProperties" : [ "/properties/MatchPaths", "/properties/ExcludePaths" ], "writeOnlyProperties" : [ "/properties/MatchPaths", "/properties/ExcludePaths" ], diff --git a/aws-cloudformation-schema/aws-ec2-networkinsightspath.json b/aws-cloudformation-schema/aws-ec2-networkinsightspath.json index dc2d91acef..c148fea178 100644 --- a/aws-cloudformation-schema/aws-ec2-networkinsightspath.json +++ b/aws-cloudformation-schema/aws-ec2-networkinsightspath.json @@ -113,6 +113,14 @@ } }, "additionalProperties" : false, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "ec2:CreateTags", "ec2:DeleteTags" ] + }, "required" : [ "Protocol", "Source" ], "readOnlyProperties" : [ "/properties/NetworkInsightsPathId", "/properties/NetworkInsightsPathArn", "/properties/CreatedDate", "/properties/SourceArn", "/properties/DestinationArn" ], "primaryIdentifier" : [ "/properties/NetworkInsightsPathId" ], diff --git a/aws-cloudformation-schema/aws-ec2-volume.json b/aws-cloudformation-schema/aws-ec2-volume.json index 2470d897ca..cdfe2aea7a 100644 --- a/aws-cloudformation-schema/aws-ec2-volume.json +++ b/aws-cloudformation-schema/aws-ec2-volume.json @@ -90,7 +90,8 @@ }, "handlers" : { "create" : { - "permissions" : [ "ec2:CreateVolume", "ec2:DescribeVolumes", "ec2:DescribeVolumeAttribute", "ec2:ModifyVolumeAttribute", "ec2:CreateTags", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant" ] + "permissions" : [ "ec2:CreateVolume", "ec2:DescribeVolumes", "ec2:DescribeVolumeAttribute", "ec2:ModifyVolumeAttribute", "ec2:CreateTags", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant" ], + "timeoutInMinutes" : 725 }, "read" : { "permissions" : [ "ec2:DescribeVolumes", "ec2:DescribeVolumeAttribute", "ec2:DescribeTags" ] diff --git a/aws-cloudformation-schema/aws-ec2-vpnconnection.json b/aws-cloudformation-schema/aws-ec2-vpnconnection.json index e71a132c1f..80aa73d19a 100644 --- a/aws-cloudformation-schema/aws-ec2-vpnconnection.json +++ b/aws-cloudformation-schema/aws-ec2-vpnconnection.json @@ -33,61 +33,68 @@ "primaryIdentifier" : [ "/properties/VpnConnectionId" ], "definitions" : { "CloudwatchLogOptionsSpecification" : { - "description" : "", + "description" : "Options for sending VPN tunnel logs to CloudWatch.", "additionalProperties" : false, "type" : "object", "properties" : { "LogEnabled" : { + "description" : "Enable or disable VPN tunnel logging feature. Default value is ``False``.\n Valid values: ``True`` | ``False``", "type" : "boolean" }, "LogOutputFormat" : { + "description" : "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``", "type" : "string", "enum" : [ "json", "text" ] }, "LogGroupArn" : { + "description" : "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.", "type" : "string" } } }, "Phase1IntegrityAlgorithmsRequestListValue" : { - "description" : "", + "description" : "Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.", "additionalProperties" : false, "type" : "object", "properties" : { "Value" : { + "description" : "The value for the integrity algorithm.", "type" : "string", "enum" : [ "SHA1", "SHA2-256", "SHA2-384", "SHA2-512" ] } } }, "Phase2EncryptionAlgorithmsRequestListValue" : { - "description" : "", + "description" : "Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.", "additionalProperties" : false, "type" : "object", "properties" : { "Value" : { + "description" : "The encryption algorithm.", "type" : "string", "enum" : [ "AES128", "AES256", "AES128-GCM-16", "AES256-GCM-16" ] } } }, "Phase2IntegrityAlgorithmsRequestListValue" : { - "description" : "", + "description" : "Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.", "additionalProperties" : false, "type" : "object", "properties" : { "Value" : { + "description" : "The integrity algorithm.", "type" : "string", "enum" : [ "SHA1", "SHA2-256", "SHA2-384", "SHA2-512" ] } } }, "Phase1DHGroupNumbersRequestListValue" : { - "description" : "", + "description" : "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.", "additionalProperties" : false, "type" : "object", "properties" : { "Value" : { + "description" : "The Diffie-Hellmann group number.", "type" : "integer", "enum" : [ 2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 ] } @@ -100,7 +107,7 @@ "properties" : { "Phase2EncryptionAlgorithms" : { "uniqueItems" : false, - "description" : "", + "description" : "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``", "insertionOrder" : false, "type" : "array", "items" : { @@ -109,7 +116,7 @@ }, "Phase2DHGroupNumbers" : { "uniqueItems" : false, - "description" : "", + "description" : "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``", "insertionOrder" : false, "type" : "array", "items" : { @@ -117,11 +124,11 @@ } }, "TunnelInsideIpv6Cidr" : { - "description" : "", + "description" : "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n Constraints: A size /126 CIDR block from the local ``fd00::/8`` range.", "type" : "string" }, "StartupAction" : { - "description" : "", + "description" : "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``", "type" : "string", "enum" : [ "add", "start" ] }, @@ -131,7 +138,7 @@ }, "IKEVersions" : { "uniqueItems" : false, - "description" : "", + "description" : "The IKE versions that are permitted for the VPN tunnel.\n Valid values: ``ikev1`` | ``ikev2``", "insertionOrder" : false, "type" : "array", "items" : { @@ -139,12 +146,12 @@ } }, "LogOptions" : { - "description" : "", + "description" : "Options for logging VPN tunnel activity.", "$ref" : "#/definitions/VpnTunnelLogOptionsSpecification" }, "Phase1DHGroupNumbers" : { "uniqueItems" : false, - "description" : "", + "description" : "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``", "insertionOrder" : false, "type" : "array", "items" : { @@ -152,34 +159,34 @@ } }, "ReplayWindowSize" : { - "description" : "", + "description" : "The number of packets in an IKE replay window.\n Constraints: A value between 64 and 2048.\n Default: ``1024``", "maximum" : 2048, "type" : "integer", "minimum" : 64 }, "EnableTunnelLifecycleControl" : { - "description" : "", + "description" : "Turn on or off tunnel endpoint lifecycle control feature.", "type" : "boolean" }, "RekeyMarginTimeSeconds" : { - "description" : "", + "description" : "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``.\n Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``.\n Default: ``270``", "type" : "integer", "minimum" : 60 }, "DPDTimeoutAction" : { - "description" : "", + "description" : "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``", "type" : "string", "enum" : [ "clear", "none", "restart" ] }, "Phase2LifetimeSeconds" : { - "description" : "", + "description" : "The lifetime for phase 2 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``.\n Default: ``3600``", "maximum" : 3600, "type" : "integer", "minimum" : 900 }, "Phase2IntegrityAlgorithms" : { "uniqueItems" : false, - "description" : "", + "description" : "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``", "insertionOrder" : false, "type" : "array", "items" : { @@ -188,7 +195,7 @@ }, "Phase1IntegrityAlgorithms" : { "uniqueItems" : false, - "description" : "", + "description" : "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``", "insertionOrder" : false, "type" : "array", "items" : { @@ -200,20 +207,20 @@ "type" : "string" }, "Phase1LifetimeSeconds" : { - "description" : "", + "description" : "The lifetime for phase 1 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 28,800.\n Default: ``28800``", "maximum" : 28800, "type" : "integer", "minimum" : 900 }, "RekeyFuzzPercentage" : { - "description" : "", + "description" : "The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected.\n Constraints: A value between 0 and 100.\n Default: ``100``", "maximum" : 100, "type" : "integer", "minimum" : 0 }, "Phase1EncryptionAlgorithms" : { "uniqueItems" : false, - "description" : "", + "description" : "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``", "insertionOrder" : false, "type" : "array", "items" : { @@ -221,29 +228,31 @@ } }, "DPDTimeoutSeconds" : { - "description" : "", + "description" : "The number of seconds after which a DPD timeout occurs.\n Constraints: A value greater than or equal to 30.\n Default: ``30``", "type" : "integer", "minimum" : 30 } } }, "Phase1EncryptionAlgorithmsRequestListValue" : { - "description" : "", + "description" : "Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.", "additionalProperties" : false, "type" : "object", "properties" : { "Value" : { + "description" : "The value for the encryption algorithm.", "type" : "string", "enum" : [ "AES128", "AES256", "AES128-GCM-16", "AES256-GCM-16" ] } } }, "IKEVersionsRequestListValue" : { - "description" : "", + "description" : "The IKE version that is permitted for the VPN tunnel.", "additionalProperties" : false, "type" : "object", "properties" : { "Value" : { + "description" : "The IKE version.", "type" : "string", "enum" : [ "ikev1", "ikev2" ] } @@ -266,21 +275,23 @@ "required" : [ "Value", "Key" ] }, "VpnTunnelLogOptionsSpecification" : { - "description" : "", + "description" : "Options for logging VPN tunnel activity.", "additionalProperties" : false, "type" : "object", "properties" : { "CloudwatchLogOptions" : { + "description" : "Options for sending VPN tunnel logs to CloudWatch.", "$ref" : "#/definitions/CloudwatchLogOptionsSpecification" } } }, "Phase2DHGroupNumbersRequestListValue" : { - "description" : "", + "description" : "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.", "additionalProperties" : false, "type" : "object", "properties" : { "Value" : { + "description" : "The Diffie-Hellmann group number.", "type" : "integer", "enum" : [ 2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 ] } diff --git a/aws-cloudformation-schema/aws-ecs-service.json b/aws-cloudformation-schema/aws-ecs-service.json index 618075de1b..63e308d7d0 100644 --- a/aws-cloudformation-schema/aws-ecs-service.json +++ b/aws-cloudformation-schema/aws-ecs-service.json @@ -1,10 +1,11 @@ { "tagging" : { + "permissions" : [ "ecs:TagResource", "ecs:UntagResource", "ecs:ListTagsForResource" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : true + "cloudFormationSystemTags" : false }, "propertyTransform" : { "/properties/Role" : "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" diff --git a/aws-cloudformation-schema/aws-omics-annotationstore.json b/aws-cloudformation-schema/aws-omics-annotationstore.json index 4b710e9059..b2cd796cea 100644 --- a/aws-cloudformation-schema/aws-omics-annotationstore.json +++ b/aws-cloudformation-schema/aws-omics-annotationstore.json @@ -186,7 +186,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : true + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "omics:TagResource", "omics:UntagResource", "omics:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-omics-referencestore.json b/aws-cloudformation-schema/aws-omics-referencestore.json index 51104927aa..9cafb68b6e 100644 --- a/aws-cloudformation-schema/aws-omics-referencestore.json +++ b/aws-cloudformation-schema/aws-omics-referencestore.json @@ -85,7 +85,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : false, - "cloudFormationSystemTags" : true + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "omics:TagResource", "omics:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-omics-rungroup.json b/aws-cloudformation-schema/aws-omics-rungroup.json index f55eb393b0..b1bc558013 100644 --- a/aws-cloudformation-schema/aws-omics-rungroup.json +++ b/aws-cloudformation-schema/aws-omics-rungroup.json @@ -69,7 +69,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "omics:TagResource", "omics:UntagResource", "omics:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-omics-sequencestore.json b/aws-cloudformation-schema/aws-omics-sequencestore.json index ba7e5ca450..eab3a3ff60 100644 --- a/aws-cloudformation-schema/aws-omics-sequencestore.json +++ b/aws-cloudformation-schema/aws-omics-sequencestore.json @@ -91,7 +91,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : false, - "cloudFormationSystemTags" : true + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "omics:TagResource", "omics:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-omics-variantstore.json b/aws-cloudformation-schema/aws-omics-variantstore.json index 17e17dba6f..bf7f68170d 100644 --- a/aws-cloudformation-schema/aws-omics-variantstore.json +++ b/aws-cloudformation-schema/aws-omics-variantstore.json @@ -108,7 +108,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "omics:TagResource", "omics:UntagResource", "omics:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-omics-workflow.json b/aws-cloudformation-schema/aws-omics-workflow.json index c21d0fe3a8..2ef0488ab3 100644 --- a/aws-cloudformation-schema/aws-omics-workflow.json +++ b/aws-cloudformation-schema/aws-omics-workflow.json @@ -139,7 +139,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "omics:TagResource", "omics:UntagResource", "omics:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-refactorspaces-environment.json b/aws-cloudformation-schema/aws-refactorspaces-environment.json index 2179f2f1a1..13183a823d 100644 --- a/aws-cloudformation-schema/aws-refactorspaces-environment.json +++ b/aws-cloudformation-schema/aws-refactorspaces-environment.json @@ -71,7 +71,6 @@ "description" : "Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair." } }, - "required" : [ "Name", "NetworkFabricType" ], "readOnlyProperties" : [ "/properties/EnvironmentIdentifier", "/properties/Arn", "/properties/TransitGatewayId" ], "writeOnlyProperties" : [ "/properties/Description", "/properties/Name", "/properties/NetworkFabricType" ], "createOnlyProperties" : [ "/properties/Description", "/properties/Name", "/properties/NetworkFabricType" ], @@ -84,6 +83,9 @@ "read" : { "permissions" : [ "refactor-spaces:GetEnvironment", "refactor-spaces:ListTagsForResource" ] }, + "update" : { + "permissions" : [ "refactor-spaces:GetEnvironment", "refactor-spaces:TagResource", "refactor-spaces:UntagResource" ] + }, "delete" : { "permissions" : [ "refactor-spaces:GetEnvironment", "refactor-spaces:DeleteEnvironment", "refactor-spaces:UntagResource", "ec2:DescribeTransitGateways", "ec2:DescribeTransitGatewayVpcAttachments", "ec2:DeleteTransitGateway", "ec2:DeleteTransitGatewayVpcAttachment", "ec2:DeleteTags", "ram:GetResourceShareAssociations", "ram:DeleteResourceShare" ] }, @@ -91,5 +93,12 @@ "permissions" : [ "refactor-spaces:ListEnvironments", "refactor-spaces:ListTagsForResource" ] } }, - "taggable" : true + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "refactor-spaces:TagResource", "refactor-spaces:ListTagsForResource", "refactor-spaces:UntagResource" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-route53-recordset.json b/aws-cloudformation-schema/aws-route53-recordset.json index f5a0d8eeb7..8b79548041 100644 --- a/aws-cloudformation-schema/aws-route53-recordset.json +++ b/aws-cloudformation-schema/aws-route53-recordset.json @@ -1,32 +1,124 @@ { + "tagging" : { + "taggable" : false + }, "typeName" : "AWS::Route53::RecordSet", - "description" : "Resource Type definition for AWS::Route53::RecordSet", + "description" : "Resource Type definition for AWS::Route53::RecordSet.", + "createOnlyProperties" : [ "/properties/HostedZoneName", "/properties/HostedZoneId" ], + "primaryIdentifier" : [ "/properties/Name", "/properties/HostedZoneId", "/properties/Type", "/properties/SetIdentifier" ], + "required" : [ "Type", "Name" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recordset", + "propertyTransform" : { + "/properties/Name" : "$lowercase($replace(Name, /(.*)\\.$/, \"$1\"))", + "/properties/AliasTarget/DNSName" : "$join([DNSName, \".\"])" + }, + "oneOf" : [ { + "required" : [ "HostedZoneId" ] + }, { + "required" : [ "HostedZoneName" ] + } ], + "handlers" : { + "read" : { + "permissions" : [ "route53:ListHostedZones", "route53:ListResourceRecordSets", "route53:GetHostedZone" ] + }, + "create" : { + "permissions" : [ "route53:ListHostedZones", "route53:GetChange", "route53:ChangeResourceRecordSets", "route53:ListResourceRecordSets", "route53:GetHostedZone" ] + }, + "update" : { + "permissions" : [ "route53:ListHostedZones", "route53:GetChange", "route53:ChangeResourceRecordSets", "route53:ListResourceRecordSets", "route53:GetHostedZone" ] + }, + "list" : { + "permissions" : [ "route53:ListHostedZones", "route53:ListResourceRecordSets", "route53:GetHostedZone" ], + "handlerSchema" : { + "oneOf" : [ { + "required" : [ "HostedZoneId" ] + }, { + "required" : [ "HostedZoneName" ] + } ], + "properties" : { + "HostedZoneName" : { + "$ref" : "resource-schema.json#/properties/HostedZoneName" + }, + "HostedZoneId" : { + "$ref" : "resource-schema.json#/properties/HostedZoneId" + } + } + } + }, + "delete" : { + "permissions" : [ "route53:ListHostedZones", "route53:GetChange", "route53:ChangeResourceRecordSets", "route53:ListResourceRecordSets", "route53:GetHostedZone" ] + } + }, + "writeOnlyProperties" : [ "/properties/Comment", "/properties/HostedZoneName" ], "additionalProperties" : false, - "properties" : { + "definitions" : { "HealthCheckId" : { - "type" : "string" - }, - "AliasTarget" : { - "$ref" : "#/definitions/AliasTarget" + "type" : "string", + "maxLength" : 64 }, "Comment" : { - "type" : "string" + "type" : "string", + "maxLength" : 256 + }, + "AliasTarget" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "HostedZoneId" : { + "description" : "The value used depends on where you want to route traffic.", + "$ref" : "#/definitions/HostedZoneId" + }, + "DNSName" : { + "description" : "The value that you specify depends on where you want to route queries.", + "type" : "string", + "maxLength" : 1024 + }, + "EvaluateTargetHealth" : { + "default" : false, + "description" : "When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.", + "type" : "boolean" + } + }, + "required" : [ "HostedZoneId", "DNSName" ] }, "HostedZoneName" : { - "type" : "string" + "type" : "string", + "maxLength" : 256 }, "ResourceRecords" : { + "uniqueItems" : true, + "insertionOrder" : true, "type" : "array", - "uniqueItems" : false, "items" : { - "type" : "string" + "type" : "string", + "maxLength" : 4000 } }, "HostedZoneId" : { - "type" : "string" + "type" : "string", + "maxLength" : 44 }, "SetIdentifier" : { - "type" : "string" + "minLength" : 0, + "type" : "string", + "maxLength" : 128 + }, + "Coordinates" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Latitude" : { + "pattern" : "[-+]?[0-9]{1,2}(\\.[0-9]{0,2})?", + "description" : "Specifies a coordinate of the north–south position of a geographic point on the surface of the Earth.", + "type" : "string" + }, + "Longitude" : { + "pattern" : "[-+]?[0-9]{1,3}(\\.[0-9]{0,2})?", + "description" : "Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth.", + "type" : "string" + } + }, + "required" : [ "Longitude", "Latitude" ] }, "TTL" : { "type" : "string" @@ -35,112 +127,170 @@ "type" : "integer" }, "Name" : { - "type" : "string" + "type" : "string", + "maxLength" : 1024 }, "Type" : { "type" : "string" }, - "CidrRoutingConfig" : { - "$ref" : "#/definitions/CidrRoutingConfig" - }, "Failover" : { - "type" : "string" - }, - "GeoProximityLocation" : { - "$ref" : "#/definitions/GeoProximityLocation" - }, - "Region" : { - "type" : "string" - }, - "GeoLocation" : { - "$ref" : "#/definitions/GeoLocation" - }, - "Id" : { - "type" : "string" - }, - "MultiValueAnswer" : { - "type" : "boolean" - } - }, - "definitions" : { - "AliasTarget" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "DNSName" : { - "type" : "string" - }, - "HostedZoneId" : { - "type" : "string" - }, - "EvaluateTargetHealth" : { - "type" : "boolean" - } - }, - "required" : [ "HostedZoneId", "DNSName" ] + "type" : "string", + "enum" : [ "PRIMARY", "SECONDARY" ] }, "CidrRoutingConfig" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "CollectionId" : { + "pattern" : "^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$", + "description" : "The CIDR collection ID.", "type" : "string" }, "LocationName" : { - "type" : "string" + "minLength" : 1, + "pattern" : "[0-9A-Za-z_\\-\\*]+", + "description" : "The CIDR collection location name.", + "type" : "string", + "maxLength" : 16 } }, "required" : [ "CollectionId", "LocationName" ] }, "GeoProximityLocation" : { - "type" : "object", + "oneOf" : [ { + "required" : [ "AWSRegion" ] + }, { + "required" : [ "LocalZoneGroup" ] + }, { + "required" : [ "Coordinates" ] + } ], "additionalProperties" : false, + "type" : "object", "properties" : { - "AWSRegion" : { - "type" : "string" - }, - "LocalZoneGroup" : { - "type" : "string" - }, "Bias" : { - "type" : "integer" + "description" : "The bias increases or decreases the size of the geographic region from which Route 53 routes traffic to a resource.", + "maximum" : 99, + "type" : "integer", + "minimum" : -99 }, "Coordinates" : { + "description" : "Contains the longitude and latitude for a geographic region.", "$ref" : "#/definitions/Coordinates" + }, + "AWSRegion" : { + "minLength" : 1, + "description" : "The AWS Region the resource you are directing DNS traffic to, is in.", + "type" : "string", + "maxLength" : 64 + }, + "LocalZoneGroup" : { + "minLength" : 1, + "description" : "Specifies an AWS Local Zone.", + "type" : "string", + "maxLength" : 64 } } }, - "Coordinates" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Longitude" : { - "type" : "string" - }, - "Latitude" : { - "type" : "string" - } - }, - "required" : [ "Latitude", "Longitude" ] + "Region" : { + "type" : "string" }, "GeoLocation" : { - "type" : "object", + "oneOf" : [ { + "required" : [ "ContinentCode" ] + }, { + "required" : [ "CountryCode" ] + } ], "additionalProperties" : false, + "type" : "object", "properties" : { "ContinentCode" : { - "type" : "string" + "minLength" : 2, + "description" : "For geolocation resource record sets, a two-letter abbreviation that identifies a continent.", + "type" : "string", + "maxLength" : 2 }, "CountryCode" : { - "type" : "string" + "minLength" : 1, + "description" : "For geolocation resource record sets, the two-letter code for a country.", + "type" : "string", + "maxLength" : 2 }, "SubdivisionCode" : { - "type" : "string" + "minLength" : 1, + "description" : "For geolocation resource record sets, the two-letter code for a state of the United States.", + "type" : "string", + "maxLength" : 3 } } + }, + "MultiValueAnswer" : { + "type" : "boolean" } }, - "required" : [ "Type", "Name" ], - "createOnlyProperties" : [ "/properties/HostedZoneName", "/properties/Name", "/properties/HostedZoneId" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "properties" : { + "HealthCheckId" : { + "description" : "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check.", + "$ref" : "#/definitions/HealthCheckId" + }, + "AliasTarget" : { + "description" : "Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.", + "$ref" : "#/definitions/AliasTarget" + }, + "Comment" : { + "description" : "Optional: Any comments you want to include about a change batch request.", + "$ref" : "#/definitions/Comment" + }, + "HostedZoneName" : { + "description" : "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName.", + "$ref" : "#/definitions/HostedZoneName" + }, + "ResourceRecords" : { + "description" : "One or more values that correspond with the value that you specified for the Type property.", + "$ref" : "#/definitions/ResourceRecords" + }, + "HostedZoneId" : { + "description" : "The ID of the hosted zone that you want to create records in.", + "$ref" : "#/definitions/HostedZoneId" + }, + "SetIdentifier" : { + "description" : "An identifier that differentiates among multiple resource record sets that have the same combination of name and type.", + "$ref" : "#/definitions/SetIdentifier" + }, + "TTL" : { + "description" : "The resource record cache time to live (TTL), in seconds.", + "$ref" : "#/definitions/TTL" + }, + "Weight" : { + "description" : "Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total.", + "$ref" : "#/definitions/Weight" + }, + "Name" : { + "description" : "The name of the record that you want to create, update, or delete.", + "$ref" : "#/definitions/Name" + }, + "Type" : { + "description" : "The DNS record type.", + "$ref" : "#/definitions/Type" + }, + "CidrRoutingConfig" : { + "description" : "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.", + "$ref" : "#/definitions/CidrRoutingConfig" + }, + "Failover" : { + "description" : "To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set.", + "$ref" : "#/definitions/Failover" + }, + "Region" : { + "description" : "The Amazon EC2 Region where you created the resource that this resource record set refers to.", + "$ref" : "#/definitions/Region" + }, + "GeoLocation" : { + "description" : "A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query.", + "$ref" : "#/definitions/GeoLocation" + }, + "MultiValueAnswer" : { + "description" : "To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer.", + "$ref" : "#/definitions/MultiValueAnswer" + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sagemaker-endpoint.json b/aws-cloudformation-schema/aws-sagemaker-endpoint.json index d1e2baf78c..f42623c2e0 100644 --- a/aws-cloudformation-schema/aws-sagemaker-endpoint.json +++ b/aws-cloudformation-schema/aws-sagemaker-endpoint.json @@ -3,155 +3,183 @@ "description" : "Resource Type definition for AWS::SageMaker::Endpoint", "additionalProperties" : false, "properties" : { - "RetainAllVariantProperties" : { - "type" : "boolean" + "DeploymentConfig" : { + "$ref" : "#/definitions/DeploymentConfig", + "description" : "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies." + }, + "EndpointArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the endpoint." + }, + "EndpointConfigName" : { + "type" : "string", + "description" : "The name of the endpoint configuration for the SageMaker endpoint. This is a required property." }, "EndpointName" : { - "type" : "string" + "type" : "string", + "description" : "The name of the SageMaker endpoint. This name must be unique within an AWS Region." }, "ExcludeRetainedVariantProperties" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/VariantProperty" - } - }, - "EndpointConfigName" : { - "type" : "string" - }, - "Id" : { - "type" : "string" + }, + "description" : "Specifies a list of variant properties that you want to exclude when updating an endpoint." }, - "DeploymentConfig" : { - "$ref" : "#/definitions/DeploymentConfig" + "RetainAllVariantProperties" : { + "type" : "boolean", + "description" : "When set to true, retains all variant properties for an endpoint when it is updated." }, "RetainDeploymentConfig" : { - "type" : "boolean" + "type" : "boolean", + "description" : "When set to true, retains the deployment configuration during endpoint updates." }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/Tag" - } + }, + "description" : "An array of key-value pairs to apply to this resource." } }, "definitions" : { - "CapacitySize" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Value" : { - "type" : "integer" - }, - "Type" : { - "type" : "string" - } - }, - "required" : [ "Type", "Value" ] - }, - "RollingUpdatePolicy" : { + "Alarm" : { "type" : "object", "additionalProperties" : false, "properties" : { - "MaximumExecutionTimeoutInSeconds" : { - "type" : "integer" - }, - "MaximumBatchSize" : { - "$ref" : "#/definitions/CapacitySize" - }, - "WaitIntervalInSeconds" : { - "type" : "integer" - }, - "RollbackMaximumBatchSize" : { - "$ref" : "#/definitions/CapacitySize" + "AlarmName" : { + "type" : "string", + "description" : "The name of the CloudWatch alarm." } }, - "required" : [ "MaximumBatchSize", "WaitIntervalInSeconds" ] + "required" : [ "AlarmName" ] }, - "Alarm" : { + "AutoRollbackConfig" : { "type" : "object", "additionalProperties" : false, "properties" : { - "AlarmName" : { - "type" : "string" + "Alarms" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/Alarm" + }, + "description" : "List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back." } }, - "required" : [ "AlarmName" ] + "required" : [ "Alarms" ] }, - "Tag" : { + "BlueGreenUpdatePolicy" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Value" : { - "type" : "string" + "MaximumExecutionTimeoutInSeconds" : { + "type" : "integer", + "description" : "The maximum time allowed for the blue/green update, in seconds." }, - "Key" : { - "type" : "string" + "TerminationWaitInSeconds" : { + "type" : "integer", + "description" : "The wait time before terminating the old endpoint during a blue/green deployment." + }, + "TrafficRoutingConfiguration" : { + "$ref" : "#/definitions/TrafficRoutingConfig", + "description" : "The traffic routing configuration for the blue/green deployment." } }, - "required" : [ "Value", "Key" ] + "required" : [ "TrafficRoutingConfiguration" ] }, - "AutoRollbackConfig" : { + "CapacitySize" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Alarms" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Alarm" - } + "Type" : { + "type" : "string", + "description" : "Specifies whether the `Value` is an instance count or a capacity unit." + }, + "Value" : { + "type" : "integer", + "description" : "The value representing either the number of instances or the number of capacity units." } }, - "required" : [ "Alarms" ] + "required" : [ "Type", "Value" ] }, "DeploymentConfig" : { "type" : "object", "additionalProperties" : false, "properties" : { "AutoRollbackConfiguration" : { - "$ref" : "#/definitions/AutoRollbackConfig" - }, - "RollingUpdatePolicy" : { - "$ref" : "#/definitions/RollingUpdatePolicy" + "$ref" : "#/definitions/AutoRollbackConfig", + "description" : "Configuration for automatic rollback if an error occurs during deployment." }, "BlueGreenUpdatePolicy" : { - "$ref" : "#/definitions/BlueGreenUpdatePolicy" + "$ref" : "#/definitions/BlueGreenUpdatePolicy", + "description" : "Configuration for blue-green update deployment policies." + }, + "RollingUpdatePolicy" : { + "$ref" : "#/definitions/RollingUpdatePolicy", + "description" : "Configuration for rolling update deployment policies." } } }, - "BlueGreenUpdatePolicy" : { + "RollingUpdatePolicy" : { "type" : "object", "additionalProperties" : false, "properties" : { + "MaximumBatchSize" : { + "$ref" : "#/definitions/CapacitySize", + "description" : "Specifies the maximum batch size for each rolling update." + }, "MaximumExecutionTimeoutInSeconds" : { - "type" : "integer" + "type" : "integer", + "description" : "The maximum time allowed for the rolling update, in seconds." }, - "TerminationWaitInSeconds" : { - "type" : "integer" + "RollbackMaximumBatchSize" : { + "$ref" : "#/definitions/CapacitySize", + "description" : "The maximum batch size for rollback during an update failure." }, - "TrafficRoutingConfiguration" : { - "$ref" : "#/definitions/TrafficRoutingConfig" + "WaitIntervalInSeconds" : { + "type" : "integer", + "description" : "The time to wait between steps during the rolling update, in seconds." } }, - "required" : [ "TrafficRoutingConfiguration" ] + "required" : [ "MaximumBatchSize", "WaitIntervalInSeconds" ] + }, + "Tag" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key of the tag." + }, + "Value" : { + "type" : "string", + "description" : "The value of the tag." + } + }, + "required" : [ "Value", "Key" ] }, "TrafficRoutingConfig" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Type" : { - "type" : "string" + "CanarySize" : { + "$ref" : "#/definitions/CapacitySize", + "description" : "Specifies the size of the canary traffic in a canary deployment." }, "LinearStepSize" : { - "$ref" : "#/definitions/CapacitySize" + "$ref" : "#/definitions/CapacitySize", + "description" : "Specifies the step size for linear traffic routing." }, - "CanarySize" : { - "$ref" : "#/definitions/CapacitySize" + "Type" : { + "type" : "string", + "description" : "Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear')." }, "WaitIntervalInSeconds" : { - "type" : "integer" + "type" : "integer", + "description" : "Specifies the wait interval between traffic shifts, in seconds." } }, "required" : [ "Type" ] @@ -161,13 +189,40 @@ "additionalProperties" : false, "properties" : { "VariantPropertyType" : { - "type" : "string" + "type" : "string", + "description" : "The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig')." } } } }, "required" : [ "EndpointConfigName" ], "createOnlyProperties" : [ "/properties/EndpointName" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "primaryIdentifier" : [ "/properties/EndpointArn" ], + "readOnlyProperties" : [ "/properties/EndpointArn", "/properties/EndpointName" ], + "writeOnlyProperties" : [ "/properties/ExcludeRetainedVariantProperties", "/properties/RetainAllVariantProperties", "/properties/RetainDeploymentConfig" ], + "handlers" : { + "create" : { + "permissions" : [ "sagemaker:CreateEndpoint", "sagemaker:DescribeEndpoint", "sagemaker:AddTags" ] + }, + "read" : { + "permissions" : [ "sagemaker:DescribeEndpoint", "sagemaker:ListTags" ] + }, + "update" : { + "permissions" : [ "sagemaker:UpdateEndpoint", "sagemaker:DescribeEndpoint", "sagemaker:AddTags", "sagemaker:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "sagemaker:DeleteEndpoint", "sagemaker:DescribeEndpoint" ] + }, + "list" : { + "permissions" : [ "sagemaker:ListEndpoints" ] + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "sagemaker:AddTags", "sagemaker:DeleteTags", "sagemaker:ListTags" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sns-topic.json b/aws-cloudformation-schema/aws-sns-topic.json index 9af16d28fe..67ca3e5d18 100644 --- a/aws-cloudformation-schema/aws-sns-topic.json +++ b/aws-cloudformation-schema/aws-sns-topic.json @@ -10,23 +10,7 @@ }, "KmsMasterKeyId" : { "description" : "The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see ``KeyId`` in the *API Reference*.\n This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).", - "type" : "string", - "anyOf" : [ { - "relationshipRef" : { - "typeName" : "AWS::KMS::Key", - "propertyPath" : "/properties/Arn" - } - }, { - "relationshipRef" : { - "typeName" : "AWS::KMS::Key", - "propertyPath" : "/properties/KeyId" - } - }, { - "relationshipRef" : { - "typeName" : "AWS::KMS::Alias", - "propertyPath" : "/properties/AliasName" - } - } ] + "type" : "string" }, "DataProtectionPolicy" : { "description" : "The body of the policy document you want to use for this topic.\n You can only add one policy per topic.\n The policy must be in JSON string format.\n Length Constraints: Maximum length of 30,720.", @@ -111,17 +95,6 @@ "properties" : { "Endpoint" : { "type" : "string", - "anyOf" : [ { - "relationshipRef" : { - "typeName" : "AWS::Lambda::Function", - "propertyPath" : "/properties/Arn" - } - }, { - "relationshipRef" : { - "typeName" : "AWS::SQS::Queue", - "propertyPath" : "/properties/Arn" - } - } ], "description" : "The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the ``Endpoint`` parameter of the ``Subscribe`` action in the *API Reference*." }, "Protocol" : { diff --git a/meta/.botocore.version b/meta/.botocore.version index a0df8259a8..99bb6a8f3d 100644 --- a/meta/.botocore.version +++ b/meta/.botocore.version @@ -1 +1 @@ -1.35.45 +1.35.47 diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 68fb77a6fb..bba318b2f1 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -74,6 +74,7 @@ AWS::AppSync::DataSource AWS::AppSync::DomainName AWS::AppSync::DomainNameApiAssociation AWS::AppSync::FunctionConfiguration +AWS::AppSync::GraphQLApi AWS::AppSync::Resolver AWS::AppSync::SourceApiAssociation AWS::ApplicationAutoScaling::ScalableTarget @@ -864,6 +865,7 @@ AWS::Route53::DNSSEC AWS::Route53::HealthCheck AWS::Route53::HostedZone AWS::Route53::KeySigningKey +AWS::Route53::RecordSet AWS::Route53Profiles::Profile AWS::Route53Profiles::ProfileAssociation AWS::Route53Profiles::ProfileResourceAssociation @@ -950,6 +952,7 @@ AWS::SageMaker::DataQualityJobDefinition AWS::SageMaker::Device AWS::SageMaker::DeviceFleet AWS::SageMaker::Domain +AWS::SageMaker::Endpoint AWS::SageMaker::FeatureGroup AWS::SageMaker::Image AWS::SageMaker::ImageVersion diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 6d8f7112fd..5c3e8adab1 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -7148,6 +7148,217 @@ "responseMappingTemplateS3Location": "ResponseMappingTemplateS3Location" } }, + "aws-native:appsync:GraphQlApi": { + "cf": "AWS::AppSync::GraphQLApi", + "inputs": { + "additionalAuthenticationProviders": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:appsync:GraphQlApiAdditionalAuthenticationProvider" + }, + "description": "A list of additional authentication providers for the GraphqlApi API." + }, + "apiType": { + "type": "string", + "description": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED)." + }, + "authenticationType": { + "type": "string", + "description": "Security configuration for your GraphQL API" + }, + "enhancedMetricsConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiEnhancedMetricsConfig", + "description": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent." + }, + "environmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map containing the list of resources with their properties and environment variables." + }, + "introspectionConfig": { + "type": "string", + "description": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled." + }, + "lambdaAuthorizerConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLambdaAuthorizerConfig", + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time." + }, + "logConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLogConfig", + "description": "The Amazon CloudWatch Logs configuration." + }, + "mergedApiExecutionRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for a merged API. " + }, + "name": { + "type": "string", + "description": "The API name" + }, + "openIdConnectConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiOpenIdConnectConfig", + "description": "The OpenID Connect configuration." + }, + "ownerContact": { + "type": "string", + "description": "The owner contact information for an API resource." + }, + "queryDepthLimit": { + "type": "integer", + "description": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query." + }, + "resolverCountLimit": { + "type": "integer", + "description": "The maximum number of resolvers that can be invoked in a single request." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n" + }, + "userPoolConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiUserPoolConfig", + "description": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n" + }, + "visibility": { + "type": "string", + "description": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided." + }, + "xrayEnabled": { + "type": "boolean", + "description": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n" + } + }, + "outputs": { + "additionalAuthenticationProviders": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:appsync:GraphQlApiAdditionalAuthenticationProvider" + }, + "description": "A list of additional authentication providers for the GraphqlApi API." + }, + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier." + }, + "apiType": { + "type": "string", + "description": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED)." + }, + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the API key" + }, + "authenticationType": { + "type": "string", + "description": "Security configuration for your GraphQL API" + }, + "enhancedMetricsConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiEnhancedMetricsConfig", + "description": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent." + }, + "environmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map containing the list of resources with their properties and environment variables." + }, + "graphQlDns": { + "type": "string", + "description": "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API." + }, + "graphQlEndpointArn": { + "type": "string", + "description": "The GraphQL endpoint ARN." + }, + "graphQlUrl": { + "type": "string", + "description": "The Endpoint URL of your GraphQL API." + }, + "introspectionConfig": { + "type": "string", + "description": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled." + }, + "lambdaAuthorizerConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLambdaAuthorizerConfig", + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time." + }, + "logConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLogConfig", + "description": "The Amazon CloudWatch Logs configuration." + }, + "mergedApiExecutionRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for a merged API. " + }, + "name": { + "type": "string", + "description": "The API name" + }, + "openIdConnectConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiOpenIdConnectConfig", + "description": "The OpenID Connect configuration." + }, + "ownerContact": { + "type": "string", + "description": "The owner contact information for an API resource." + }, + "queryDepthLimit": { + "type": "integer", + "description": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query." + }, + "realtimeDns": { + "type": "string", + "description": "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API." + }, + "realtimeUrl": { + "type": "string", + "description": "The GraphQL API real-time endpoint URL." + }, + "resolverCountLimit": { + "type": "integer", + "description": "The maximum number of resolvers that can be invoked in a single request." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n" + }, + "userPoolConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiUserPoolConfig", + "description": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n" + }, + "visibility": { + "type": "string", + "description": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided." + }, + "xrayEnabled": { + "type": "boolean", + "description": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n" + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "authenticationType" + ], + "irreversibleNames": { + "graphQlDns": "GraphQLDns", + "graphQlEndpointArn": "GraphQLEndpointArn", + "graphQlUrl": "GraphQLUrl", + "openIdConnectConfig": "OpenIDConnectConfig" + }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:appsync:Resolver": { "cf": "AWS::AppSync::Resolver", "inputs": { @@ -8324,7 +8535,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupTrafficSourceIdentifier" - } + }, + "description": "The traffic sources associated with this Auto Scaling group." }, "vpcZoneIdentifier": { "type": "array", @@ -8480,7 +8692,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupTrafficSourceIdentifier" - } + }, + "description": "The traffic sources associated with this Auto Scaling group." }, "vpcZoneIdentifier": { "type": "array", @@ -28348,7 +28561,8 @@ "description": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account ." }, "unusedReservationBillingOwnerId": { - "type": "string" + "type": "string", + "description": "The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned." } }, "outputs": { @@ -28429,7 +28643,8 @@ "description": "Returns the total number of instances for which the Capacity Reservation reserves capacity. For example: `15` ." }, "unusedReservationBillingOwnerId": { - "type": "string" + "type": "string", + "description": "The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned." } }, "required": [ @@ -37368,7 +37583,8 @@ "description": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used." }, "zonalShiftConfig": { - "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig" + "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig", + "description": "The configuration for zonal shift for the cluster." } }, "outputs": { @@ -37461,7 +37677,8 @@ "description": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used." }, "zonalShiftConfig": { - "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig" + "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig", + "description": "The configuration for zonal shift for the cluster." } }, "autoNamingSpec": { @@ -50175,11 +50392,11 @@ "inputs": { "applicationProtocol": { "$ref": "#/types/aws-native:iot:DomainConfigurationApplicationProtocol", - "description": "An enumerated string that specifies the application-layer protocol.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the application-layer protocol." }, "authenticationType": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthenticationType", - "description": "An enumerated string that specifies the authentication type.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the authentication type." }, "authorizerConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthorizerConfig", @@ -50187,7 +50404,7 @@ }, "clientCertificateConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationClientCertificateConfig", - "description": "An object that specifies the client certificate configuration for a domain.\n\n\u003e This property isn't available in China." + "description": "An object that specifies the client certificate configuration for a domain." }, "domainConfigurationName": { "type": "string", @@ -50235,7 +50452,7 @@ "outputs": { "applicationProtocol": { "$ref": "#/types/aws-native:iot:DomainConfigurationApplicationProtocol", - "description": "An enumerated string that specifies the application-layer protocol.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the application-layer protocol." }, "arn": { "type": "string", @@ -50243,7 +50460,7 @@ }, "authenticationType": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthenticationType", - "description": "An enumerated string that specifies the authentication type.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the authentication type." }, "authorizerConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthorizerConfig", @@ -50251,7 +50468,7 @@ }, "clientCertificateConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationClientCertificateConfig", - "description": "An object that specifies the client certificate configuration for a domain.\n\n\u003e This property isn't available in China." + "description": "An object that specifies the client certificate configuration for a domain." }, "domainConfigurationName": { "type": "string", @@ -51267,13 +51484,16 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.\n\nThe combined size of all the attributes on a package version is limited to 3KB." }, "description": { - "type": "string" + "type": "string", + "description": "A summary of the package version being created. This can be used to outline the package's contents or purpose." }, "packageName": { - "type": "string" + "type": "string", + "description": "The name of the associated software package." }, "tags": { "type": "array", @@ -51283,7 +51503,8 @@ "description": "An array of key-value pairs to apply to this resource." }, "versionName": { - "type": "string" + "type": "string", + "description": "The name of the new package version." } }, "outputs": { @@ -51291,10 +51512,12 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.\n\nThe combined size of all the attributes on a package version is limited to 3KB." }, "description": { - "type": "string" + "type": "string", + "description": "A summary of the package version being created. This can be used to outline the package's contents or purpose." }, "errorReason": { "type": "string", @@ -51302,6 +51525,7 @@ }, "packageName": { "type": "string", + "description": "The name of the associated software package.", "replaceOnChanges": true }, "packageVersionArn": { @@ -51321,6 +51545,7 @@ }, "versionName": { "type": "string", + "description": "The name of the new package version.", "replaceOnChanges": true } }, @@ -72998,7 +73223,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nThe following links have the configuration properties and schemas for AWS CloudFormation for the following connectors:\n\n- [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html)\n- [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html)\n\nSimilarly, you can find configuration templates and properties for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "description": { "type": "string", @@ -73044,7 +73269,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nThe following links have the configuration properties and schemas for AWS CloudFormation for the following connectors:\n\n- [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html)\n- [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html)\n\nSimilarly, you can find configuration templates and properties for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "createdAt": { "type": "string", @@ -78607,7 +78832,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* ." }, "integrationName": { "type": "string", @@ -78639,6 +78865,7 @@ "additionalProperties": { "type": "string" }, + "description": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* .", "replaceOnChanges": true }, "createTime": { @@ -79312,9 +79539,6 @@ "minLength": 3, "maxLength": 63 }, - "required": [ - "networkFabricType" - ], "createOnly": [ "description", "name", @@ -81157,6 +81381,166 @@ "name" ] }, + "aws-native:route53:RecordSet": { + "cf": "AWS::Route53::RecordSet", + "inputs": { + "aliasTarget": { + "$ref": "#/types/aws-native:route53:RecordSetAliasTarget", + "description": "Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to." + }, + "cidrRoutingConfig": { + "$ref": "#/types/aws-native:route53:RecordSetCidrRoutingConfig", + "description": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location." + }, + "comment": { + "type": "string", + "description": "Optional: Any comments you want to include about a change batch request." + }, + "failover": { + "$ref": "#/types/aws-native:route53:RecordSetFailover", + "description": "To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set." + }, + "geoLocation": { + "$ref": "#/types/aws-native:route53:RecordSetGeoLocation", + "description": "A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query." + }, + "healthCheckId": { + "type": "string", + "description": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check." + }, + "hostedZoneId": { + "type": "string", + "description": "The ID of the hosted zone that you want to create records in." + }, + "hostedZoneName": { + "type": "string", + "description": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName." + }, + "multiValueAnswer": { + "type": "boolean", + "description": "To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer." + }, + "name": { + "type": "string", + "description": "The name of the record that you want to create, update, or delete." + }, + "region": { + "type": "string", + "description": "The Amazon EC2 Region where you created the resource that this resource record set refers to." + }, + "resourceRecords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more values that correspond with the value that you specified for the Type property." + }, + "setIdentifier": { + "type": "string", + "description": "An identifier that differentiates among multiple resource record sets that have the same combination of name and type." + }, + "ttl": { + "type": "string", + "description": "The resource record cache time to live (TTL), in seconds." + }, + "type": { + "type": "string", + "description": "The DNS record type." + }, + "weight": { + "type": "integer", + "description": "Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total." + } + }, + "outputs": { + "aliasTarget": { + "$ref": "#/types/aws-native:route53:RecordSetAliasTarget", + "description": "Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to." + }, + "cidrRoutingConfig": { + "$ref": "#/types/aws-native:route53:RecordSetCidrRoutingConfig", + "description": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location." + }, + "comment": { + "type": "string", + "description": "Optional: Any comments you want to include about a change batch request." + }, + "failover": { + "$ref": "#/types/aws-native:route53:RecordSetFailover", + "description": "To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set." + }, + "geoLocation": { + "$ref": "#/types/aws-native:route53:RecordSetGeoLocation", + "description": "A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query." + }, + "healthCheckId": { + "type": "string", + "description": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check." + }, + "hostedZoneId": { + "type": "string", + "description": "The ID of the hosted zone that you want to create records in.", + "replaceOnChanges": true + }, + "hostedZoneName": { + "type": "string", + "description": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName.", + "replaceOnChanges": true + }, + "multiValueAnswer": { + "type": "boolean", + "description": "To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer." + }, + "name": { + "type": "string", + "description": "The name of the record that you want to create, update, or delete." + }, + "region": { + "type": "string", + "description": "The Amazon EC2 Region where you created the resource that this resource record set refers to." + }, + "resourceRecords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more values that correspond with the value that you specified for the Type property." + }, + "setIdentifier": { + "type": "string", + "description": "An identifier that differentiates among multiple resource record sets that have the same combination of name and type." + }, + "ttl": { + "type": "string", + "description": "The resource record cache time to live (TTL), in seconds." + }, + "type": { + "type": "string", + "description": "The DNS record type." + }, + "weight": { + "type": "integer", + "description": "Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "type" + ], + "createOnly": [ + "hostedZoneId", + "hostedZoneName" + ], + "writeOnly": [ + "comment", + "hostedZoneName" + ], + "irreversibleNames": { + "ttl": "TTL" + } + }, "aws-native:route53profiles:Profile": { "cf": "AWS::Route53Profiles::Profile", "inputs": { @@ -84579,6 +84963,102 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArrayCreateOnly" }, + "aws-native:sagemaker:Endpoint": { + "cf": "AWS::SageMaker::Endpoint", + "inputs": { + "deploymentConfig": { + "$ref": "#/types/aws-native:sagemaker:EndpointDeploymentConfig", + "description": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies." + }, + "endpointConfigName": { + "type": "string", + "description": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property." + }, + "endpointName": { + "type": "string", + "description": "The name of the SageMaker endpoint. This name must be unique within an AWS Region." + }, + "excludeRetainedVariantProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:EndpointVariantProperty" + }, + "description": "Specifies a list of variant properties that you want to exclude when updating an endpoint." + }, + "retainAllVariantProperties": { + "type": "boolean", + "description": "When set to true, retains all variant properties for an endpoint when it is updated." + }, + "retainDeploymentConfig": { + "type": "boolean", + "description": "When set to true, retains the deployment configuration during endpoint updates." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "outputs": { + "deploymentConfig": { + "$ref": "#/types/aws-native:sagemaker:EndpointDeploymentConfig", + "description": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies." + }, + "endpointArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the endpoint." + }, + "endpointConfigName": { + "type": "string", + "description": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property." + }, + "endpointName": { + "type": "string", + "description": "The name of the SageMaker endpoint. This name must be unique within an AWS Region.", + "replaceOnChanges": true + }, + "excludeRetainedVariantProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:EndpointVariantProperty" + }, + "description": "Specifies a list of variant properties that you want to exclude when updating an endpoint." + }, + "retainAllVariantProperties": { + "type": "boolean", + "description": "When set to true, retains all variant properties for an endpoint when it is updated." + }, + "retainDeploymentConfig": { + "type": "boolean", + "description": "When set to true, retains the deployment configuration during endpoint updates." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "autoNamingSpec": { + "sdkName": "endpointName" + }, + "required": [ + "endpointConfigName" + ], + "createOnly": [ + "endpointName" + ], + "writeOnly": [ + "excludeRetainedVariantProperties", + "retainAllVariantProperties", + "retainDeploymentConfig" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:sagemaker:FeatureGroup": { "cf": "AWS::SageMaker::FeatureGroup", "inputs": { @@ -103924,6 +104404,157 @@ } } }, + "aws-native:appsync:GraphQlApiAdditionalAuthenticationProvider": { + "type": "object", + "properties": { + "authenticationType": { + "type": "string", + "description": "The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda." + }, + "lambdaAuthorizerConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLambdaAuthorizerConfig", + "description": "Configuration for AWS Lambda function authorization." + }, + "openIdConnectConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiOpenIdConnectConfig", + "description": "The OIDC configuration." + }, + "userPoolConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiCognitoUserPoolConfig", + "description": "The Amazon Cognito user pool configuration." + } + }, + "irreversibleNames": { + "openIdConnectConfig": "OpenIDConnectConfig" + } + }, + "aws-native:appsync:GraphQlApiCognitoUserPoolConfig": { + "type": "object", + "properties": { + "appIdClientRegex": { + "type": "string", + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID. " + }, + "awsRegion": { + "type": "string", + "description": "The AWS Region in which the user pool was created." + }, + "userPoolId": { + "type": "string", + "description": "The user pool ID" + } + } + }, + "aws-native:appsync:GraphQlApiEnhancedMetricsConfig": { + "type": "object", + "properties": { + "dataSourceLevelMetricsBehavior": { + "type": "string", + "description": "Controls how data source metrics will be emitted to CloudWatch. Data source metrics include:\n\n" + }, + "operationLevelMetricsConfig": { + "type": "string", + "description": "Controls how operation metrics will be emitted to CloudWatch. Operation metrics include:\n\n" + }, + "resolverLevelMetricsBehavior": { + "type": "string", + "description": "Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include:\n\n" + } + } + }, + "aws-native:appsync:GraphQlApiLambdaAuthorizerConfig": { + "type": "object", + "properties": { + "authorizerResultTtlInSeconds": { + "type": "integer", + "description": "The number of seconds a response should be cached for." + }, + "authorizerUri": { + "type": "string", + "description": "The ARN of the Lambda function to be called for authorization." + }, + "identityValidationExpression": { + "type": "string", + "description": "A regular expression for validation of tokens before the Lambda function is called." + } + } + }, + "aws-native:appsync:GraphQlApiLogConfig": { + "type": "object", + "properties": { + "cloudWatchLogsRoleArn": { + "type": "string", + "description": "The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account." + }, + "excludeVerboseContent": { + "type": "boolean", + "description": "Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level." + }, + "fieldLogLevel": { + "type": "string", + "description": "The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL." + } + } + }, + "aws-native:appsync:GraphQlApiOpenIdConnectConfig": { + "type": "object", + "properties": { + "authTtl": { + "type": "number", + "description": "The number of milliseconds that a token is valid after being authenticated." + }, + "clientId": { + "type": "string", + "description": "The client identifier of the Relying party at the OpenID identity provider." + }, + "iatTtl": { + "type": "number", + "description": "The number of milliseconds that a token is valid after it's issued to a user.\n\n" + }, + "issuer": { + "type": "string", + "description": "The issuer for the OIDC configuration. " + } + }, + "irreversibleNames": { + "authTtl": "AuthTTL", + "iatTtl": "IatTTL" + } + }, + "aws-native:appsync:GraphQlApiTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Describes the key of the tag." + }, + "value": { + "type": "string", + "description": "Describes the value of the tag." + } + } + }, + "aws-native:appsync:GraphQlApiUserPoolConfig": { + "type": "object", + "properties": { + "appIdClientRegex": { + "type": "string", + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID." + }, + "awsRegion": { + "type": "string", + "description": "The AWS Region in which the user pool was created." + }, + "defaultAction": { + "type": "string", + "description": "The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration." + }, + "userPoolId": { + "type": "string", + "description": "The user pool ID." + } + } + }, "aws-native:appsync:ResolverAppSyncRuntime": { "type": "object", "properties": { @@ -105007,10 +105638,12 @@ "type": "object", "properties": { "identifier": { - "type": "string" + "type": "string", + "description": "Identifies the traffic source.\n\nFor Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.\n\nFor example:\n\n- Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456`\n- Classic Load Balancer name: `my-classic-load-balancer`\n- VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456`\n\nTo get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations.\n\nTo get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation." }, "type": { - "type": "string" + "type": "string", + "description": "Provides additional context for the value of `Identifier` .\n\nThe following lists the valid values:\n\n- `elb` if `Identifier` is the name of a Classic Load Balancer.\n- `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.\n- `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group.\n\nRequired if the identifier is the name of a Classic Load Balancer." } } }, @@ -127161,7 +127794,7 @@ "properties": { "logEnabled": { "type": "boolean", - "description": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`" + "description": "Enable or disable VPN tunnel logging feature. Default value is ``False``.\n Valid values: ``True`` | ``False``" }, "logGroupArn": { "type": "string", @@ -127169,7 +127802,7 @@ }, "logOutputFormat": { "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat", - "description": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`" + "description": "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``" } } }, @@ -127281,11 +127914,11 @@ "properties": { "dpdTimeoutAction": { "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction", - "description": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`" + "description": "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``" }, "dpdTimeoutSeconds": { "type": "integer", - "description": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`" + "description": "The number of seconds after which a DPD timeout occurs.\n Constraints: A value greater than or equal to 30.\n Default: ``30``" }, "enableTunnelLifecycleControl": { "type": "boolean", @@ -127296,7 +127929,7 @@ "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValue" }, - "description": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`" + "description": "The IKE versions that are permitted for the VPN tunnel.\n Valid values: ``ikev1`` | ``ikev2``" }, "logOptions": { "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification", @@ -127307,50 +127940,50 @@ "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValue" }, - "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``" }, "phase1IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValue" }, - "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``" }, "phase1LifetimeSeconds": { "type": "integer", - "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`" + "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 28,800.\n Default: ``28800``" }, "phase1dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1dhGroupNumbersRequestListValue" }, - "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``" }, "phase2EncryptionAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValue" }, - "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``" }, "phase2IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValue" }, - "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``" }, "phase2LifetimeSeconds": { "type": "integer", - "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`" + "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``.\n Default: ``3600``" }, "phase2dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2dhGroupNumbersRequestListValue" }, - "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``" }, "preSharedKey": { "type": "string", @@ -127358,19 +127991,19 @@ }, "rekeyFuzzPercentage": { "type": "integer", - "description": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`" + "description": "The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected.\n Constraints: A value between 0 and 100.\n Default: ``100``" }, "rekeyMarginTimeSeconds": { "type": "integer", - "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`" + "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``.\n Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``.\n Default: ``270``" }, "replayWindowSize": { "type": "integer", - "description": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`" + "description": "The number of packets in an IKE replay window.\n Constraints: A value between 64 and 2048.\n Default: ``1024``" }, "startupAction": { "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction", - "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`" + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``" }, "tunnelInsideCidr": { "type": "string", @@ -127378,7 +128011,7 @@ }, "tunnelInsideIpv6Cidr": { "type": "string", - "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range." + "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n Constraints: A size /126 CIDR block from the local ``fd00::/8`` range." } }, "irreversibleNames": { @@ -138741,7 +139374,7 @@ "properties": { "clientCertificateCallbackArn": { "type": "string", - "description": "The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection.\n\n\u003e This property isn't available in China." + "description": "The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection." } } }, @@ -196373,6 +197006,59 @@ "aws-native:route53:KeySigningKeyStatus": { "type": "string" }, + "aws-native:route53:RecordSetAliasTarget": { + "type": "object", + "properties": { + "dnsName": { + "type": "string", + "description": "The value that you specify depends on where you want to route queries." + }, + "evaluateTargetHealth": { + "type": "boolean", + "description": "When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone." + }, + "hostedZoneId": { + "type": "string", + "description": "The value used depends on where you want to route traffic." + } + }, + "irreversibleNames": { + "dnsName": "DNSName" + } + }, + "aws-native:route53:RecordSetCidrRoutingConfig": { + "type": "object", + "properties": { + "collectionId": { + "type": "string", + "description": "The CIDR collection ID." + }, + "locationName": { + "type": "string", + "description": "The CIDR collection location name." + } + } + }, + "aws-native:route53:RecordSetFailover": { + "type": "string" + }, + "aws-native:route53:RecordSetGeoLocation": { + "type": "object", + "properties": { + "continentCode": { + "type": "string", + "description": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent." + }, + "countryCode": { + "type": "string", + "description": "For geolocation resource record sets, the two-letter code for a country." + }, + "subdivisionCode": { + "type": "string", + "description": "For geolocation resource record sets, the two-letter code for a state of the United States." + } + } + }, "aws-native:route53profiles:ProfileAssociationTag": { "type": "object", "properties": { @@ -200182,6 +200868,138 @@ "aws-native:sagemaker:DomainUserSettingsStudioWebPortal": { "type": "string" }, + "aws-native:sagemaker:EndpointAlarm": { + "type": "object", + "properties": { + "alarmName": { + "type": "string", + "description": "The name of the CloudWatch alarm." + } + } + }, + "aws-native:sagemaker:EndpointAutoRollbackConfig": { + "type": "object", + "properties": { + "alarms": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:EndpointAlarm" + }, + "description": "List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back." + } + } + }, + "aws-native:sagemaker:EndpointBlueGreenUpdatePolicy": { + "type": "object", + "properties": { + "maximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the blue/green update, in seconds." + }, + "terminationWaitInSeconds": { + "type": "integer", + "description": "The wait time before terminating the old endpoint during a blue/green deployment." + }, + "trafficRoutingConfiguration": { + "$ref": "#/types/aws-native:sagemaker:EndpointTrafficRoutingConfig", + "description": "The traffic routing configuration for the blue/green deployment." + } + } + }, + "aws-native:sagemaker:EndpointCapacitySize": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies whether the `Value` is an instance count or a capacity unit." + }, + "value": { + "type": "integer", + "description": "The value representing either the number of instances or the number of capacity units." + } + } + }, + "aws-native:sagemaker:EndpointDeploymentConfig": { + "type": "object", + "properties": { + "autoRollbackConfiguration": { + "$ref": "#/types/aws-native:sagemaker:EndpointAutoRollbackConfig", + "description": "Configuration for automatic rollback if an error occurs during deployment." + }, + "blueGreenUpdatePolicy": { + "$ref": "#/types/aws-native:sagemaker:EndpointBlueGreenUpdatePolicy", + "description": "Configuration for blue-green update deployment policies." + }, + "rollingUpdatePolicy": { + "$ref": "#/types/aws-native:sagemaker:EndpointRollingUpdatePolicy", + "description": "Configuration for rolling update deployment policies." + } + } + }, + "aws-native:sagemaker:EndpointRollingUpdatePolicy": { + "type": "object", + "properties": { + "maximumBatchSize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "Specifies the maximum batch size for each rolling update." + }, + "maximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the rolling update, in seconds." + }, + "rollbackMaximumBatchSize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "The maximum batch size for rollback during an update failure." + }, + "waitIntervalInSeconds": { + "type": "integer", + "description": "The time to wait between steps during the rolling update, in seconds." + } + } + }, + "aws-native:sagemaker:EndpointTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key of the tag." + }, + "value": { + "type": "string", + "description": "The value of the tag." + } + } + }, + "aws-native:sagemaker:EndpointTrafficRoutingConfig": { + "type": "object", + "properties": { + "canarySize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "Specifies the size of the canary traffic in a canary deployment." + }, + "linearStepSize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "Specifies the step size for linear traffic routing." + }, + "type": { + "type": "string", + "description": "Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear')." + }, + "waitIntervalInSeconds": { + "type": "integer", + "description": "Specifies the wait interval between traffic shifts, in seconds." + } + } + }, + "aws-native:sagemaker:EndpointVariantProperty": { + "type": "object", + "properties": { + "variantPropertyType": { + "type": "string", + "description": "The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig')." + } + } + }, "aws-native:sagemaker:FeatureGroupDataCatalogConfig": { "type": "object", "properties": { @@ -214610,6 +215428,12 @@ "functionArn" ] }, + "aws-native:appsync:getGraphQlApi": { + "cf": "AWS::AppSync::GraphQLApi", + "ids": [ + "apiId" + ] + }, "aws-native:appsync:getResolver": { "cf": "AWS::AppSync::Resolver", "ids": [ @@ -219316,6 +220140,15 @@ "name" ] }, + "aws-native:route53:getRecordSet": { + "cf": "AWS::Route53::RecordSet", + "ids": [ + "name", + "hostedZoneId", + "type", + "setIdentifier" + ] + }, "aws-native:route53profiles:getProfile": { "cf": "AWS::Route53Profiles::Profile", "ids": [ @@ -219589,6 +220422,12 @@ "domainId" ] }, + "aws-native:sagemaker:getEndpoint": { + "cf": "AWS::SageMaker::Endpoint", + "ids": [ + "endpointArn" + ] + }, "aws-native:sagemaker:getFeatureGroup": { "cf": "AWS::SageMaker::FeatureGroup", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 993c111105..b6a0fcb5c3 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -10023,6 +10023,162 @@ "conflictDetection" ] }, + "aws-native:appsync:GraphQlApiAdditionalAuthenticationProvider": { + "properties": { + "authenticationType": { + "type": "string", + "description": "The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda." + }, + "lambdaAuthorizerConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLambdaAuthorizerConfig", + "description": "Configuration for AWS Lambda function authorization." + }, + "openIdConnectConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiOpenIdConnectConfig", + "description": "The OIDC configuration." + }, + "userPoolConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiCognitoUserPoolConfig", + "description": "The Amazon Cognito user pool configuration." + } + }, + "type": "object", + "required": [ + "authenticationType" + ] + }, + "aws-native:appsync:GraphQlApiCognitoUserPoolConfig": { + "properties": { + "appIdClientRegex": { + "type": "string", + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID. " + }, + "awsRegion": { + "type": "string", + "description": "The AWS Region in which the user pool was created." + }, + "userPoolId": { + "type": "string", + "description": "The user pool ID" + } + }, + "type": "object" + }, + "aws-native:appsync:GraphQlApiEnhancedMetricsConfig": { + "properties": { + "dataSourceLevelMetricsBehavior": { + "type": "string", + "description": "Controls how data source metrics will be emitted to CloudWatch. Data source metrics include:\n\n" + }, + "operationLevelMetricsConfig": { + "type": "string", + "description": "Controls how operation metrics will be emitted to CloudWatch. Operation metrics include:\n\n" + }, + "resolverLevelMetricsBehavior": { + "type": "string", + "description": "Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include:\n\n" + } + }, + "type": "object", + "required": [ + "dataSourceLevelMetricsBehavior", + "operationLevelMetricsConfig", + "resolverLevelMetricsBehavior" + ] + }, + "aws-native:appsync:GraphQlApiLambdaAuthorizerConfig": { + "properties": { + "authorizerResultTtlInSeconds": { + "type": "integer", + "description": "The number of seconds a response should be cached for." + }, + "authorizerUri": { + "type": "string", + "description": "The ARN of the Lambda function to be called for authorization." + }, + "identityValidationExpression": { + "type": "string", + "description": "A regular expression for validation of tokens before the Lambda function is called." + } + }, + "type": "object" + }, + "aws-native:appsync:GraphQlApiLogConfig": { + "properties": { + "cloudWatchLogsRoleArn": { + "type": "string", + "description": "The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account." + }, + "excludeVerboseContent": { + "type": "boolean", + "description": "Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level." + }, + "fieldLogLevel": { + "type": "string", + "description": "The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL." + } + }, + "type": "object" + }, + "aws-native:appsync:GraphQlApiOpenIdConnectConfig": { + "properties": { + "authTtl": { + "type": "number", + "description": "The number of milliseconds that a token is valid after being authenticated." + }, + "clientId": { + "type": "string", + "description": "The client identifier of the Relying party at the OpenID identity provider." + }, + "iatTtl": { + "type": "number", + "description": "The number of milliseconds that a token is valid after it's issued to a user.\n\n" + }, + "issuer": { + "type": "string", + "description": "The issuer for the OIDC configuration. " + } + }, + "type": "object" + }, + "aws-native:appsync:GraphQlApiTag": { + "properties": { + "key": { + "type": "string", + "description": "Describes the key of the tag." + }, + "value": { + "type": "string", + "description": "Describes the value of the tag." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:appsync:GraphQlApiUserPoolConfig": { + "properties": { + "appIdClientRegex": { + "type": "string", + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID." + }, + "awsRegion": { + "type": "string", + "description": "The AWS Region in which the user pool was created." + }, + "defaultAction": { + "type": "string", + "description": "The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration." + }, + "userPoolId": { + "type": "string", + "description": "The user pool ID." + } + }, + "type": "object" + }, "aws-native:appsync:ResolverAppSyncRuntime": { "description": "Describes a runtime used by an APSYlong resolver or APSYlong function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.", "properties": { @@ -11422,10 +11578,12 @@ "aws-native:autoscaling:AutoScalingGroupTrafficSourceIdentifier": { "properties": { "identifier": { - "type": "string" + "type": "string", + "description": "Identifies the traffic source.\n\nFor Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.\n\nFor example:\n\n- Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456`\n- Classic Load Balancer name: `my-classic-load-balancer`\n- VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456`\n\nTo get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations.\n\nTo get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation." }, "type": { - "type": "string" + "type": "string", + "description": "Provides additional context for the value of `Identifier` .\n\nThe following lists the valid values:\n\n- `elb` if `Identifier` is the name of a Classic Load Balancer.\n- `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.\n- `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group.\n\nRequired if the identifier is the name of a Classic Load Balancer." } }, "type": "object", @@ -15024,6 +15182,10 @@ { "name": "AmazonUserInput", "value": "AMAZON.UserInput" + }, + { + "name": "AmazonCodeInterpreter", + "value": "AMAZON.CodeInterpreter" } ] }, @@ -44064,10 +44226,11 @@ ] }, "aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecification": { + "description": "Options for sending VPN tunnel logs to CloudWatch.", "properties": { "logEnabled": { "type": "boolean", - "description": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`" + "description": "Enable or disable VPN tunnel logging feature. Default value is ``False``.\n Valid values: ``True`` | ``False``" }, "logGroupArn": { "type": "string", @@ -44075,13 +44238,13 @@ }, "logOutputFormat": { "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat", - "description": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`" + "description": "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``" } }, "type": "object" }, "aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat": { - "description": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`", + "description": "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``", "type": "string", "enum": [ { @@ -44095,6 +44258,7 @@ ] }, "aws-native:ec2:VpnConnectionIkeVersionsRequestListValue": { + "description": "The IKE version that is permitted for the VPN tunnel.", "properties": { "value": { "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValueValue", @@ -44118,6 +44282,7 @@ ] }, "aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValue": { + "description": "Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.", "properties": { "value": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue", @@ -44149,6 +44314,7 @@ ] }, "aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValue": { + "description": "Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.", "properties": { "value": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue", @@ -44180,6 +44346,7 @@ ] }, "aws-native:ec2:VpnConnectionPhase1dhGroupNumbersRequestListValue": { + "description": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.", "properties": { "value": { "type": "integer", @@ -44189,6 +44356,7 @@ "type": "object" }, "aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValue": { + "description": "Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.", "properties": { "value": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue", @@ -44220,6 +44388,7 @@ ] }, "aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValue": { + "description": "Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.", "properties": { "value": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue", @@ -44251,6 +44420,7 @@ ] }, "aws-native:ec2:VpnConnectionPhase2dhGroupNumbersRequestListValue": { + "description": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.", "properties": { "value": { "type": "integer", @@ -44278,6 +44448,7 @@ ] }, "aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification": { + "description": "Options for logging VPN tunnel activity.", "properties": { "cloudwatchLogOptions": { "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecification", @@ -44291,11 +44462,11 @@ "properties": { "dpdTimeoutAction": { "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction", - "description": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`" + "description": "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``" }, "dpdTimeoutSeconds": { "type": "integer", - "description": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`" + "description": "The number of seconds after which a DPD timeout occurs.\n Constraints: A value greater than or equal to 30.\n Default: ``30``" }, "enableTunnelLifecycleControl": { "type": "boolean", @@ -44306,7 +44477,7 @@ "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValue" }, - "description": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`" + "description": "The IKE versions that are permitted for the VPN tunnel.\n Valid values: ``ikev1`` | ``ikev2``" }, "logOptions": { "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification", @@ -44317,50 +44488,50 @@ "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValue" }, - "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``" }, "phase1IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValue" }, - "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``" }, "phase1LifetimeSeconds": { "type": "integer", - "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`" + "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 28,800.\n Default: ``28800``" }, "phase1dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1dhGroupNumbersRequestListValue" }, - "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``" }, "phase2EncryptionAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValue" }, - "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``" }, "phase2IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValue" }, - "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``" }, "phase2LifetimeSeconds": { "type": "integer", - "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`" + "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``.\n Default: ``3600``" }, "phase2dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2dhGroupNumbersRequestListValue" }, - "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``" }, "preSharedKey": { "type": "string", @@ -44368,19 +44539,19 @@ }, "rekeyFuzzPercentage": { "type": "integer", - "description": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`" + "description": "The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected.\n Constraints: A value between 0 and 100.\n Default: ``100``" }, "rekeyMarginTimeSeconds": { "type": "integer", - "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`" + "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``.\n Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``.\n Default: ``270``" }, "replayWindowSize": { "type": "integer", - "description": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`" + "description": "The number of packets in an IKE replay window.\n Constraints: A value between 64 and 2048.\n Default: ``1024``" }, "startupAction": { "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction", - "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`" + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``" }, "tunnelInsideCidr": { "type": "string", @@ -44388,13 +44559,13 @@ }, "tunnelInsideIpv6Cidr": { "type": "string", - "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range." + "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n Constraints: A size /126 CIDR block from the local ``fd00::/8`` range." } }, "type": "object" }, "aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction": { - "description": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`", + "description": "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``", "type": "string", "enum": [ { @@ -44412,7 +44583,7 @@ ] }, "aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction": { - "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`", + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``", "type": "string", "enum": [ { @@ -60571,7 +60742,7 @@ ] }, "aws-native:iot:DomainConfigurationApplicationProtocol": { - "description": "An enumerated string that specifies the application-layer protocol.\n\n\u003e This property isn't available in China.", + "description": "An enumerated string that specifies the application-layer protocol.", "type": "string", "enum": [ { @@ -60593,7 +60764,7 @@ ] }, "aws-native:iot:DomainConfigurationAuthenticationType": { - "description": "An enumerated string that specifies the authentication type.\n\n\u003e This property isn't available in China.", + "description": "An enumerated string that specifies the authentication type.", "type": "string", "enum": [ { @@ -60635,7 +60806,7 @@ "properties": { "clientCertificateCallbackArn": { "type": "string", - "description": "The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection.\n\n\u003e This property isn't available in China." + "description": "The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection." } }, "type": "object" @@ -138497,6 +138668,74 @@ } ] }, + "aws-native:route53:RecordSetAliasTarget": { + "properties": { + "dnsName": { + "type": "string", + "description": "The value that you specify depends on where you want to route queries." + }, + "evaluateTargetHealth": { + "type": "boolean", + "description": "When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone." + }, + "hostedZoneId": { + "type": "string", + "description": "The value used depends on where you want to route traffic." + } + }, + "type": "object", + "required": [ + "dnsName", + "hostedZoneId" + ] + }, + "aws-native:route53:RecordSetCidrRoutingConfig": { + "properties": { + "collectionId": { + "type": "string", + "description": "The CIDR collection ID." + }, + "locationName": { + "type": "string", + "description": "The CIDR collection location name." + } + }, + "type": "object", + "required": [ + "collectionId", + "locationName" + ] + }, + "aws-native:route53:RecordSetFailover": { + "type": "string", + "enum": [ + { + "name": "Primary", + "value": "PRIMARY" + }, + { + "name": "Secondary", + "value": "SECONDARY" + } + ] + }, + "aws-native:route53:RecordSetGeoLocation": { + "properties": { + "continentCode": { + "type": "string", + "description": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent." + }, + "countryCode": { + "type": "string", + "description": "For geolocation resource record sets, the two-letter code for a country." + }, + "subdivisionCode": { + "type": "string", + "description": "For geolocation resource record sets, the two-letter code for a state of the United States." + } + }, + "type": "object" + }, "aws-native:route53profiles:ProfileAssociationTag": { "properties": { "key": { @@ -144707,6 +144946,162 @@ } ] }, + "aws-native:sagemaker:EndpointAlarm": { + "properties": { + "alarmName": { + "type": "string", + "description": "The name of the CloudWatch alarm." + } + }, + "type": "object", + "required": [ + "alarmName" + ] + }, + "aws-native:sagemaker:EndpointAutoRollbackConfig": { + "properties": { + "alarms": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:EndpointAlarm" + }, + "description": "List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back." + } + }, + "type": "object", + "required": [ + "alarms" + ] + }, + "aws-native:sagemaker:EndpointBlueGreenUpdatePolicy": { + "properties": { + "maximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the blue/green update, in seconds." + }, + "terminationWaitInSeconds": { + "type": "integer", + "description": "The wait time before terminating the old endpoint during a blue/green deployment." + }, + "trafficRoutingConfiguration": { + "$ref": "#/types/aws-native:sagemaker:EndpointTrafficRoutingConfig", + "description": "The traffic routing configuration for the blue/green deployment." + } + }, + "type": "object", + "required": [ + "trafficRoutingConfiguration" + ] + }, + "aws-native:sagemaker:EndpointCapacitySize": { + "properties": { + "type": { + "type": "string", + "description": "Specifies whether the `Value` is an instance count or a capacity unit." + }, + "value": { + "type": "integer", + "description": "The value representing either the number of instances or the number of capacity units." + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, + "aws-native:sagemaker:EndpointDeploymentConfig": { + "properties": { + "autoRollbackConfiguration": { + "$ref": "#/types/aws-native:sagemaker:EndpointAutoRollbackConfig", + "description": "Configuration for automatic rollback if an error occurs during deployment." + }, + "blueGreenUpdatePolicy": { + "$ref": "#/types/aws-native:sagemaker:EndpointBlueGreenUpdatePolicy", + "description": "Configuration for blue-green update deployment policies." + }, + "rollingUpdatePolicy": { + "$ref": "#/types/aws-native:sagemaker:EndpointRollingUpdatePolicy", + "description": "Configuration for rolling update deployment policies." + } + }, + "type": "object" + }, + "aws-native:sagemaker:EndpointRollingUpdatePolicy": { + "properties": { + "maximumBatchSize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "Specifies the maximum batch size for each rolling update." + }, + "maximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the rolling update, in seconds." + }, + "rollbackMaximumBatchSize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "The maximum batch size for rollback during an update failure." + }, + "waitIntervalInSeconds": { + "type": "integer", + "description": "The time to wait between steps during the rolling update, in seconds." + } + }, + "type": "object", + "required": [ + "maximumBatchSize", + "waitIntervalInSeconds" + ] + }, + "aws-native:sagemaker:EndpointTag": { + "properties": { + "key": { + "type": "string", + "description": "The key of the tag." + }, + "value": { + "type": "string", + "description": "The value of the tag." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:sagemaker:EndpointTrafficRoutingConfig": { + "properties": { + "canarySize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "Specifies the size of the canary traffic in a canary deployment." + }, + "linearStepSize": { + "$ref": "#/types/aws-native:sagemaker:EndpointCapacitySize", + "description": "Specifies the step size for linear traffic routing." + }, + "type": { + "type": "string", + "description": "Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear')." + }, + "waitIntervalInSeconds": { + "type": "integer", + "description": "Specifies the wait interval between traffic shifts, in seconds." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws-native:sagemaker:EndpointVariantProperty": { + "properties": { + "variantPropertyType": { + "type": "string", + "description": "The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig')." + } + }, + "type": "object" + }, "aws-native:sagemaker:FeatureGroupDataCatalogConfig": { "properties": { "catalog": { @@ -172906,6 +173301,218 @@ "dataSourceName" ] }, + "aws-native:appsync:GraphQlApi": { + "description": "Resource Type definition for AWS::AppSync::GraphQLApi", + "properties": { + "additionalAuthenticationProviders": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:appsync:GraphQlApiAdditionalAuthenticationProvider" + }, + "description": "A list of additional authentication providers for the GraphqlApi API." + }, + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier." + }, + "apiType": { + "type": "string", + "description": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED)." + }, + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the API key" + }, + "authenticationType": { + "type": "string", + "description": "Security configuration for your GraphQL API" + }, + "enhancedMetricsConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiEnhancedMetricsConfig", + "description": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent." + }, + "environmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map containing the list of resources with their properties and environment variables." + }, + "graphQlDns": { + "type": "string", + "description": "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API." + }, + "graphQlEndpointArn": { + "type": "string", + "description": "The GraphQL endpoint ARN." + }, + "graphQlUrl": { + "type": "string", + "description": "The Endpoint URL of your GraphQL API." + }, + "introspectionConfig": { + "type": "string", + "description": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled." + }, + "lambdaAuthorizerConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLambdaAuthorizerConfig", + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time." + }, + "logConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLogConfig", + "description": "The Amazon CloudWatch Logs configuration." + }, + "mergedApiExecutionRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for a merged API. " + }, + "name": { + "type": "string", + "description": "The API name" + }, + "openIdConnectConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiOpenIdConnectConfig", + "description": "The OpenID Connect configuration." + }, + "ownerContact": { + "type": "string", + "description": "The owner contact information for an API resource." + }, + "queryDepthLimit": { + "type": "integer", + "description": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query." + }, + "realtimeDns": { + "type": "string", + "description": "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API." + }, + "realtimeUrl": { + "type": "string", + "description": "The GraphQL API real-time endpoint URL." + }, + "resolverCountLimit": { + "type": "integer", + "description": "The maximum number of resolvers that can be invoked in a single request." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n" + }, + "userPoolConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiUserPoolConfig", + "description": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n" + }, + "visibility": { + "type": "string", + "description": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided." + }, + "xrayEnabled": { + "type": "boolean", + "description": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n" + } + }, + "type": "object", + "required": [ + "apiId", + "arn", + "authenticationType", + "graphQlDns", + "graphQlEndpointArn", + "graphQlUrl", + "name", + "realtimeDns", + "realtimeUrl" + ], + "inputProperties": { + "additionalAuthenticationProviders": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:appsync:GraphQlApiAdditionalAuthenticationProvider" + }, + "description": "A list of additional authentication providers for the GraphqlApi API." + }, + "apiType": { + "type": "string", + "description": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED)." + }, + "authenticationType": { + "type": "string", + "description": "Security configuration for your GraphQL API" + }, + "enhancedMetricsConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiEnhancedMetricsConfig", + "description": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent." + }, + "environmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map containing the list of resources with their properties and environment variables." + }, + "introspectionConfig": { + "type": "string", + "description": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled." + }, + "lambdaAuthorizerConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLambdaAuthorizerConfig", + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time." + }, + "logConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLogConfig", + "description": "The Amazon CloudWatch Logs configuration." + }, + "mergedApiExecutionRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for a merged API. " + }, + "name": { + "type": "string", + "description": "The API name" + }, + "openIdConnectConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiOpenIdConnectConfig", + "description": "The OpenID Connect configuration." + }, + "ownerContact": { + "type": "string", + "description": "The owner contact information for an API resource." + }, + "queryDepthLimit": { + "type": "integer", + "description": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query." + }, + "resolverCountLimit": { + "type": "integer", + "description": "The maximum number of resolvers that can be invoked in a single request." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n" + }, + "userPoolConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiUserPoolConfig", + "description": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n" + }, + "visibility": { + "type": "string", + "description": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided." + }, + "xrayEnabled": { + "type": "boolean", + "description": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n" + } + }, + "requiredInputs": [ + "authenticationType" + ] + }, "aws-native:appsync:Resolver": { "description": "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var graphQlApiId = config.Require(\"graphQlApiId\");\n var dataSourceName = config.Require(\"dataSourceName\");\n var fieldName = config.Require(\"fieldName\");\n var typeName = config.Require(\"typeName\");\n var requestMappingTemplateS3LocationInput = config.Require(\"requestMappingTemplateS3LocationInput\");\n var responseMappingTemplateS3LocationInput = config.Require(\"responseMappingTemplateS3LocationInput\");\n var resolver = new AwsNative.AppSync.Resolver(\"resolver\", new()\n {\n ApiId = graphQlApiId,\n TypeName = typeName,\n FieldName = fieldName,\n DataSourceName = dataSourceName,\n RequestMappingTemplateS3Location = requestMappingTemplateS3LocationInput,\n ResponseMappingTemplateS3Location = responseMappingTemplateS3LocationInput,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgraphQlApiId := cfg.Require(\"graphQlApiId\")\n\t\tdataSourceName := cfg.Require(\"dataSourceName\")\n\t\tfieldName := cfg.Require(\"fieldName\")\n\t\ttypeName := cfg.Require(\"typeName\")\n\t\trequestMappingTemplateS3LocationInput := cfg.Require(\"requestMappingTemplateS3LocationInput\")\n\t\tresponseMappingTemplateS3LocationInput := cfg.Require(\"responseMappingTemplateS3LocationInput\")\n\t\t_, err := appsync.NewResolver(ctx, \"resolver\", \u0026appsync.ResolverArgs{\n\t\t\tApiId: pulumi.String(graphQlApiId),\n\t\t\tTypeName: pulumi.String(typeName),\n\t\t\tFieldName: pulumi.String(fieldName),\n\t\t\tDataSourceName: pulumi.String(dataSourceName),\n\t\t\tRequestMappingTemplateS3Location: pulumi.String(requestMappingTemplateS3LocationInput),\n\t\t\tResponseMappingTemplateS3Location: pulumi.String(responseMappingTemplateS3LocationInput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst config = new pulumi.Config();\nconst graphQlApiId = config.require(\"graphQlApiId\");\nconst dataSourceName = config.require(\"dataSourceName\");\nconst fieldName = config.require(\"fieldName\");\nconst typeName = config.require(\"typeName\");\nconst requestMappingTemplateS3LocationInput = config.require(\"requestMappingTemplateS3LocationInput\");\nconst responseMappingTemplateS3LocationInput = config.require(\"responseMappingTemplateS3LocationInput\");\nconst resolver = new aws_native.appsync.Resolver(\"resolver\", {\n apiId: graphQlApiId,\n typeName: typeName,\n fieldName: fieldName,\n dataSourceName: dataSourceName,\n requestMappingTemplateS3Location: requestMappingTemplateS3LocationInput,\n responseMappingTemplateS3Location: responseMappingTemplateS3LocationInput,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\ngraph_ql_api_id = config.require(\"graphQlApiId\")\ndata_source_name = config.require(\"dataSourceName\")\nfield_name = config.require(\"fieldName\")\ntype_name = config.require(\"typeName\")\nrequest_mapping_template_s3_location_input = config.require(\"requestMappingTemplateS3LocationInput\")\nresponse_mapping_template_s3_location_input = config.require(\"responseMappingTemplateS3LocationInput\")\nresolver = aws_native.appsync.Resolver(\"resolver\",\n api_id=graph_ql_api_id,\n type_name=type_name,\n field_name=field_name,\n data_source_name=data_source_name,\n request_mapping_template_s3_location=request_mapping_template_s3_location_input,\n response_mapping_template_s3_location=response_mapping_template_s3_location_input)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { @@ -174052,7 +174659,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupTrafficSourceIdentifier" - } + }, + "description": "The traffic sources associated with this Auto Scaling group." }, "vpcZoneIdentifier": { "type": "array", @@ -174211,7 +174819,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupTrafficSourceIdentifier" - } + }, + "description": "The traffic sources associated with this Auto Scaling group." }, "vpcZoneIdentifier": { "type": "array", @@ -193646,7 +194255,8 @@ "description": "Returns the total number of instances for which the Capacity Reservation reserves capacity. For example: `15` ." }, "unusedReservationBillingOwnerId": { - "type": "string" + "type": "string", + "description": "The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned." } }, "type": "object", @@ -193716,7 +194326,8 @@ "description": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account ." }, "unusedReservationBillingOwnerId": { - "type": "string" + "type": "string", + "description": "The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned." } }, "requiredInputs": [ @@ -202469,7 +203080,8 @@ "description": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used." }, "zonalShiftConfig": { - "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig" + "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig", + "description": "The configuration for zonal shift for the cluster." } }, "type": "object", @@ -202540,7 +203152,8 @@ "description": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used." }, "zonalShiftConfig": { - "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig" + "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig", + "description": "The configuration for zonal shift for the cluster." } }, "requiredInputs": [ @@ -214831,7 +215444,7 @@ "properties": { "applicationProtocol": { "$ref": "#/types/aws-native:iot:DomainConfigurationApplicationProtocol", - "description": "An enumerated string that specifies the application-layer protocol.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the application-layer protocol." }, "arn": { "type": "string", @@ -214839,7 +215452,7 @@ }, "authenticationType": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthenticationType", - "description": "An enumerated string that specifies the authentication type.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the authentication type." }, "authorizerConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthorizerConfig", @@ -214847,7 +215460,7 @@ }, "clientCertificateConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationClientCertificateConfig", - "description": "An object that specifies the client certificate configuration for a domain.\n\n\u003e This property isn't available in China." + "description": "An object that specifies the client certificate configuration for a domain." }, "domainConfigurationName": { "type": "string", @@ -214917,11 +215530,11 @@ "inputProperties": { "applicationProtocol": { "$ref": "#/types/aws-native:iot:DomainConfigurationApplicationProtocol", - "description": "An enumerated string that specifies the application-layer protocol.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the application-layer protocol." }, "authenticationType": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthenticationType", - "description": "An enumerated string that specifies the authentication type.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the authentication type." }, "authorizerConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthorizerConfig", @@ -214929,7 +215542,7 @@ }, "clientCertificateConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationClientCertificateConfig", - "description": "An object that specifies the client certificate configuration for a domain.\n\n\u003e This property isn't available in China." + "description": "An object that specifies the client certificate configuration for a domain." }, "domainConfigurationName": { "type": "string", @@ -215861,10 +216474,12 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.\n\nThe combined size of all the attributes on a package version is limited to 3KB." }, "description": { - "type": "string" + "type": "string", + "description": "A summary of the package version being created. This can be used to outline the package's contents or purpose." }, "errorReason": { "type": "string", @@ -215872,6 +216487,7 @@ }, "packageName": { "type": "string", + "description": "The name of the associated software package.", "replaceOnChanges": true }, "packageVersionArn": { @@ -215891,6 +216507,7 @@ }, "versionName": { "type": "string", + "description": "The name of the new package version.", "replaceOnChanges": true } }, @@ -215906,13 +216523,16 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.\n\nThe combined size of all the attributes on a package version is limited to 3KB." }, "description": { - "type": "string" + "type": "string", + "description": "A summary of the package version being created. This can be used to outline the package's contents or purpose." }, "packageName": { - "type": "string" + "type": "string", + "description": "The name of the associated software package." }, "tags": { "type": "array", @@ -215922,7 +216542,8 @@ "description": "An array of key-value pairs to apply to this resource." }, "versionName": { - "type": "string" + "type": "string", + "description": "The name of the new package version." } }, "requiredInputs": [ @@ -236944,7 +237565,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nThe following links have the configuration properties and schemas for AWS CloudFormation for the following connectors:\n\n- [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html)\n- [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html)\n\nSimilarly, you can find configuration templates and properties for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "createdAt": { "type": "string", @@ -237027,7 +237648,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nThe following links have the configuration properties and schemas for AWS CloudFormation for the following connectors:\n\n- [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html)\n- [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html)\n\nSimilarly, you can find configuration templates and properties for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "description": { "type": "string", @@ -242314,6 +242935,7 @@ "additionalProperties": { "type": "string" }, + "description": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* .", "replaceOnChanges": true }, "createTime": { @@ -242363,7 +242985,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* ." }, "integrationName": { "type": "string", @@ -242953,8 +243576,6 @@ "required": [ "arn", "environmentIdentifier", - "name", - "networkFabricType", "transitGatewayId" ], "inputProperties": { @@ -242977,10 +243598,7 @@ }, "description": "Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair." } - }, - "requiredInputs": [ - "networkFabricType" - ] + } }, "aws-native:refactorspaces:Route": { "description": "Definition of AWS::RefactorSpaces::Route Resource Type", @@ -244737,6 +245355,157 @@ "status" ] }, + "aws-native:route53:RecordSet": { + "description": "Resource Type definition for AWS::Route53::RecordSet.", + "properties": { + "aliasTarget": { + "$ref": "#/types/aws-native:route53:RecordSetAliasTarget", + "description": "Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to." + }, + "cidrRoutingConfig": { + "$ref": "#/types/aws-native:route53:RecordSetCidrRoutingConfig", + "description": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location." + }, + "comment": { + "type": "string", + "description": "Optional: Any comments you want to include about a change batch request." + }, + "failover": { + "$ref": "#/types/aws-native:route53:RecordSetFailover", + "description": "To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set." + }, + "geoLocation": { + "$ref": "#/types/aws-native:route53:RecordSetGeoLocation", + "description": "A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query." + }, + "healthCheckId": { + "type": "string", + "description": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check." + }, + "hostedZoneId": { + "type": "string", + "description": "The ID of the hosted zone that you want to create records in.", + "replaceOnChanges": true + }, + "hostedZoneName": { + "type": "string", + "description": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName.", + "replaceOnChanges": true + }, + "multiValueAnswer": { + "type": "boolean", + "description": "To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer." + }, + "name": { + "type": "string", + "description": "The name of the record that you want to create, update, or delete." + }, + "region": { + "type": "string", + "description": "The Amazon EC2 Region where you created the resource that this resource record set refers to." + }, + "resourceRecords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more values that correspond with the value that you specified for the Type property." + }, + "setIdentifier": { + "type": "string", + "description": "An identifier that differentiates among multiple resource record sets that have the same combination of name and type." + }, + "ttl": { + "type": "string", + "description": "The resource record cache time to live (TTL), in seconds." + }, + "type": { + "type": "string", + "description": "The DNS record type." + }, + "weight": { + "type": "integer", + "description": "Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total." + } + }, + "type": "object", + "required": [ + "name", + "type" + ], + "inputProperties": { + "aliasTarget": { + "$ref": "#/types/aws-native:route53:RecordSetAliasTarget", + "description": "Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to." + }, + "cidrRoutingConfig": { + "$ref": "#/types/aws-native:route53:RecordSetCidrRoutingConfig", + "description": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location." + }, + "comment": { + "type": "string", + "description": "Optional: Any comments you want to include about a change batch request." + }, + "failover": { + "$ref": "#/types/aws-native:route53:RecordSetFailover", + "description": "To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set." + }, + "geoLocation": { + "$ref": "#/types/aws-native:route53:RecordSetGeoLocation", + "description": "A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query." + }, + "healthCheckId": { + "type": "string", + "description": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check." + }, + "hostedZoneId": { + "type": "string", + "description": "The ID of the hosted zone that you want to create records in." + }, + "hostedZoneName": { + "type": "string", + "description": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName." + }, + "multiValueAnswer": { + "type": "boolean", + "description": "To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer." + }, + "name": { + "type": "string", + "description": "The name of the record that you want to create, update, or delete." + }, + "region": { + "type": "string", + "description": "The Amazon EC2 Region where you created the resource that this resource record set refers to." + }, + "resourceRecords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more values that correspond with the value that you specified for the Type property." + }, + "setIdentifier": { + "type": "string", + "description": "An identifier that differentiates among multiple resource record sets that have the same combination of name and type." + }, + "ttl": { + "type": "string", + "description": "The resource record cache time to live (TTL), in seconds." + }, + "type": { + "type": "string", + "description": "The DNS record type." + }, + "weight": { + "type": "integer", + "description": "Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total." + } + }, + "requiredInputs": [ + "type" + ] + }, "aws-native:route53profiles:Profile": { "description": "Resource Type definition for AWS::Route53Profiles::Profile", "properties": { @@ -248010,6 +248779,95 @@ "vpcId" ] }, + "aws-native:sagemaker:Endpoint": { + "description": "Resource Type definition for AWS::SageMaker::Endpoint", + "properties": { + "deploymentConfig": { + "$ref": "#/types/aws-native:sagemaker:EndpointDeploymentConfig", + "description": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies." + }, + "endpointArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the endpoint." + }, + "endpointConfigName": { + "type": "string", + "description": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property." + }, + "endpointName": { + "type": "string", + "description": "The name of the SageMaker endpoint. This name must be unique within an AWS Region.", + "replaceOnChanges": true + }, + "excludeRetainedVariantProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:EndpointVariantProperty" + }, + "description": "Specifies a list of variant properties that you want to exclude when updating an endpoint." + }, + "retainAllVariantProperties": { + "type": "boolean", + "description": "When set to true, retains all variant properties for an endpoint when it is updated." + }, + "retainDeploymentConfig": { + "type": "boolean", + "description": "When set to true, retains the deployment configuration during endpoint updates." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "endpointArn", + "endpointConfigName", + "endpointName" + ], + "inputProperties": { + "deploymentConfig": { + "$ref": "#/types/aws-native:sagemaker:EndpointDeploymentConfig", + "description": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies." + }, + "endpointConfigName": { + "type": "string", + "description": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property." + }, + "endpointName": { + "type": "string", + "description": "The name of the SageMaker endpoint. This name must be unique within an AWS Region." + }, + "excludeRetainedVariantProperties": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:EndpointVariantProperty" + }, + "description": "Specifies a list of variant properties that you want to exclude when updating an endpoint." + }, + "retainAllVariantProperties": { + "type": "boolean", + "description": "When set to true, retains all variant properties for an endpoint when it is updated." + }, + "retainDeploymentConfig": { + "type": "boolean", + "description": "When set to true, retains the deployment configuration during endpoint updates." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "endpointConfigName" + ] + }, "aws-native:sagemaker:FeatureGroup": { "description": "Resource Type definition for AWS::SageMaker::FeatureGroup", "properties": { @@ -263824,6 +264682,133 @@ } } }, + "aws-native:appsync:getGraphQlApi": { + "description": "Resource Type definition for AWS::AppSync::GraphQLApi", + "inputs": { + "properties": { + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier." + } + }, + "required": [ + "apiId" + ] + }, + "outputs": { + "properties": { + "additionalAuthenticationProviders": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:appsync:GraphQlApiAdditionalAuthenticationProvider" + }, + "description": "A list of additional authentication providers for the GraphqlApi API." + }, + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier." + }, + "apiType": { + "type": "string", + "description": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED)." + }, + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the API key" + }, + "authenticationType": { + "type": "string", + "description": "Security configuration for your GraphQL API" + }, + "enhancedMetricsConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiEnhancedMetricsConfig", + "description": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent." + }, + "environmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map containing the list of resources with their properties and environment variables." + }, + "graphQlDns": { + "type": "string", + "description": "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API." + }, + "graphQlEndpointArn": { + "type": "string", + "description": "The GraphQL endpoint ARN." + }, + "graphQlUrl": { + "type": "string", + "description": "The Endpoint URL of your GraphQL API." + }, + "introspectionConfig": { + "type": "string", + "description": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled." + }, + "lambdaAuthorizerConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLambdaAuthorizerConfig", + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time." + }, + "logConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiLogConfig", + "description": "The Amazon CloudWatch Logs configuration." + }, + "mergedApiExecutionRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for a merged API. " + }, + "name": { + "type": "string", + "description": "The API name" + }, + "openIdConnectConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiOpenIdConnectConfig", + "description": "The OpenID Connect configuration." + }, + "ownerContact": { + "type": "string", + "description": "The owner contact information for an API resource." + }, + "queryDepthLimit": { + "type": "integer", + "description": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query." + }, + "realtimeDns": { + "type": "string", + "description": "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API." + }, + "realtimeUrl": { + "type": "string", + "description": "The GraphQL API real-time endpoint URL." + }, + "resolverCountLimit": { + "type": "integer", + "description": "The maximum number of resolvers that can be invoked in a single request." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n" + }, + "userPoolConfig": { + "$ref": "#/types/aws-native:appsync:GraphQlApiUserPoolConfig", + "description": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n" + }, + "visibility": { + "type": "string", + "description": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided." + }, + "xrayEnabled": { + "type": "boolean", + "description": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n" + } + } + } + }, "aws-native:appsync:getResolver": { "description": "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*.", "inputs": { @@ -264524,7 +265509,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupTrafficSourceIdentifier" - } + }, + "description": "The traffic sources associated with this Auto Scaling group." }, "vpcZoneIdentifier": { "type": "array", @@ -279137,7 +280123,8 @@ "description": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used." }, "zonalShiftConfig": { - "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig" + "$ref": "#/types/aws-native:eks:ClusterZonalShiftConfig", + "description": "The configuration for zonal shift for the cluster." } } } @@ -285656,7 +286643,7 @@ "properties": { "applicationProtocol": { "$ref": "#/types/aws-native:iot:DomainConfigurationApplicationProtocol", - "description": "An enumerated string that specifies the application-layer protocol.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the application-layer protocol." }, "arn": { "type": "string", @@ -285664,7 +286651,7 @@ }, "authenticationType": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthenticationType", - "description": "An enumerated string that specifies the authentication type.\n\n\u003e This property isn't available in China." + "description": "An enumerated string that specifies the authentication type." }, "authorizerConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationAuthorizerConfig", @@ -285672,7 +286659,7 @@ }, "clientCertificateConfig": { "$ref": "#/types/aws-native:iot:DomainConfigurationClientCertificateConfig", - "description": "An object that specifies the client certificate configuration for a domain.\n\n\u003e This property isn't available in China." + "description": "An object that specifies the client certificate configuration for a domain." }, "domainConfigurationStatus": { "$ref": "#/types/aws-native:iot:DomainConfigurationStatus", @@ -286171,10 +287158,12 @@ "inputs": { "properties": { "packageName": { - "type": "string" + "type": "string", + "description": "The name of the associated software package." }, "versionName": { - "type": "string" + "type": "string", + "description": "The name of the new package version." } }, "required": [ @@ -286188,10 +287177,12 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.\n\nThe combined size of all the attributes on a package version is limited to 3KB." }, "description": { - "type": "string" + "type": "string", + "description": "A summary of the package version being created. This can be used to outline the package's contents or purpose." }, "errorReason": { "type": "string", @@ -297468,7 +298459,7 @@ "properties": { "configuration": { "$ref": "pulumi.json#/Any", - "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nThe following links have the configuration properties and schemas for AWS CloudFormation for the following connectors:\n\n- [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html)\n- [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html)\n\nSimilarly, you can find configuration templates and properties for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "createdAt": { "type": "string", @@ -301203,6 +302194,94 @@ } } }, + "aws-native:route53:getRecordSet": { + "description": "Resource Type definition for AWS::Route53::RecordSet.", + "inputs": { + "properties": { + "hostedZoneId": { + "type": "string", + "description": "The ID of the hosted zone that you want to create records in." + }, + "name": { + "type": "string", + "description": "The name of the record that you want to create, update, or delete." + }, + "setIdentifier": { + "type": "string", + "description": "An identifier that differentiates among multiple resource record sets that have the same combination of name and type." + }, + "type": { + "type": "string", + "description": "The DNS record type." + } + }, + "required": [ + "name", + "hostedZoneId", + "type", + "setIdentifier" + ] + }, + "outputs": { + "properties": { + "aliasTarget": { + "$ref": "#/types/aws-native:route53:RecordSetAliasTarget", + "description": "Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to." + }, + "cidrRoutingConfig": { + "$ref": "#/types/aws-native:route53:RecordSetCidrRoutingConfig", + "description": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location." + }, + "failover": { + "$ref": "#/types/aws-native:route53:RecordSetFailover", + "description": "To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set." + }, + "geoLocation": { + "$ref": "#/types/aws-native:route53:RecordSetGeoLocation", + "description": "A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query." + }, + "healthCheckId": { + "type": "string", + "description": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check." + }, + "multiValueAnswer": { + "type": "boolean", + "description": "To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer." + }, + "name": { + "type": "string", + "description": "The name of the record that you want to create, update, or delete." + }, + "region": { + "type": "string", + "description": "The Amazon EC2 Region where you created the resource that this resource record set refers to." + }, + "resourceRecords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "One or more values that correspond with the value that you specified for the Type property." + }, + "setIdentifier": { + "type": "string", + "description": "An identifier that differentiates among multiple resource record sets that have the same combination of name and type." + }, + "ttl": { + "type": "string", + "description": "The resource record cache time to live (TTL), in seconds." + }, + "type": { + "type": "string", + "description": "The DNS record type." + }, + "weight": { + "type": "integer", + "description": "Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total." + } + } + } + }, "aws-native:route53profiles:getProfile": { "description": "Resource Type definition for AWS::Route53Profiles::Profile", "inputs": { @@ -303015,6 +304094,43 @@ } } }, + "aws-native:sagemaker:getEndpoint": { + "description": "Resource Type definition for AWS::SageMaker::Endpoint", + "inputs": { + "properties": { + "endpointArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the endpoint." + } + }, + "required": [ + "endpointArn" + ] + }, + "outputs": { + "properties": { + "deploymentConfig": { + "$ref": "#/types/aws-native:sagemaker:EndpointDeploymentConfig", + "description": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies." + }, + "endpointArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the endpoint." + }, + "endpointConfigName": { + "type": "string", + "description": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, "aws-native:sagemaker:getFeatureGroup": { "description": "Resource Type definition for AWS::SageMaker::FeatureGroup", "inputs": { diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json index 27a4d52a26..4e55eb66b7 100644 --- a/reports/missedAutonaming.json +++ b/reports/missedAutonaming.json @@ -3416,7 +3416,8 @@ "description": "Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:\n\n- `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts .\n- `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account ." }, "unusedReservationBillingOwnerId": { - "type": "string" + "type": "string", + "description": "The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned." } } }, @@ -9767,7 +9768,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nThe following links have the configuration properties and schemas for AWS CloudFormation for the following connectors:\n\n- [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html)\n- [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html)\n\nSimilarly, you can find configuration templates and properties for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "description": { "type": "string", diff --git a/sdk/dotnet/AppSync/GetGraphQlApi.cs b/sdk/dotnet/AppSync/GetGraphQlApi.cs new file mode 100644 index 0000000000..359b503b2f --- /dev/null +++ b/sdk/dotnet/AppSync/GetGraphQlApi.cs @@ -0,0 +1,240 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync +{ + public static class GetGraphQlApi + { + /// + /// Resource Type definition for AWS::AppSync::GraphQLApi + /// + public static Task InvokeAsync(GetGraphQlApiArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:appsync:getGraphQlApi", args ?? new GetGraphQlApiArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::AppSync::GraphQLApi + /// + public static Output Invoke(GetGraphQlApiInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:appsync:getGraphQlApi", args ?? new GetGraphQlApiInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetGraphQlApiArgs : global::Pulumi.InvokeArgs + { + /// + /// Unique AWS AppSync GraphQL API identifier. + /// + [Input("apiId", required: true)] + public string ApiId { get; set; } = null!; + + public GetGraphQlApiArgs() + { + } + public static new GetGraphQlApiArgs Empty => new GetGraphQlApiArgs(); + } + + public sealed class GetGraphQlApiInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Unique AWS AppSync GraphQL API identifier. + /// + [Input("apiId", required: true)] + public Input ApiId { get; set; } = null!; + + public GetGraphQlApiInvokeArgs() + { + } + public static new GetGraphQlApiInvokeArgs Empty => new GetGraphQlApiInvokeArgs(); + } + + + [OutputType] + public sealed class GetGraphQlApiResult + { + /// + /// A list of additional authentication providers for the GraphqlApi API. + /// + public readonly ImmutableArray AdditionalAuthenticationProviders; + /// + /// Unique AWS AppSync GraphQL API identifier. + /// + public readonly string? ApiId; + /// + /// The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + /// + public readonly string? ApiType; + /// + /// The Amazon Resource Name (ARN) of the API key + /// + public readonly string? Arn; + /// + /// Security configuration for your GraphQL API + /// + public readonly string? AuthenticationType; + /// + /// Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + /// + public readonly Outputs.GraphQlApiEnhancedMetricsConfig? EnhancedMetricsConfig; + /// + /// A map containing the list of resources with their properties and environment variables. + /// + public readonly ImmutableDictionary? EnvironmentVariables; + /// + /// The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + /// + public readonly string? GraphQlDns; + /// + /// The GraphQL endpoint ARN. + /// + public readonly string? GraphQlEndpointArn; + /// + /// The Endpoint URL of your GraphQL API. + /// + public readonly string? GraphQlUrl; + /// + /// Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + /// + public readonly string? IntrospectionConfig; + /// + /// A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + /// + public readonly Outputs.GraphQlApiLambdaAuthorizerConfig? LambdaAuthorizerConfig; + /// + /// The Amazon CloudWatch Logs configuration. + /// + public readonly Outputs.GraphQlApiLogConfig? LogConfig; + /// + /// The AWS Identity and Access Management service role ARN for a merged API. + /// + public readonly string? MergedApiExecutionRoleArn; + /// + /// The API name + /// + public readonly string? Name; + /// + /// The OpenID Connect configuration. + /// + public readonly Outputs.GraphQlApiOpenIdConnectConfig? OpenIdConnectConfig; + /// + /// The owner contact information for an API resource. + /// + public readonly string? OwnerContact; + /// + /// The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + /// + public readonly int? QueryDepthLimit; + /// + /// The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + /// + public readonly string? RealtimeDns; + /// + /// The GraphQL API real-time endpoint URL. + /// + public readonly string? RealtimeUrl; + /// + /// The maximum number of resolvers that can be invoked in a single request. + /// + public readonly int? ResolverCountLimit; + /// + /// An arbitrary set of tags (key-value pairs) for this GraphQL API. + /// + public readonly ImmutableArray Tags; + /// + /// Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + /// + public readonly Outputs.GraphQlApiUserPoolConfig? UserPoolConfig; + /// + /// Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + /// + public readonly string? Visibility; + /// + /// A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + /// + public readonly bool? XrayEnabled; + + [OutputConstructor] + private GetGraphQlApiResult( + ImmutableArray additionalAuthenticationProviders, + + string? apiId, + + string? apiType, + + string? arn, + + string? authenticationType, + + Outputs.GraphQlApiEnhancedMetricsConfig? enhancedMetricsConfig, + + ImmutableDictionary? environmentVariables, + + string? graphQlDns, + + string? graphQlEndpointArn, + + string? graphQlUrl, + + string? introspectionConfig, + + Outputs.GraphQlApiLambdaAuthorizerConfig? lambdaAuthorizerConfig, + + Outputs.GraphQlApiLogConfig? logConfig, + + string? mergedApiExecutionRoleArn, + + string? name, + + Outputs.GraphQlApiOpenIdConnectConfig? openIdConnectConfig, + + string? ownerContact, + + int? queryDepthLimit, + + string? realtimeDns, + + string? realtimeUrl, + + int? resolverCountLimit, + + ImmutableArray tags, + + Outputs.GraphQlApiUserPoolConfig? userPoolConfig, + + string? visibility, + + bool? xrayEnabled) + { + AdditionalAuthenticationProviders = additionalAuthenticationProviders; + ApiId = apiId; + ApiType = apiType; + Arn = arn; + AuthenticationType = authenticationType; + EnhancedMetricsConfig = enhancedMetricsConfig; + EnvironmentVariables = environmentVariables; + GraphQlDns = graphQlDns; + GraphQlEndpointArn = graphQlEndpointArn; + GraphQlUrl = graphQlUrl; + IntrospectionConfig = introspectionConfig; + LambdaAuthorizerConfig = lambdaAuthorizerConfig; + LogConfig = logConfig; + MergedApiExecutionRoleArn = mergedApiExecutionRoleArn; + Name = name; + OpenIdConnectConfig = openIdConnectConfig; + OwnerContact = ownerContact; + QueryDepthLimit = queryDepthLimit; + RealtimeDns = realtimeDns; + RealtimeUrl = realtimeUrl; + ResolverCountLimit = resolverCountLimit; + Tags = tags; + UserPoolConfig = userPoolConfig; + Visibility = visibility; + XrayEnabled = xrayEnabled; + } + } +} diff --git a/sdk/dotnet/AppSync/GraphQlApi.cs b/sdk/dotnet/AppSync/GraphQlApi.cs new file mode 100644 index 0000000000..c8ee395396 --- /dev/null +++ b/sdk/dotnet/AppSync/GraphQlApi.cs @@ -0,0 +1,344 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync +{ + /// + /// Resource Type definition for AWS::AppSync::GraphQLApi + /// + [AwsNativeResourceType("aws-native:appsync:GraphQlApi")] + public partial class GraphQlApi : global::Pulumi.CustomResource + { + /// + /// A list of additional authentication providers for the GraphqlApi API. + /// + [Output("additionalAuthenticationProviders")] + public Output> AdditionalAuthenticationProviders { get; private set; } = null!; + + /// + /// Unique AWS AppSync GraphQL API identifier. + /// + [Output("apiId")] + public Output ApiId { get; private set; } = null!; + + /// + /// The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + /// + [Output("apiType")] + public Output ApiType { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the API key + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Security configuration for your GraphQL API + /// + [Output("authenticationType")] + public Output AuthenticationType { get; private set; } = null!; + + /// + /// Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + /// + [Output("enhancedMetricsConfig")] + public Output EnhancedMetricsConfig { get; private set; } = null!; + + /// + /// A map containing the list of resources with their properties and environment variables. + /// + [Output("environmentVariables")] + public Output?> EnvironmentVariables { get; private set; } = null!; + + /// + /// The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + /// + [Output("graphQlDns")] + public Output GraphQlDns { get; private set; } = null!; + + /// + /// The GraphQL endpoint ARN. + /// + [Output("graphQlEndpointArn")] + public Output GraphQlEndpointArn { get; private set; } = null!; + + /// + /// The Endpoint URL of your GraphQL API. + /// + [Output("graphQlUrl")] + public Output GraphQlUrl { get; private set; } = null!; + + /// + /// Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + /// + [Output("introspectionConfig")] + public Output IntrospectionConfig { get; private set; } = null!; + + /// + /// A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + /// + [Output("lambdaAuthorizerConfig")] + public Output LambdaAuthorizerConfig { get; private set; } = null!; + + /// + /// The Amazon CloudWatch Logs configuration. + /// + [Output("logConfig")] + public Output LogConfig { get; private set; } = null!; + + /// + /// The AWS Identity and Access Management service role ARN for a merged API. + /// + [Output("mergedApiExecutionRoleArn")] + public Output MergedApiExecutionRoleArn { get; private set; } = null!; + + /// + /// The API name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The OpenID Connect configuration. + /// + [Output("openIdConnectConfig")] + public Output OpenIdConnectConfig { get; private set; } = null!; + + /// + /// The owner contact information for an API resource. + /// + [Output("ownerContact")] + public Output OwnerContact { get; private set; } = null!; + + /// + /// The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + /// + [Output("queryDepthLimit")] + public Output QueryDepthLimit { get; private set; } = null!; + + /// + /// The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + /// + [Output("realtimeDns")] + public Output RealtimeDns { get; private set; } = null!; + + /// + /// The GraphQL API real-time endpoint URL. + /// + [Output("realtimeUrl")] + public Output RealtimeUrl { get; private set; } = null!; + + /// + /// The maximum number of resolvers that can be invoked in a single request. + /// + [Output("resolverCountLimit")] + public Output ResolverCountLimit { get; private set; } = null!; + + /// + /// An arbitrary set of tags (key-value pairs) for this GraphQL API. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + /// + [Output("userPoolConfig")] + public Output UserPoolConfig { get; private set; } = null!; + + /// + /// Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + /// + [Output("visibility")] + public Output Visibility { get; private set; } = null!; + + /// + /// A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + /// + [Output("xrayEnabled")] + public Output XrayEnabled { get; private set; } = null!; + + + /// + /// Create a GraphQlApi 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 GraphQlApi(string name, GraphQlApiArgs args, CustomResourceOptions? options = null) + : base("aws-native:appsync:GraphQlApi", name, args ?? new GraphQlApiArgs(), MakeResourceOptions(options, "")) + { + } + + private GraphQlApi(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:appsync:GraphQlApi", name, null, 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 GraphQlApi 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. + /// A bag of options that control this resource's behavior + public static GraphQlApi Get(string name, Input id, CustomResourceOptions? options = null) + { + return new GraphQlApi(name, id, options); + } + } + + public sealed class GraphQlApiArgs : global::Pulumi.ResourceArgs + { + [Input("additionalAuthenticationProviders")] + private InputList? _additionalAuthenticationProviders; + + /// + /// A list of additional authentication providers for the GraphqlApi API. + /// + public InputList AdditionalAuthenticationProviders + { + get => _additionalAuthenticationProviders ?? (_additionalAuthenticationProviders = new InputList()); + set => _additionalAuthenticationProviders = value; + } + + /// + /// The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + /// + [Input("apiType")] + public Input? ApiType { get; set; } + + /// + /// Security configuration for your GraphQL API + /// + [Input("authenticationType", required: true)] + public Input AuthenticationType { get; set; } = null!; + + /// + /// Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + /// + [Input("enhancedMetricsConfig")] + public Input? EnhancedMetricsConfig { get; set; } + + [Input("environmentVariables")] + private InputMap? _environmentVariables; + + /// + /// A map containing the list of resources with their properties and environment variables. + /// + public InputMap EnvironmentVariables + { + get => _environmentVariables ?? (_environmentVariables = new InputMap()); + set => _environmentVariables = value; + } + + /// + /// Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + /// + [Input("introspectionConfig")] + public Input? IntrospectionConfig { get; set; } + + /// + /// A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + /// + [Input("lambdaAuthorizerConfig")] + public Input? LambdaAuthorizerConfig { get; set; } + + /// + /// The Amazon CloudWatch Logs configuration. + /// + [Input("logConfig")] + public Input? LogConfig { get; set; } + + /// + /// The AWS Identity and Access Management service role ARN for a merged API. + /// + [Input("mergedApiExecutionRoleArn")] + public Input? MergedApiExecutionRoleArn { get; set; } + + /// + /// The API name + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The OpenID Connect configuration. + /// + [Input("openIdConnectConfig")] + public Input? OpenIdConnectConfig { get; set; } + + /// + /// The owner contact information for an API resource. + /// + [Input("ownerContact")] + public Input? OwnerContact { get; set; } + + /// + /// The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + /// + [Input("queryDepthLimit")] + public Input? QueryDepthLimit { get; set; } + + /// + /// The maximum number of resolvers that can be invoked in a single request. + /// + [Input("resolverCountLimit")] + public Input? ResolverCountLimit { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// An arbitrary set of tags (key-value pairs) for this GraphQL API. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + /// + [Input("userPoolConfig")] + public Input? UserPoolConfig { get; set; } + + /// + /// Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + /// + [Input("visibility")] + public Input? Visibility { get; set; } + + /// + /// A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + /// + [Input("xrayEnabled")] + public Input? XrayEnabled { get; set; } + + public GraphQlApiArgs() + { + } + public static new GraphQlApiArgs Empty => new GraphQlApiArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/GraphQlApiAdditionalAuthenticationProviderArgs.cs b/sdk/dotnet/AppSync/Inputs/GraphQlApiAdditionalAuthenticationProviderArgs.cs new file mode 100644 index 0000000000..48a19bf326 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/GraphQlApiAdditionalAuthenticationProviderArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class GraphQlApiAdditionalAuthenticationProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + /// + [Input("authenticationType", required: true)] + public Input AuthenticationType { get; set; } = null!; + + /// + /// Configuration for AWS Lambda function authorization. + /// + [Input("lambdaAuthorizerConfig")] + public Input? LambdaAuthorizerConfig { get; set; } + + /// + /// The OIDC configuration. + /// + [Input("openIdConnectConfig")] + public Input? OpenIdConnectConfig { get; set; } + + /// + /// The Amazon Cognito user pool configuration. + /// + [Input("userPoolConfig")] + public Input? UserPoolConfig { get; set; } + + public GraphQlApiAdditionalAuthenticationProviderArgs() + { + } + public static new GraphQlApiAdditionalAuthenticationProviderArgs Empty => new GraphQlApiAdditionalAuthenticationProviderArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/GraphQlApiCognitoUserPoolConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/GraphQlApiCognitoUserPoolConfigArgs.cs new file mode 100644 index 0000000000..a7a4324cf4 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/GraphQlApiCognitoUserPoolConfigArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class GraphQlApiCognitoUserPoolConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// A regular expression for validating the incoming Amazon Cognito user pool app client ID. + /// + [Input("appIdClientRegex")] + public Input? AppIdClientRegex { get; set; } + + /// + /// The AWS Region in which the user pool was created. + /// + [Input("awsRegion")] + public Input? AwsRegion { get; set; } + + /// + /// The user pool ID + /// + [Input("userPoolId")] + public Input? UserPoolId { get; set; } + + public GraphQlApiCognitoUserPoolConfigArgs() + { + } + public static new GraphQlApiCognitoUserPoolConfigArgs Empty => new GraphQlApiCognitoUserPoolConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/GraphQlApiEnhancedMetricsConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/GraphQlApiEnhancedMetricsConfigArgs.cs new file mode 100644 index 0000000000..f20b0fddd9 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/GraphQlApiEnhancedMetricsConfigArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class GraphQlApiEnhancedMetricsConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + /// + [Input("dataSourceLevelMetricsBehavior", required: true)] + public Input DataSourceLevelMetricsBehavior { get; set; } = null!; + + /// + /// Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + /// + [Input("operationLevelMetricsConfig", required: true)] + public Input OperationLevelMetricsConfig { get; set; } = null!; + + /// + /// Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + /// + [Input("resolverLevelMetricsBehavior", required: true)] + public Input ResolverLevelMetricsBehavior { get; set; } = null!; + + public GraphQlApiEnhancedMetricsConfigArgs() + { + } + public static new GraphQlApiEnhancedMetricsConfigArgs Empty => new GraphQlApiEnhancedMetricsConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/GraphQlApiLambdaAuthorizerConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/GraphQlApiLambdaAuthorizerConfigArgs.cs new file mode 100644 index 0000000000..d5aa9ae858 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/GraphQlApiLambdaAuthorizerConfigArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class GraphQlApiLambdaAuthorizerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of seconds a response should be cached for. + /// + [Input("authorizerResultTtlInSeconds")] + public Input? AuthorizerResultTtlInSeconds { get; set; } + + /// + /// The ARN of the Lambda function to be called for authorization. + /// + [Input("authorizerUri")] + public Input? AuthorizerUri { get; set; } + + /// + /// A regular expression for validation of tokens before the Lambda function is called. + /// + [Input("identityValidationExpression")] + public Input? IdentityValidationExpression { get; set; } + + public GraphQlApiLambdaAuthorizerConfigArgs() + { + } + public static new GraphQlApiLambdaAuthorizerConfigArgs Empty => new GraphQlApiLambdaAuthorizerConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/GraphQlApiLogConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/GraphQlApiLogConfigArgs.cs new file mode 100644 index 0000000000..66cb10b6d3 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/GraphQlApiLogConfigArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class GraphQlApiLogConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + /// + [Input("cloudWatchLogsRoleArn")] + public Input? CloudWatchLogsRoleArn { get; set; } + + /// + /// Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + /// + [Input("excludeVerboseContent")] + public Input? ExcludeVerboseContent { get; set; } + + /// + /// The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + /// + [Input("fieldLogLevel")] + public Input? FieldLogLevel { get; set; } + + public GraphQlApiLogConfigArgs() + { + } + public static new GraphQlApiLogConfigArgs Empty => new GraphQlApiLogConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/GraphQlApiOpenIdConnectConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/GraphQlApiOpenIdConnectConfigArgs.cs new file mode 100644 index 0000000000..05e87df903 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/GraphQlApiOpenIdConnectConfigArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class GraphQlApiOpenIdConnectConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of milliseconds that a token is valid after being authenticated. + /// + [Input("authTtl")] + public Input? AuthTtl { get; set; } + + /// + /// The client identifier of the Relying party at the OpenID identity provider. + /// + [Input("clientId")] + public Input? ClientId { get; set; } + + /// + /// The number of milliseconds that a token is valid after it's issued to a user. + /// + [Input("iatTtl")] + public Input? IatTtl { get; set; } + + /// + /// The issuer for the OIDC configuration. + /// + [Input("issuer")] + public Input? Issuer { get; set; } + + public GraphQlApiOpenIdConnectConfigArgs() + { + } + public static new GraphQlApiOpenIdConnectConfigArgs Empty => new GraphQlApiOpenIdConnectConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/GraphQlApiUserPoolConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/GraphQlApiUserPoolConfigArgs.cs new file mode 100644 index 0000000000..fbf2144128 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/GraphQlApiUserPoolConfigArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class GraphQlApiUserPoolConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// A regular expression for validating the incoming Amazon Cognito user pool app client ID. + /// + [Input("appIdClientRegex")] + public Input? AppIdClientRegex { get; set; } + + /// + /// The AWS Region in which the user pool was created. + /// + [Input("awsRegion")] + public Input? AwsRegion { get; set; } + + /// + /// The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + /// + [Input("defaultAction")] + public Input? DefaultAction { get; set; } + + /// + /// The user pool ID. + /// + [Input("userPoolId")] + public Input? UserPoolId { get; set; } + + public GraphQlApiUserPoolConfigArgs() + { + } + public static new GraphQlApiUserPoolConfigArgs Empty => new GraphQlApiUserPoolConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Outputs/GraphQlApiAdditionalAuthenticationProvider.cs b/sdk/dotnet/AppSync/Outputs/GraphQlApiAdditionalAuthenticationProvider.cs new file mode 100644 index 0000000000..356be59b78 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/GraphQlApiAdditionalAuthenticationProvider.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class GraphQlApiAdditionalAuthenticationProvider + { + /// + /// The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + /// + public readonly string AuthenticationType; + /// + /// Configuration for AWS Lambda function authorization. + /// + public readonly Outputs.GraphQlApiLambdaAuthorizerConfig? LambdaAuthorizerConfig; + /// + /// The OIDC configuration. + /// + public readonly Outputs.GraphQlApiOpenIdConnectConfig? OpenIdConnectConfig; + /// + /// The Amazon Cognito user pool configuration. + /// + public readonly Outputs.GraphQlApiCognitoUserPoolConfig? UserPoolConfig; + + [OutputConstructor] + private GraphQlApiAdditionalAuthenticationProvider( + string authenticationType, + + Outputs.GraphQlApiLambdaAuthorizerConfig? lambdaAuthorizerConfig, + + Outputs.GraphQlApiOpenIdConnectConfig? openIdConnectConfig, + + Outputs.GraphQlApiCognitoUserPoolConfig? userPoolConfig) + { + AuthenticationType = authenticationType; + LambdaAuthorizerConfig = lambdaAuthorizerConfig; + OpenIdConnectConfig = openIdConnectConfig; + UserPoolConfig = userPoolConfig; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/GraphQlApiCognitoUserPoolConfig.cs b/sdk/dotnet/AppSync/Outputs/GraphQlApiCognitoUserPoolConfig.cs new file mode 100644 index 0000000000..d88c61041d --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/GraphQlApiCognitoUserPoolConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class GraphQlApiCognitoUserPoolConfig + { + /// + /// A regular expression for validating the incoming Amazon Cognito user pool app client ID. + /// + public readonly string? AppIdClientRegex; + /// + /// The AWS Region in which the user pool was created. + /// + public readonly string? AwsRegion; + /// + /// The user pool ID + /// + public readonly string? UserPoolId; + + [OutputConstructor] + private GraphQlApiCognitoUserPoolConfig( + string? appIdClientRegex, + + string? awsRegion, + + string? userPoolId) + { + AppIdClientRegex = appIdClientRegex; + AwsRegion = awsRegion; + UserPoolId = userPoolId; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/GraphQlApiEnhancedMetricsConfig.cs b/sdk/dotnet/AppSync/Outputs/GraphQlApiEnhancedMetricsConfig.cs new file mode 100644 index 0000000000..78577f7c87 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/GraphQlApiEnhancedMetricsConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class GraphQlApiEnhancedMetricsConfig + { + /// + /// Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + /// + public readonly string DataSourceLevelMetricsBehavior; + /// + /// Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + /// + public readonly string OperationLevelMetricsConfig; + /// + /// Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + /// + public readonly string ResolverLevelMetricsBehavior; + + [OutputConstructor] + private GraphQlApiEnhancedMetricsConfig( + string dataSourceLevelMetricsBehavior, + + string operationLevelMetricsConfig, + + string resolverLevelMetricsBehavior) + { + DataSourceLevelMetricsBehavior = dataSourceLevelMetricsBehavior; + OperationLevelMetricsConfig = operationLevelMetricsConfig; + ResolverLevelMetricsBehavior = resolverLevelMetricsBehavior; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/GraphQlApiLambdaAuthorizerConfig.cs b/sdk/dotnet/AppSync/Outputs/GraphQlApiLambdaAuthorizerConfig.cs new file mode 100644 index 0000000000..56b8d93bfd --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/GraphQlApiLambdaAuthorizerConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class GraphQlApiLambdaAuthorizerConfig + { + /// + /// The number of seconds a response should be cached for. + /// + public readonly int? AuthorizerResultTtlInSeconds; + /// + /// The ARN of the Lambda function to be called for authorization. + /// + public readonly string? AuthorizerUri; + /// + /// A regular expression for validation of tokens before the Lambda function is called. + /// + public readonly string? IdentityValidationExpression; + + [OutputConstructor] + private GraphQlApiLambdaAuthorizerConfig( + int? authorizerResultTtlInSeconds, + + string? authorizerUri, + + string? identityValidationExpression) + { + AuthorizerResultTtlInSeconds = authorizerResultTtlInSeconds; + AuthorizerUri = authorizerUri; + IdentityValidationExpression = identityValidationExpression; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/GraphQlApiLogConfig.cs b/sdk/dotnet/AppSync/Outputs/GraphQlApiLogConfig.cs new file mode 100644 index 0000000000..205256c920 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/GraphQlApiLogConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class GraphQlApiLogConfig + { + /// + /// The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + /// + public readonly string? CloudWatchLogsRoleArn; + /// + /// Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + /// + public readonly bool? ExcludeVerboseContent; + /// + /// The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + /// + public readonly string? FieldLogLevel; + + [OutputConstructor] + private GraphQlApiLogConfig( + string? cloudWatchLogsRoleArn, + + bool? excludeVerboseContent, + + string? fieldLogLevel) + { + CloudWatchLogsRoleArn = cloudWatchLogsRoleArn; + ExcludeVerboseContent = excludeVerboseContent; + FieldLogLevel = fieldLogLevel; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/GraphQlApiOpenIdConnectConfig.cs b/sdk/dotnet/AppSync/Outputs/GraphQlApiOpenIdConnectConfig.cs new file mode 100644 index 0000000000..022c8ae2d8 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/GraphQlApiOpenIdConnectConfig.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class GraphQlApiOpenIdConnectConfig + { + /// + /// The number of milliseconds that a token is valid after being authenticated. + /// + public readonly double? AuthTtl; + /// + /// The client identifier of the Relying party at the OpenID identity provider. + /// + public readonly string? ClientId; + /// + /// The number of milliseconds that a token is valid after it's issued to a user. + /// + public readonly double? IatTtl; + /// + /// The issuer for the OIDC configuration. + /// + public readonly string? Issuer; + + [OutputConstructor] + private GraphQlApiOpenIdConnectConfig( + double? authTtl, + + string? clientId, + + double? iatTtl, + + string? issuer) + { + AuthTtl = authTtl; + ClientId = clientId; + IatTtl = iatTtl; + Issuer = issuer; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/GraphQlApiUserPoolConfig.cs b/sdk/dotnet/AppSync/Outputs/GraphQlApiUserPoolConfig.cs new file mode 100644 index 0000000000..854fe570ff --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/GraphQlApiUserPoolConfig.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class GraphQlApiUserPoolConfig + { + /// + /// A regular expression for validating the incoming Amazon Cognito user pool app client ID. + /// + public readonly string? AppIdClientRegex; + /// + /// The AWS Region in which the user pool was created. + /// + public readonly string? AwsRegion; + /// + /// The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + /// + public readonly string? DefaultAction; + /// + /// The user pool ID. + /// + public readonly string? UserPoolId; + + [OutputConstructor] + private GraphQlApiUserPoolConfig( + string? appIdClientRegex, + + string? awsRegion, + + string? defaultAction, + + string? userPoolId) + { + AppIdClientRegex = appIdClientRegex; + AwsRegion = awsRegion; + DefaultAction = defaultAction; + UserPoolId = userPoolId; + } + } +} diff --git a/sdk/dotnet/AutoScaling/AutoScalingGroup.cs b/sdk/dotnet/AutoScaling/AutoScalingGroup.cs index 6195fcf5c9..e3fa90cebd 100644 --- a/sdk/dotnet/AutoScaling/AutoScalingGroup.cs +++ b/sdk/dotnet/AutoScaling/AutoScalingGroup.cs @@ -211,6 +211,9 @@ public partial class AutoScalingGroup : global::Pulumi.CustomResource [Output("terminationPolicies")] public Output> TerminationPolicies { get; private set; } = null!; + /// + /// The traffic sources associated with this Auto Scaling group. + /// [Output("trafficSources")] public Output> TrafficSources { get; private set; } = null!; @@ -516,6 +519,10 @@ public InputList TerminationPolicies [Input("trafficSources")] private InputList? _trafficSources; + + /// + /// The traffic sources associated with this Auto Scaling group. + /// public InputList TrafficSources { get => _trafficSources ?? (_trafficSources = new InputList()); diff --git a/sdk/dotnet/AutoScaling/GetAutoScalingGroup.cs b/sdk/dotnet/AutoScaling/GetAutoScalingGroup.cs index 8d8350ebdb..fbde258e06 100644 --- a/sdk/dotnet/AutoScaling/GetAutoScalingGroup.cs +++ b/sdk/dotnet/AutoScaling/GetAutoScalingGroup.cs @@ -191,6 +191,9 @@ public sealed class GetAutoScalingGroupResult /// Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` /// public readonly ImmutableArray TerminationPolicies; + /// + /// The traffic sources associated with this Auto Scaling group. + /// public readonly ImmutableArray TrafficSources; /// /// A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. diff --git a/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupTrafficSourceIdentifierArgs.cs b/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupTrafficSourceIdentifierArgs.cs index d517226e23..35a5287588 100644 --- a/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupTrafficSourceIdentifierArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupTrafficSourceIdentifierArgs.cs @@ -12,9 +12,35 @@ namespace Pulumi.AwsNative.AutoScaling.Inputs public sealed class AutoScalingGroupTrafficSourceIdentifierArgs : global::Pulumi.ResourceArgs { + /// + /// Identifies the traffic source. + /// + /// For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + /// + /// For example: + /// + /// - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + /// - Classic Load Balancer name: `my-classic-load-balancer` + /// - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + /// + /// To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + /// + /// To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + /// [Input("identifier", required: true)] public Input Identifier { get; set; } = null!; + /// + /// Provides additional context for the value of `Identifier` . + /// + /// The following lists the valid values: + /// + /// - `elb` if `Identifier` is the name of a Classic Load Balancer. + /// - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + /// - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + /// + /// Required if the identifier is the name of a Classic Load Balancer. + /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupTrafficSourceIdentifier.cs b/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupTrafficSourceIdentifier.cs index 2f9a30807e..a3f81e259a 100644 --- a/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupTrafficSourceIdentifier.cs +++ b/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupTrafficSourceIdentifier.cs @@ -13,7 +13,33 @@ namespace Pulumi.AwsNative.AutoScaling.Outputs [OutputType] public sealed class AutoScalingGroupTrafficSourceIdentifier { + /// + /// Identifies the traffic source. + /// + /// For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + /// + /// For example: + /// + /// - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + /// - Classic Load Balancer name: `my-classic-load-balancer` + /// - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + /// + /// To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + /// + /// To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + /// public readonly string Identifier; + /// + /// Provides additional context for the value of `Identifier` . + /// + /// The following lists the valid values: + /// + /// - `elb` if `Identifier` is the name of a Classic Load Balancer. + /// - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + /// - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + /// + /// Required if the identifier is the name of a Classic Load Balancer. + /// public readonly string Type; [OutputConstructor] diff --git a/sdk/dotnet/Bedrock/Enums.cs b/sdk/dotnet/Bedrock/Enums.cs index 865b0f1f8c..3b5836c412 100644 --- a/sdk/dotnet/Bedrock/Enums.cs +++ b/sdk/dotnet/Bedrock/Enums.cs @@ -21,6 +21,7 @@ private AgentActionGroupSignature(string value) } public static AgentActionGroupSignature AmazonUserInput { get; } = new AgentActionGroupSignature("AMAZON.UserInput"); + public static AgentActionGroupSignature AmazonCodeInterpreter { get; } = new AgentActionGroupSignature("AMAZON.CodeInterpreter"); public static bool operator ==(AgentActionGroupSignature left, AgentActionGroupSignature right) => left.Equals(right); public static bool operator !=(AgentActionGroupSignature left, AgentActionGroupSignature right) => !left.Equals(right); diff --git a/sdk/dotnet/Ec2/CapacityReservation.cs b/sdk/dotnet/Ec2/CapacityReservation.cs index ed1c434c2c..94ef3b41cc 100644 --- a/sdk/dotnet/Ec2/CapacityReservation.cs +++ b/sdk/dotnet/Ec2/CapacityReservation.cs @@ -128,6 +128,9 @@ public partial class CapacityReservation : global::Pulumi.CustomResource [Output("totalInstanceCount")] public Output TotalInstanceCount { get; private set; } = null!; + /// + /// The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. + /// [Output("unusedReservationBillingOwnerId")] public Output UnusedReservationBillingOwnerId { get; private set; } = null!; @@ -289,6 +292,9 @@ public InputList TagSpecificatio [Input("tenancy")] public Input? Tenancy { get; set; } + /// + /// The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. + /// [Input("unusedReservationBillingOwnerId")] public Input? UnusedReservationBillingOwnerId { get; set; } diff --git a/sdk/dotnet/Ec2/Enums.cs b/sdk/dotnet/Ec2/Enums.cs index bc62ed5a29..dafbf1ce78 100644 --- a/sdk/dotnet/Ec2/Enums.cs +++ b/sdk/dotnet/Ec2/Enums.cs @@ -2099,9 +2099,8 @@ private VpcEndpointType(string value) } /// - /// Set log format. Default format is `json` . - /// - /// Valid values: `json` | `text` + /// Set log format. Default format is ``json``. + /// Valid values: ``json`` | ``text`` /// [EnumType] public readonly struct VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat : IEquatable @@ -2295,11 +2294,9 @@ private VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue(string value } /// - /// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - /// - /// Valid Values: `clear` | `none` | `restart` - /// - /// Default: `clear` + /// The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + /// Valid Values: ``clear`` | ``none`` | ``restart`` + /// Default: ``clear`` /// [EnumType] public readonly struct VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction : IEquatable @@ -2331,11 +2328,9 @@ private VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction(string value) } /// - /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - /// - /// Valid Values: `add` | `start` - /// - /// Default: `add` + /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + /// Valid Values: ``add`` | ``start`` + /// Default: ``add`` /// [EnumType] public readonly struct VpnConnectionVpnTunnelOptionsSpecificationStartupAction : IEquatable diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs index 02d7f5a7d2..34d6962baa 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs @@ -10,12 +10,14 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Options for sending VPN tunnel logs to CloudWatch. + /// public sealed class VpnConnectionCloudwatchLogOptionsSpecificationArgs : global::Pulumi.ResourceArgs { /// - /// Enable or disable VPN tunnel logging feature. Default value is `False` . - /// - /// Valid values: `True` | `False` + /// Enable or disable VPN tunnel logging feature. Default value is ``False``. + /// Valid values: ``True`` | ``False`` /// [Input("logEnabled")] public Input? LogEnabled { get; set; } @@ -27,9 +29,8 @@ public sealed class VpnConnectionCloudwatchLogOptionsSpecificationArgs : global: public Input? LogGroupArn { get; set; } /// - /// Set log format. Default format is `json` . - /// - /// Valid values: `json` | `text` + /// Set log format. Default format is ``json``. + /// Valid values: ``json`` | ``text`` /// [Input("logOutputFormat")] public Input? LogOutputFormat { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs index 9ed7e41cf7..d619344e12 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// The IKE version that is permitted for the VPN tunnel. + /// public sealed class VpnConnectionIkeVersionsRequestListValueArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs index b0ee75c429..924f1742c2 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. + /// public sealed class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs index c8f736b416..89dae6c8e5 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. + /// public sealed class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs index 983ea1e669..5f65abc1d6 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. + /// public sealed class VpnConnectionPhase1dhGroupNumbersRequestListValueArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs index 984952f40a..eaf7f016cf 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. + /// public sealed class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs index 0eb8704354..f790d75dd1 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. + /// public sealed class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs index 2deff2fff5..6a7eb70d8c 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. + /// public sealed class VpnConnectionPhase2dhGroupNumbersRequestListValueArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs index 0dc854f966..1137f71358 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs { + /// + /// Options for logging VPN tunnel activity. + /// public sealed class VpnConnectionVpnTunnelLogOptionsSpecificationArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs index db3790540a..39b7173cf5 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs @@ -16,21 +16,17 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionVpnTunnelOptionsSpecificationArgs : global::Pulumi.ResourceArgs { /// - /// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - /// - /// Valid Values: `clear` | `none` | `restart` - /// - /// Default: `clear` + /// The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + /// Valid Values: ``clear`` | ``none`` | ``restart`` + /// Default: ``clear`` /// [Input("dpdTimeoutAction")] public Input? DpdTimeoutAction { get; set; } /// /// The number of seconds after which a DPD timeout occurs. - /// - /// Constraints: A value greater than or equal to 30. - /// - /// Default: `30` + /// Constraints: A value greater than or equal to 30. + /// Default: ``30`` /// [Input("dpdTimeoutSeconds")] public Input? DpdTimeoutSeconds { get; set; } @@ -46,8 +42,7 @@ public sealed class VpnConnectionVpnTunnelOptionsSpecificationArgs : global::Pul /// /// The IKE versions that are permitted for the VPN tunnel. - /// - /// Valid values: `ikev1` | `ikev2` + /// Valid values: ``ikev1`` | ``ikev2`` /// public InputList IkeVersions { @@ -66,8 +61,7 @@ public InputList IkeVersion /// /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - /// - /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` /// public InputList Phase1EncryptionAlgorithms { @@ -80,8 +74,7 @@ public InputList /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - /// - /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` /// public InputList Phase1IntegrityAlgorithms { @@ -91,10 +84,8 @@ public InputList /// The lifetime for phase 1 of the IKE negotiation, in seconds. - /// - /// Constraints: A value between 900 and 28,800. - /// - /// Default: `28800` + /// Constraints: A value between 900 and 28,800. + /// Default: ``28800`` /// [Input("phase1LifetimeSeconds")] public Input? Phase1LifetimeSeconds { get; set; } @@ -104,8 +95,7 @@ public InputList /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - /// - /// Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` /// public InputList Phase1dhGroupNumbers { @@ -118,8 +108,7 @@ public InputList P /// /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - /// - /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` /// public InputList Phase2EncryptionAlgorithms { @@ -132,8 +121,7 @@ public InputList /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - /// - /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` /// public InputList Phase2IntegrityAlgorithms { @@ -143,10 +131,8 @@ public InputList /// The lifetime for phase 2 of the IKE negotiation, in seconds. - /// - /// Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - /// - /// Default: `3600` + /// Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + /// Default: ``3600`` /// [Input("phase2LifetimeSeconds")] public Input? Phase2LifetimeSeconds { get; set; } @@ -156,8 +142,7 @@ public InputList /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - /// - /// Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` /// public InputList Phase2dhGroupNumbers { @@ -173,41 +158,33 @@ public InputList P public Input? PreSharedKey { get; set; } /// - /// The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - /// - /// Constraints: A value between 0 and 100. - /// - /// Default: `100` + /// The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + /// Constraints: A value between 0 and 100. + /// Default: ``100`` /// [Input("rekeyFuzzPercentage")] public Input? RekeyFuzzPercentage { get; set; } /// - /// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - /// - /// Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - /// - /// Default: `270` + /// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + /// Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + /// Default: ``270`` /// [Input("rekeyMarginTimeSeconds")] public Input? RekeyMarginTimeSeconds { get; set; } /// /// The number of packets in an IKE replay window. - /// - /// Constraints: A value between 64 and 2048. - /// - /// Default: `1024` + /// Constraints: A value between 64 and 2048. + /// Default: ``1024`` /// [Input("replayWindowSize")] public Input? ReplayWindowSize { get; set; } /// - /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - /// - /// Valid Values: `add` | `start` - /// - /// Default: `add` + /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + /// Valid Values: ``add`` | ``start`` + /// Default: ``add`` /// [Input("startupAction")] public Input? StartupAction { get; set; } @@ -228,8 +205,7 @@ public InputList P /// /// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - /// - /// Constraints: A size /126 CIDR block from the local `fd00::/8` range. + /// Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. /// [Input("tunnelInsideIpv6Cidr")] public Input? TunnelInsideIpv6Cidr { get; set; } diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs index d74f2ebd80..2da5b380c9 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs @@ -10,13 +10,15 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Options for sending VPN tunnel logs to CloudWatch. + /// [OutputType] public sealed class VpnConnectionCloudwatchLogOptionsSpecification { /// - /// Enable or disable VPN tunnel logging feature. Default value is `False` . - /// - /// Valid values: `True` | `False` + /// Enable or disable VPN tunnel logging feature. Default value is ``False``. + /// Valid values: ``True`` | ``False`` /// public readonly bool? LogEnabled; /// @@ -24,9 +26,8 @@ public sealed class VpnConnectionCloudwatchLogOptionsSpecification /// public readonly string? LogGroupArn; /// - /// Set log format. Default format is `json` . - /// - /// Valid values: `json` | `text` + /// Set log format. Default format is ``json``. + /// Valid values: ``json`` | ``text`` /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat? LogOutputFormat; diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs index 3a304fd52c..14652590b7 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// The IKE version that is permitted for the VPN tunnel. + /// [OutputType] public sealed class VpnConnectionIkeVersionsRequestListValue { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs index 4565e3adbd..cb148924f5 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. + /// [OutputType] public sealed class VpnConnectionPhase1EncryptionAlgorithmsRequestListValue { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs index f1b61d7b3a..fab6ca04ea 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. + /// [OutputType] public sealed class VpnConnectionPhase1IntegrityAlgorithmsRequestListValue { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs index 39e6a1cb23..d5a50ddee4 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. + /// [OutputType] public sealed class VpnConnectionPhase1dhGroupNumbersRequestListValue { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs index 0031a94713..5b3254a45a 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. + /// [OutputType] public sealed class VpnConnectionPhase2EncryptionAlgorithmsRequestListValue { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs index fb852d7eec..4276b9f50f 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. + /// [OutputType] public sealed class VpnConnectionPhase2IntegrityAlgorithmsRequestListValue { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs index a6b18e636d..ec66746a11 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. + /// [OutputType] public sealed class VpnConnectionPhase2dhGroupNumbersRequestListValue { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs index 50be31b142..b7890c9265 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// Options for logging VPN tunnel activity. + /// [OutputType] public sealed class VpnConnectionVpnTunnelLogOptionsSpecification { diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs index 22d7ba06a8..8581fc6094 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs @@ -17,19 +17,15 @@ namespace Pulumi.AwsNative.Ec2.Outputs public sealed class VpnConnectionVpnTunnelOptionsSpecification { /// - /// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - /// - /// Valid Values: `clear` | `none` | `restart` - /// - /// Default: `clear` + /// The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + /// Valid Values: ``clear`` | ``none`` | ``restart`` + /// Default: ``clear`` /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction? DpdTimeoutAction; /// /// The number of seconds after which a DPD timeout occurs. - /// - /// Constraints: A value greater than or equal to 30. - /// - /// Default: `30` + /// Constraints: A value greater than or equal to 30. + /// Default: ``30`` /// public readonly int? DpdTimeoutSeconds; /// @@ -38,8 +34,7 @@ public sealed class VpnConnectionVpnTunnelOptionsSpecification public readonly bool? EnableTunnelLifecycleControl; /// /// The IKE versions that are permitted for the VPN tunnel. - /// - /// Valid values: `ikev1` | `ikev2` + /// Valid values: ``ikev1`` | ``ikev2`` /// public readonly ImmutableArray IkeVersions; /// @@ -48,54 +43,44 @@ public sealed class VpnConnectionVpnTunnelOptionsSpecification public readonly Outputs.VpnConnectionVpnTunnelLogOptionsSpecification? LogOptions; /// /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - /// - /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` /// public readonly ImmutableArray Phase1EncryptionAlgorithms; /// /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - /// - /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` /// public readonly ImmutableArray Phase1IntegrityAlgorithms; /// /// The lifetime for phase 1 of the IKE negotiation, in seconds. - /// - /// Constraints: A value between 900 and 28,800. - /// - /// Default: `28800` + /// Constraints: A value between 900 and 28,800. + /// Default: ``28800`` /// public readonly int? Phase1LifetimeSeconds; /// /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - /// - /// Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` /// public readonly ImmutableArray Phase1dhGroupNumbers; /// /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - /// - /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` /// public readonly ImmutableArray Phase2EncryptionAlgorithms; /// /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - /// - /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` /// public readonly ImmutableArray Phase2IntegrityAlgorithms; /// /// The lifetime for phase 2 of the IKE negotiation, in seconds. - /// - /// Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - /// - /// Default: `3600` + /// Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + /// Default: ``3600`` /// public readonly int? Phase2LifetimeSeconds; /// /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - /// - /// Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` /// public readonly ImmutableArray Phase2dhGroupNumbers; /// @@ -104,35 +89,27 @@ public sealed class VpnConnectionVpnTunnelOptionsSpecification /// public readonly string? PreSharedKey; /// - /// The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - /// - /// Constraints: A value between 0 and 100. - /// - /// Default: `100` + /// The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + /// Constraints: A value between 0 and 100. + /// Default: ``100`` /// public readonly int? RekeyFuzzPercentage; /// - /// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - /// - /// Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - /// - /// Default: `270` + /// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + /// Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + /// Default: ``270`` /// public readonly int? RekeyMarginTimeSeconds; /// /// The number of packets in an IKE replay window. - /// - /// Constraints: A value between 64 and 2048. - /// - /// Default: `1024` + /// Constraints: A value between 64 and 2048. + /// Default: ``1024`` /// public readonly int? ReplayWindowSize; /// - /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - /// - /// Valid Values: `add` | `start` - /// - /// Default: `add` + /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + /// Valid Values: ``add`` | ``start`` + /// Default: ``add`` /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionVpnTunnelOptionsSpecificationStartupAction? StartupAction; /// @@ -149,8 +126,7 @@ public sealed class VpnConnectionVpnTunnelOptionsSpecification public readonly string? TunnelInsideCidr; /// /// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - /// - /// Constraints: A size /126 CIDR block from the local `fd00::/8` range. + /// Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. /// public readonly string? TunnelInsideIpv6Cidr; diff --git a/sdk/dotnet/Eks/Cluster.cs b/sdk/dotnet/Eks/Cluster.cs index e3804b6bb1..1637e43f3a 100644 --- a/sdk/dotnet/Eks/Cluster.cs +++ b/sdk/dotnet/Eks/Cluster.cs @@ -131,6 +131,9 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("version")] public Output Version { get; private set; } = null!; + /// + /// The configuration for zonal shift for the cluster. + /// [Output("zonalShiftConfig")] public Output ZonalShiftConfig { get; private set; } = null!; @@ -275,6 +278,9 @@ public InputList Tags [Input("version")] public Input? Version { get; set; } + /// + /// The configuration for zonal shift for the cluster. + /// [Input("zonalShiftConfig")] public Input? ZonalShiftConfig { get; set; } diff --git a/sdk/dotnet/Eks/GetCluster.cs b/sdk/dotnet/Eks/GetCluster.cs index b1c3062307..ea26cd585a 100644 --- a/sdk/dotnet/Eks/GetCluster.cs +++ b/sdk/dotnet/Eks/GetCluster.cs @@ -111,6 +111,9 @@ public sealed class GetClusterResult /// The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. /// public readonly string? Version; + /// + /// The configuration for zonal shift for the cluster. + /// public readonly Outputs.ClusterZonalShiftConfig? ZonalShiftConfig; [OutputConstructor] diff --git a/sdk/dotnet/IoT/DomainConfiguration.cs b/sdk/dotnet/IoT/DomainConfiguration.cs index f910463596..3a65638d08 100644 --- a/sdk/dotnet/IoT/DomainConfiguration.cs +++ b/sdk/dotnet/IoT/DomainConfiguration.cs @@ -17,8 +17,6 @@ public partial class DomainConfiguration : global::Pulumi.CustomResource { /// /// An enumerated string that specifies the application-layer protocol. - /// - /// > This property isn't available in China. /// [Output("applicationProtocol")] public Output ApplicationProtocol { get; private set; } = null!; @@ -31,8 +29,6 @@ public partial class DomainConfiguration : global::Pulumi.CustomResource /// /// An enumerated string that specifies the authentication type. - /// - /// > This property isn't available in China. /// [Output("authenticationType")] public Output AuthenticationType { get; private set; } = null!; @@ -45,8 +41,6 @@ public partial class DomainConfiguration : global::Pulumi.CustomResource /// /// An object that specifies the client certificate configuration for a domain. - /// - /// > This property isn't available in China. /// [Output("clientCertificateConfig")] public Output ClientCertificateConfig { get; private set; } = null!; @@ -184,16 +178,12 @@ public sealed class DomainConfigurationArgs : global::Pulumi.ResourceArgs { /// /// An enumerated string that specifies the application-layer protocol. - /// - /// > This property isn't available in China. /// [Input("applicationProtocol")] public Input? ApplicationProtocol { get; set; } /// /// An enumerated string that specifies the authentication type. - /// - /// > This property isn't available in China. /// [Input("authenticationType")] public Input? AuthenticationType { get; set; } @@ -206,8 +196,6 @@ public sealed class DomainConfigurationArgs : global::Pulumi.ResourceArgs /// /// An object that specifies the client certificate configuration for a domain. - /// - /// > This property isn't available in China. /// [Input("clientCertificateConfig")] public Input? ClientCertificateConfig { get; set; } diff --git a/sdk/dotnet/IoT/Enums.cs b/sdk/dotnet/IoT/Enums.cs index 437753b000..4041cb59a8 100644 --- a/sdk/dotnet/IoT/Enums.cs +++ b/sdk/dotnet/IoT/Enums.cs @@ -304,8 +304,6 @@ private DimensionType(string value) /// /// An enumerated string that specifies the application-layer protocol. - /// - /// > This property isn't available in China. /// [EnumType] public readonly struct DomainConfigurationApplicationProtocol : IEquatable @@ -339,8 +337,6 @@ private DomainConfigurationApplicationProtocol(string value) /// /// An enumerated string that specifies the authentication type. - /// - /// > This property isn't available in China. /// [EnumType] public readonly struct DomainConfigurationAuthenticationType : IEquatable diff --git a/sdk/dotnet/IoT/GetDomainConfiguration.cs b/sdk/dotnet/IoT/GetDomainConfiguration.cs index c594a197f1..b2c15a8fdc 100644 --- a/sdk/dotnet/IoT/GetDomainConfiguration.cs +++ b/sdk/dotnet/IoT/GetDomainConfiguration.cs @@ -59,8 +59,6 @@ public sealed class GetDomainConfigurationResult { /// /// An enumerated string that specifies the application-layer protocol. - /// - /// > This property isn't available in China. /// public readonly Pulumi.AwsNative.IoT.DomainConfigurationApplicationProtocol? ApplicationProtocol; /// @@ -69,8 +67,6 @@ public sealed class GetDomainConfigurationResult public readonly string? Arn; /// /// An enumerated string that specifies the authentication type. - /// - /// > This property isn't available in China. /// public readonly Pulumi.AwsNative.IoT.DomainConfigurationAuthenticationType? AuthenticationType; /// @@ -79,8 +75,6 @@ public sealed class GetDomainConfigurationResult public readonly Outputs.DomainConfigurationAuthorizerConfig? AuthorizerConfig; /// /// An object that specifies the client certificate configuration for a domain. - /// - /// > This property isn't available in China. /// public readonly Outputs.DomainConfigurationClientCertificateConfig? ClientCertificateConfig; /// diff --git a/sdk/dotnet/IoT/GetSoftwarePackageVersion.cs b/sdk/dotnet/IoT/GetSoftwarePackageVersion.cs index 80ccb1825e..10328d5bc6 100644 --- a/sdk/dotnet/IoT/GetSoftwarePackageVersion.cs +++ b/sdk/dotnet/IoT/GetSoftwarePackageVersion.cs @@ -27,9 +27,15 @@ public static Output Invoke(GetSoftwarePackageV public sealed class GetSoftwarePackageVersionArgs : global::Pulumi.InvokeArgs { + /// + /// The name of the associated software package. + /// [Input("packageName", required: true)] public string PackageName { get; set; } = null!; + /// + /// The name of the new package version. + /// [Input("versionName", required: true)] public string VersionName { get; set; } = null!; @@ -41,9 +47,15 @@ public GetSoftwarePackageVersionArgs() public sealed class GetSoftwarePackageVersionInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The name of the associated software package. + /// [Input("packageName", required: true)] public Input PackageName { get; set; } = null!; + /// + /// The name of the new package version. + /// [Input("versionName", required: true)] public Input VersionName { get; set; } = null!; @@ -57,7 +69,15 @@ public GetSoftwarePackageVersionInvokeArgs() [OutputType] public sealed class GetSoftwarePackageVersionResult { + /// + /// Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + /// + /// The combined size of all the attributes on a package version is limited to 3KB. + /// public readonly ImmutableDictionary? Attributes; + /// + /// A summary of the package version being created. This can be used to outline the package's contents or purpose. + /// public readonly string? Description; /// /// Error reason for a package version failure during creation or update. diff --git a/sdk/dotnet/IoT/Inputs/DomainConfigurationClientCertificateConfigArgs.cs b/sdk/dotnet/IoT/Inputs/DomainConfigurationClientCertificateConfigArgs.cs index f60ce482ca..457f68c0f5 100644 --- a/sdk/dotnet/IoT/Inputs/DomainConfigurationClientCertificateConfigArgs.cs +++ b/sdk/dotnet/IoT/Inputs/DomainConfigurationClientCertificateConfigArgs.cs @@ -14,8 +14,6 @@ public sealed class DomainConfigurationClientCertificateConfigArgs : global::Pul { /// /// The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - /// - /// > This property isn't available in China. /// [Input("clientCertificateCallbackArn")] public Input? ClientCertificateCallbackArn { get; set; } diff --git a/sdk/dotnet/IoT/Outputs/DomainConfigurationClientCertificateConfig.cs b/sdk/dotnet/IoT/Outputs/DomainConfigurationClientCertificateConfig.cs index a14f56826a..4861983f5e 100644 --- a/sdk/dotnet/IoT/Outputs/DomainConfigurationClientCertificateConfig.cs +++ b/sdk/dotnet/IoT/Outputs/DomainConfigurationClientCertificateConfig.cs @@ -15,8 +15,6 @@ public sealed class DomainConfigurationClientCertificateConfig { /// /// The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - /// - /// > This property isn't available in China. /// public readonly string? ClientCertificateCallbackArn; diff --git a/sdk/dotnet/IoT/SoftwarePackageVersion.cs b/sdk/dotnet/IoT/SoftwarePackageVersion.cs index 772d7feae6..bffa22f92e 100644 --- a/sdk/dotnet/IoT/SoftwarePackageVersion.cs +++ b/sdk/dotnet/IoT/SoftwarePackageVersion.cs @@ -15,9 +15,17 @@ namespace Pulumi.AwsNative.IoT [AwsNativeResourceType("aws-native:iot:SoftwarePackageVersion")] public partial class SoftwarePackageVersion : global::Pulumi.CustomResource { + /// + /// Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + /// + /// The combined size of all the attributes on a package version is limited to 3KB. + /// [Output("attributes")] public Output?> Attributes { get; private set; } = null!; + /// + /// A summary of the package version being created. This can be used to outline the package's contents or purpose. + /// [Output("description")] public Output Description { get; private set; } = null!; @@ -27,6 +35,9 @@ public partial class SoftwarePackageVersion : global::Pulumi.CustomResource [Output("errorReason")] public Output ErrorReason { get; private set; } = null!; + /// + /// The name of the associated software package. + /// [Output("packageName")] public Output PackageName { get; private set; } = null!; @@ -48,6 +59,9 @@ public partial class SoftwarePackageVersion : global::Pulumi.CustomResource [Output("tags")] public Output> Tags { get; private set; } = null!; + /// + /// The name of the new package version. + /// [Output("versionName")] public Output VersionName { get; private set; } = null!; @@ -103,15 +117,27 @@ public sealed class SoftwarePackageVersionArgs : global::Pulumi.ResourceArgs { [Input("attributes")] private InputMap? _attributes; + + /// + /// Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + /// + /// The combined size of all the attributes on a package version is limited to 3KB. + /// public InputMap Attributes { get => _attributes ?? (_attributes = new InputMap()); set => _attributes = value; } + /// + /// A summary of the package version being created. This can be used to outline the package's contents or purpose. + /// [Input("description")] public Input? Description { get; set; } + /// + /// The name of the associated software package. + /// [Input("packageName", required: true)] public Input PackageName { get; set; } = null!; @@ -127,6 +153,9 @@ public InputList Tags set => _tags = value; } + /// + /// The name of the new package version. + /// [Input("versionName")] public Input? VersionName { get; set; } diff --git a/sdk/dotnet/QBusiness/DataSource.cs b/sdk/dotnet/QBusiness/DataSource.cs index 1fee8d20b7..032a6c9384 100644 --- a/sdk/dotnet/QBusiness/DataSource.cs +++ b/sdk/dotnet/QBusiness/DataSource.cs @@ -22,17 +22,17 @@ public partial class DataSource : global::Pulumi.CustomResource public Output ApplicationId { get; private set; } = null!; /// - /// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + /// Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . /// - /// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + /// The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: /// - /// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - /// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + /// - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + /// - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) /// - /// You can find configuration templates for your specific data source using the following steps: + /// Similarly, you can find configuration templates and properties for your specific data source using the following steps: /// - /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - /// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + /// - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. /// @@ -184,17 +184,17 @@ public sealed class DataSourceArgs : global::Pulumi.ResourceArgs public Input ApplicationId { get; set; } = null!; /// - /// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + /// Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . /// - /// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + /// The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: /// - /// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - /// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + /// - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + /// - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) /// - /// You can find configuration templates for your specific data source using the following steps: + /// Similarly, you can find configuration templates and properties for your specific data source using the following steps: /// - /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - /// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + /// - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. /// diff --git a/sdk/dotnet/QBusiness/GetDataSource.cs b/sdk/dotnet/QBusiness/GetDataSource.cs index cc35e2ba94..dc6617b3c3 100644 --- a/sdk/dotnet/QBusiness/GetDataSource.cs +++ b/sdk/dotnet/QBusiness/GetDataSource.cs @@ -82,17 +82,17 @@ public GetDataSourceInvokeArgs() public sealed class GetDataSourceResult { /// - /// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + /// Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . /// - /// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + /// The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: /// - /// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - /// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + /// - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + /// - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) /// - /// You can find configuration templates for your specific data source using the following steps: + /// Similarly, you can find configuration templates and properties for your specific data source using the following steps: /// - /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - /// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + /// - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. /// diff --git a/sdk/dotnet/Redshift/Integration.cs b/sdk/dotnet/Redshift/Integration.cs index 6bd3e888d4..08fa11a373 100644 --- a/sdk/dotnet/Redshift/Integration.cs +++ b/sdk/dotnet/Redshift/Integration.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.Redshift [AwsNativeResourceType("aws-native:redshift:Integration")] public partial class Integration : global::Pulumi.CustomResource { + /// + /// The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . + /// [Output("additionalEncryptionContext")] public Output?> AdditionalEncryptionContext { get; private set; } = null!; @@ -114,6 +117,10 @@ public sealed class IntegrationArgs : global::Pulumi.ResourceArgs { [Input("additionalEncryptionContext")] private InputMap? _additionalEncryptionContext; + + /// + /// The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . + /// public InputMap AdditionalEncryptionContext { get => _additionalEncryptionContext ?? (_additionalEncryptionContext = new InputMap()); diff --git a/sdk/dotnet/RefactorSpaces/Environment.cs b/sdk/dotnet/RefactorSpaces/Environment.cs index 5328c6a286..96c1d74fea 100644 --- a/sdk/dotnet/RefactorSpaces/Environment.cs +++ b/sdk/dotnet/RefactorSpaces/Environment.cs @@ -37,13 +37,13 @@ public partial class Environment : global::Pulumi.CustomResource /// The name of the environment. /// [Output("name")] - public Output Name { get; private set; } = null!; + public Output Name { get; private set; } = null!; /// /// The network fabric type of the environment. /// [Output("networkFabricType")] - public Output NetworkFabricType { get; private set; } = null!; + public Output NetworkFabricType { get; private set; } = null!; /// /// Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. @@ -65,7 +65,7 @@ public partial class Environment : global::Pulumi.CustomResource /// 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 Environment(string name, EnvironmentArgs args, CustomResourceOptions? options = null) + public Environment(string name, EnvironmentArgs? args = null, CustomResourceOptions? options = null) : base("aws-native:refactorspaces:Environment", name, args ?? new EnvironmentArgs(), MakeResourceOptions(options, "")) { } @@ -123,8 +123,8 @@ public sealed class EnvironmentArgs : global::Pulumi.ResourceArgs /// /// The network fabric type of the environment. /// - [Input("networkFabricType", required: true)] - public Input NetworkFabricType { get; set; } = null!; + [Input("networkFabricType")] + public Input? NetworkFabricType { get; set; } [Input("tags")] private InputList? _tags; diff --git a/sdk/dotnet/Route53/Enums.cs b/sdk/dotnet/Route53/Enums.cs index c017bd5cd3..556803e47a 100644 --- a/sdk/dotnet/Route53/Enums.cs +++ b/sdk/dotnet/Route53/Enums.cs @@ -132,4 +132,32 @@ private KeySigningKeyStatus(string value) public override string ToString() => _value; } + + [EnumType] + public readonly struct RecordSetFailover : IEquatable + { + private readonly string _value; + + private RecordSetFailover(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static RecordSetFailover Primary { get; } = new RecordSetFailover("PRIMARY"); + public static RecordSetFailover Secondary { get; } = new RecordSetFailover("SECONDARY"); + + public static bool operator ==(RecordSetFailover left, RecordSetFailover right) => left.Equals(right); + public static bool operator !=(RecordSetFailover left, RecordSetFailover right) => !left.Equals(right); + + public static explicit operator string(RecordSetFailover value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is RecordSetFailover other && Equals(other); + public bool Equals(RecordSetFailover other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/Route53/GetRecordSet.cs b/sdk/dotnet/Route53/GetRecordSet.cs new file mode 100644 index 0000000000..b27810871d --- /dev/null +++ b/sdk/dotnet/Route53/GetRecordSet.cs @@ -0,0 +1,192 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53 +{ + public static class GetRecordSet + { + /// + /// Resource Type definition for AWS::Route53::RecordSet. + /// + public static Task InvokeAsync(GetRecordSetArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:route53:getRecordSet", args ?? new GetRecordSetArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::Route53::RecordSet. + /// + public static Output Invoke(GetRecordSetInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:route53:getRecordSet", args ?? new GetRecordSetInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRecordSetArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the hosted zone that you want to create records in. + /// + [Input("hostedZoneId", required: true)] + public string HostedZoneId { get; set; } = null!; + + /// + /// The name of the record that you want to create, update, or delete. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + /// + [Input("setIdentifier", required: true)] + public string SetIdentifier { get; set; } = null!; + + /// + /// The DNS record type. + /// + [Input("type", required: true)] + public string Type { get; set; } = null!; + + public GetRecordSetArgs() + { + } + public static new GetRecordSetArgs Empty => new GetRecordSetArgs(); + } + + public sealed class GetRecordSetInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the hosted zone that you want to create records in. + /// + [Input("hostedZoneId", required: true)] + public Input HostedZoneId { get; set; } = null!; + + /// + /// The name of the record that you want to create, update, or delete. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + /// + [Input("setIdentifier", required: true)] + public Input SetIdentifier { get; set; } = null!; + + /// + /// The DNS record type. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public GetRecordSetInvokeArgs() + { + } + public static new GetRecordSetInvokeArgs Empty => new GetRecordSetInvokeArgs(); + } + + + [OutputType] + public sealed class GetRecordSetResult + { + /// + /// Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + /// + public readonly Outputs.RecordSetAliasTarget? AliasTarget; + /// + /// The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + /// + public readonly Outputs.RecordSetCidrRoutingConfig? CidrRoutingConfig; + /// + /// To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + /// + public readonly Pulumi.AwsNative.Route53.RecordSetFailover? Failover; + /// + /// A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + /// + public readonly Outputs.RecordSetGeoLocation? GeoLocation; + /// + /// If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + /// + public readonly string? HealthCheckId; + /// + /// To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + /// + public readonly bool? MultiValueAnswer; + /// + /// The name of the record that you want to create, update, or delete. + /// + public readonly string? Name; + /// + /// The Amazon EC2 Region where you created the resource that this resource record set refers to. + /// + public readonly string? Region; + /// + /// One or more values that correspond with the value that you specified for the Type property. + /// + public readonly ImmutableArray ResourceRecords; + /// + /// An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + /// + public readonly string? SetIdentifier; + /// + /// The resource record cache time to live (TTL), in seconds. + /// + public readonly string? Ttl; + /// + /// The DNS record type. + /// + public readonly string? Type; + /// + /// Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + /// + public readonly int? Weight; + + [OutputConstructor] + private GetRecordSetResult( + Outputs.RecordSetAliasTarget? aliasTarget, + + Outputs.RecordSetCidrRoutingConfig? cidrRoutingConfig, + + Pulumi.AwsNative.Route53.RecordSetFailover? failover, + + Outputs.RecordSetGeoLocation? geoLocation, + + string? healthCheckId, + + bool? multiValueAnswer, + + string? name, + + string? region, + + ImmutableArray resourceRecords, + + string? setIdentifier, + + string? ttl, + + string? type, + + int? weight) + { + AliasTarget = aliasTarget; + CidrRoutingConfig = cidrRoutingConfig; + Failover = failover; + GeoLocation = geoLocation; + HealthCheckId = healthCheckId; + MultiValueAnswer = multiValueAnswer; + Name = name; + Region = region; + ResourceRecords = resourceRecords; + SetIdentifier = setIdentifier; + Ttl = ttl; + Type = type; + Weight = weight; + } + } +} diff --git a/sdk/dotnet/Route53/Inputs/RecordSetAliasTargetArgs.cs b/sdk/dotnet/Route53/Inputs/RecordSetAliasTargetArgs.cs new file mode 100644 index 0000000000..10cda9b4df --- /dev/null +++ b/sdk/dotnet/Route53/Inputs/RecordSetAliasTargetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53.Inputs +{ + + public sealed class RecordSetAliasTargetArgs : global::Pulumi.ResourceArgs + { + /// + /// The value that you specify depends on where you want to route queries. + /// + [Input("dnsName", required: true)] + public Input DnsName { get; set; } = null!; + + /// + /// When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + /// + [Input("evaluateTargetHealth")] + public Input? EvaluateTargetHealth { get; set; } + + /// + /// The value used depends on where you want to route traffic. + /// + [Input("hostedZoneId", required: true)] + public Input HostedZoneId { get; set; } = null!; + + public RecordSetAliasTargetArgs() + { + } + public static new RecordSetAliasTargetArgs Empty => new RecordSetAliasTargetArgs(); + } +} diff --git a/sdk/dotnet/Route53/Inputs/RecordSetCidrRoutingConfigArgs.cs b/sdk/dotnet/Route53/Inputs/RecordSetCidrRoutingConfigArgs.cs new file mode 100644 index 0000000000..432e748212 --- /dev/null +++ b/sdk/dotnet/Route53/Inputs/RecordSetCidrRoutingConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53.Inputs +{ + + public sealed class RecordSetCidrRoutingConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The CIDR collection ID. + /// + [Input("collectionId", required: true)] + public Input CollectionId { get; set; } = null!; + + /// + /// The CIDR collection location name. + /// + [Input("locationName", required: true)] + public Input LocationName { get; set; } = null!; + + public RecordSetCidrRoutingConfigArgs() + { + } + public static new RecordSetCidrRoutingConfigArgs Empty => new RecordSetCidrRoutingConfigArgs(); + } +} diff --git a/sdk/dotnet/Route53/Inputs/RecordSetGeoLocationArgs.cs b/sdk/dotnet/Route53/Inputs/RecordSetGeoLocationArgs.cs new file mode 100644 index 0000000000..e6545e5219 --- /dev/null +++ b/sdk/dotnet/Route53/Inputs/RecordSetGeoLocationArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53.Inputs +{ + + public sealed class RecordSetGeoLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + /// + [Input("continentCode")] + public Input? ContinentCode { get; set; } + + /// + /// For geolocation resource record sets, the two-letter code for a country. + /// + [Input("countryCode")] + public Input? CountryCode { get; set; } + + /// + /// For geolocation resource record sets, the two-letter code for a state of the United States. + /// + [Input("subdivisionCode")] + public Input? SubdivisionCode { get; set; } + + public RecordSetGeoLocationArgs() + { + } + public static new RecordSetGeoLocationArgs Empty => new RecordSetGeoLocationArgs(); + } +} diff --git a/sdk/dotnet/Route53/Outputs/RecordSetAliasTarget.cs b/sdk/dotnet/Route53/Outputs/RecordSetAliasTarget.cs new file mode 100644 index 0000000000..0f038cf3c0 --- /dev/null +++ b/sdk/dotnet/Route53/Outputs/RecordSetAliasTarget.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53.Outputs +{ + + [OutputType] + public sealed class RecordSetAliasTarget + { + /// + /// The value that you specify depends on where you want to route queries. + /// + public readonly string DnsName; + /// + /// When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + /// + public readonly bool? EvaluateTargetHealth; + /// + /// The value used depends on where you want to route traffic. + /// + public readonly string HostedZoneId; + + [OutputConstructor] + private RecordSetAliasTarget( + string dnsName, + + bool? evaluateTargetHealth, + + string hostedZoneId) + { + DnsName = dnsName; + EvaluateTargetHealth = evaluateTargetHealth; + HostedZoneId = hostedZoneId; + } + } +} diff --git a/sdk/dotnet/Route53/Outputs/RecordSetCidrRoutingConfig.cs b/sdk/dotnet/Route53/Outputs/RecordSetCidrRoutingConfig.cs new file mode 100644 index 0000000000..be927978c8 --- /dev/null +++ b/sdk/dotnet/Route53/Outputs/RecordSetCidrRoutingConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53.Outputs +{ + + [OutputType] + public sealed class RecordSetCidrRoutingConfig + { + /// + /// The CIDR collection ID. + /// + public readonly string CollectionId; + /// + /// The CIDR collection location name. + /// + public readonly string LocationName; + + [OutputConstructor] + private RecordSetCidrRoutingConfig( + string collectionId, + + string locationName) + { + CollectionId = collectionId; + LocationName = locationName; + } + } +} diff --git a/sdk/dotnet/Route53/Outputs/RecordSetGeoLocation.cs b/sdk/dotnet/Route53/Outputs/RecordSetGeoLocation.cs new file mode 100644 index 0000000000..0ba751d4ca --- /dev/null +++ b/sdk/dotnet/Route53/Outputs/RecordSetGeoLocation.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53.Outputs +{ + + [OutputType] + public sealed class RecordSetGeoLocation + { + /// + /// For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + /// + public readonly string? ContinentCode; + /// + /// For geolocation resource record sets, the two-letter code for a country. + /// + public readonly string? CountryCode; + /// + /// For geolocation resource record sets, the two-letter code for a state of the United States. + /// + public readonly string? SubdivisionCode; + + [OutputConstructor] + private RecordSetGeoLocation( + string? continentCode, + + string? countryCode, + + string? subdivisionCode) + { + ContinentCode = continentCode; + CountryCode = countryCode; + SubdivisionCode = subdivisionCode; + } + } +} diff --git a/sdk/dotnet/Route53/RecordSet.cs b/sdk/dotnet/Route53/RecordSet.cs new file mode 100644 index 0000000000..4d5fbe5f3e --- /dev/null +++ b/sdk/dotnet/Route53/RecordSet.cs @@ -0,0 +1,271 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Route53 +{ + /// + /// Resource Type definition for AWS::Route53::RecordSet. + /// + [AwsNativeResourceType("aws-native:route53:RecordSet")] + public partial class RecordSet : global::Pulumi.CustomResource + { + /// + /// Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + /// + [Output("aliasTarget")] + public Output AliasTarget { get; private set; } = null!; + + /// + /// The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + /// + [Output("cidrRoutingConfig")] + public Output CidrRoutingConfig { get; private set; } = null!; + + /// + /// Optional: Any comments you want to include about a change batch request. + /// + [Output("comment")] + public Output Comment { get; private set; } = null!; + + /// + /// To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + /// + [Output("failover")] + public Output Failover { get; private set; } = null!; + + /// + /// A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + /// + [Output("geoLocation")] + public Output GeoLocation { get; private set; } = null!; + + /// + /// If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + /// + [Output("healthCheckId")] + public Output HealthCheckId { get; private set; } = null!; + + /// + /// The ID of the hosted zone that you want to create records in. + /// + [Output("hostedZoneId")] + public Output HostedZoneId { get; private set; } = null!; + + /// + /// The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + /// + [Output("hostedZoneName")] + public Output HostedZoneName { get; private set; } = null!; + + /// + /// To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + /// + [Output("multiValueAnswer")] + public Output MultiValueAnswer { get; private set; } = null!; + + /// + /// The name of the record that you want to create, update, or delete. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The Amazon EC2 Region where you created the resource that this resource record set refers to. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// One or more values that correspond with the value that you specified for the Type property. + /// + [Output("resourceRecords")] + public Output> ResourceRecords { get; private set; } = null!; + + /// + /// An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + /// + [Output("setIdentifier")] + public Output SetIdentifier { get; private set; } = null!; + + /// + /// The resource record cache time to live (TTL), in seconds. + /// + [Output("ttl")] + public Output Ttl { get; private set; } = null!; + + /// + /// The DNS record type. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + /// + [Output("weight")] + public Output Weight { get; private set; } = null!; + + + /// + /// Create a RecordSet 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 RecordSet(string name, RecordSetArgs args, CustomResourceOptions? options = null) + : base("aws-native:route53:RecordSet", name, args ?? new RecordSetArgs(), MakeResourceOptions(options, "")) + { + } + + private RecordSet(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:route53:RecordSet", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "hostedZoneId", + "hostedZoneName", + }, + }; + 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 RecordSet 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. + /// A bag of options that control this resource's behavior + public static RecordSet Get(string name, Input id, CustomResourceOptions? options = null) + { + return new RecordSet(name, id, options); + } + } + + public sealed class RecordSetArgs : global::Pulumi.ResourceArgs + { + /// + /// Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + /// + [Input("aliasTarget")] + public Input? AliasTarget { get; set; } + + /// + /// The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + /// + [Input("cidrRoutingConfig")] + public Input? CidrRoutingConfig { get; set; } + + /// + /// Optional: Any comments you want to include about a change batch request. + /// + [Input("comment")] + public Input? Comment { get; set; } + + /// + /// To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + /// + [Input("failover")] + public Input? Failover { get; set; } + + /// + /// A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + /// + [Input("geoLocation")] + public Input? GeoLocation { get; set; } + + /// + /// If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + /// + [Input("healthCheckId")] + public Input? HealthCheckId { get; set; } + + /// + /// The ID of the hosted zone that you want to create records in. + /// + [Input("hostedZoneId")] + public Input? HostedZoneId { get; set; } + + /// + /// The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + /// + [Input("hostedZoneName")] + public Input? HostedZoneName { get; set; } + + /// + /// To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + /// + [Input("multiValueAnswer")] + public Input? MultiValueAnswer { get; set; } + + /// + /// The name of the record that you want to create, update, or delete. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The Amazon EC2 Region where you created the resource that this resource record set refers to. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("resourceRecords")] + private InputList? _resourceRecords; + + /// + /// One or more values that correspond with the value that you specified for the Type property. + /// + public InputList ResourceRecords + { + get => _resourceRecords ?? (_resourceRecords = new InputList()); + set => _resourceRecords = value; + } + + /// + /// An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + /// + [Input("setIdentifier")] + public Input? SetIdentifier { get; set; } + + /// + /// The resource record cache time to live (TTL), in seconds. + /// + [Input("ttl")] + public Input? Ttl { get; set; } + + /// + /// The DNS record type. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + /// + [Input("weight")] + public Input? Weight { get; set; } + + public RecordSetArgs() + { + } + public static new RecordSetArgs Empty => new RecordSetArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Endpoint.cs b/sdk/dotnet/SageMaker/Endpoint.cs new file mode 100644 index 0000000000..b9276387ce --- /dev/null +++ b/sdk/dotnet/SageMaker/Endpoint.cs @@ -0,0 +1,174 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker +{ + /// + /// Resource Type definition for AWS::SageMaker::Endpoint + /// + [AwsNativeResourceType("aws-native:sagemaker:Endpoint")] + public partial class Endpoint : global::Pulumi.CustomResource + { + /// + /// Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + /// + [Output("deploymentConfig")] + public Output DeploymentConfig { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the endpoint. + /// + [Output("endpointArn")] + public Output EndpointArn { get; private set; } = null!; + + /// + /// The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + /// + [Output("endpointConfigName")] + public Output EndpointConfigName { get; private set; } = null!; + + /// + /// The name of the SageMaker endpoint. This name must be unique within an AWS Region. + /// + [Output("endpointName")] + public Output EndpointName { get; private set; } = null!; + + /// + /// Specifies a list of variant properties that you want to exclude when updating an endpoint. + /// + [Output("excludeRetainedVariantProperties")] + public Output> ExcludeRetainedVariantProperties { get; private set; } = null!; + + /// + /// When set to true, retains all variant properties for an endpoint when it is updated. + /// + [Output("retainAllVariantProperties")] + public Output RetainAllVariantProperties { get; private set; } = null!; + + /// + /// When set to true, retains the deployment configuration during endpoint updates. + /// + [Output("retainDeploymentConfig")] + public Output RetainDeploymentConfig { get; private set; } = null!; + + /// + /// An array of key-value pairs to apply to this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a Endpoint 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 Endpoint(string name, EndpointArgs args, CustomResourceOptions? options = null) + : base("aws-native:sagemaker:Endpoint", name, args ?? new EndpointArgs(), MakeResourceOptions(options, "")) + { + } + + private Endpoint(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:sagemaker:Endpoint", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "endpointName", + }, + }; + 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 Endpoint 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. + /// A bag of options that control this resource's behavior + public static Endpoint Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Endpoint(name, id, options); + } + } + + public sealed class EndpointArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + /// + [Input("deploymentConfig")] + public Input? DeploymentConfig { get; set; } + + /// + /// The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + /// + [Input("endpointConfigName", required: true)] + public Input EndpointConfigName { get; set; } = null!; + + /// + /// The name of the SageMaker endpoint. This name must be unique within an AWS Region. + /// + [Input("endpointName")] + public Input? EndpointName { get; set; } + + [Input("excludeRetainedVariantProperties")] + private InputList? _excludeRetainedVariantProperties; + + /// + /// Specifies a list of variant properties that you want to exclude when updating an endpoint. + /// + public InputList ExcludeRetainedVariantProperties + { + get => _excludeRetainedVariantProperties ?? (_excludeRetainedVariantProperties = new InputList()); + set => _excludeRetainedVariantProperties = value; + } + + /// + /// When set to true, retains all variant properties for an endpoint when it is updated. + /// + [Input("retainAllVariantProperties")] + public Input? RetainAllVariantProperties { get; set; } + + /// + /// When set to true, retains the deployment configuration during endpoint updates. + /// + [Input("retainDeploymentConfig")] + public Input? RetainDeploymentConfig { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// An array of key-value pairs to apply to this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public EndpointArgs() + { + } + public static new EndpointArgs Empty => new EndpointArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/GetEndpoint.cs b/sdk/dotnet/SageMaker/GetEndpoint.cs new file mode 100644 index 0000000000..0dc1cd42e1 --- /dev/null +++ b/sdk/dotnet/SageMaker/GetEndpoint.cs @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker +{ + public static class GetEndpoint + { + /// + /// Resource Type definition for AWS::SageMaker::Endpoint + /// + public static Task InvokeAsync(GetEndpointArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:sagemaker:getEndpoint", args ?? new GetEndpointArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::SageMaker::Endpoint + /// + public static Output Invoke(GetEndpointInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:sagemaker:getEndpoint", args ?? new GetEndpointInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEndpointArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name (ARN) of the endpoint. + /// + [Input("endpointArn", required: true)] + public string EndpointArn { get; set; } = null!; + + public GetEndpointArgs() + { + } + public static new GetEndpointArgs Empty => new GetEndpointArgs(); + } + + public sealed class GetEndpointInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name (ARN) of the endpoint. + /// + [Input("endpointArn", required: true)] + public Input EndpointArn { get; set; } = null!; + + public GetEndpointInvokeArgs() + { + } + public static new GetEndpointInvokeArgs Empty => new GetEndpointInvokeArgs(); + } + + + [OutputType] + public sealed class GetEndpointResult + { + /// + /// Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + /// + public readonly Outputs.EndpointDeploymentConfig? DeploymentConfig; + /// + /// The Amazon Resource Name (ARN) of the endpoint. + /// + public readonly string? EndpointArn; + /// + /// The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + /// + public readonly string? EndpointConfigName; + /// + /// An array of key-value pairs to apply to this resource. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetEndpointResult( + Outputs.EndpointDeploymentConfig? deploymentConfig, + + string? endpointArn, + + string? endpointConfigName, + + ImmutableArray tags) + { + DeploymentConfig = deploymentConfig; + EndpointArn = endpointArn; + EndpointConfigName = endpointConfigName; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointAlarmArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointAlarmArgs.cs new file mode 100644 index 0000000000..15d1e70ae3 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointAlarmArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointAlarmArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the CloudWatch alarm. + /// + [Input("alarmName", required: true)] + public Input AlarmName { get; set; } = null!; + + public EndpointAlarmArgs() + { + } + public static new EndpointAlarmArgs Empty => new EndpointAlarmArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointAutoRollbackConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointAutoRollbackConfigArgs.cs new file mode 100644 index 0000000000..767daf2b3c --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointAutoRollbackConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointAutoRollbackConfigArgs : global::Pulumi.ResourceArgs + { + [Input("alarms", required: true)] + private InputList? _alarms; + + /// + /// List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + /// + public InputList Alarms + { + get => _alarms ?? (_alarms = new InputList()); + set => _alarms = value; + } + + public EndpointAutoRollbackConfigArgs() + { + } + public static new EndpointAutoRollbackConfigArgs Empty => new EndpointAutoRollbackConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointBlueGreenUpdatePolicyArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointBlueGreenUpdatePolicyArgs.cs new file mode 100644 index 0000000000..39cd794a9f --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointBlueGreenUpdatePolicyArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointBlueGreenUpdatePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum time allowed for the blue/green update, in seconds. + /// + [Input("maximumExecutionTimeoutInSeconds")] + public Input? MaximumExecutionTimeoutInSeconds { get; set; } + + /// + /// The wait time before terminating the old endpoint during a blue/green deployment. + /// + [Input("terminationWaitInSeconds")] + public Input? TerminationWaitInSeconds { get; set; } + + /// + /// The traffic routing configuration for the blue/green deployment. + /// + [Input("trafficRoutingConfiguration", required: true)] + public Input TrafficRoutingConfiguration { get; set; } = null!; + + public EndpointBlueGreenUpdatePolicyArgs() + { + } + public static new EndpointBlueGreenUpdatePolicyArgs Empty => new EndpointBlueGreenUpdatePolicyArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointCapacitySizeArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointCapacitySizeArgs.cs new file mode 100644 index 0000000000..75a583766d --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointCapacitySizeArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointCapacitySizeArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether the `Value` is an instance count or a capacity unit. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The value representing either the number of instances or the number of capacity units. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public EndpointCapacitySizeArgs() + { + } + public static new EndpointCapacitySizeArgs Empty => new EndpointCapacitySizeArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointDeploymentConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointDeploymentConfigArgs.cs new file mode 100644 index 0000000000..02771f7634 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointDeploymentConfigArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointDeploymentConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration for automatic rollback if an error occurs during deployment. + /// + [Input("autoRollbackConfiguration")] + public Input? AutoRollbackConfiguration { get; set; } + + /// + /// Configuration for blue-green update deployment policies. + /// + [Input("blueGreenUpdatePolicy")] + public Input? BlueGreenUpdatePolicy { get; set; } + + /// + /// Configuration for rolling update deployment policies. + /// + [Input("rollingUpdatePolicy")] + public Input? RollingUpdatePolicy { get; set; } + + public EndpointDeploymentConfigArgs() + { + } + public static new EndpointDeploymentConfigArgs Empty => new EndpointDeploymentConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointRollingUpdatePolicyArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointRollingUpdatePolicyArgs.cs new file mode 100644 index 0000000000..86dd3df7c2 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointRollingUpdatePolicyArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointRollingUpdatePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the maximum batch size for each rolling update. + /// + [Input("maximumBatchSize", required: true)] + public Input MaximumBatchSize { get; set; } = null!; + + /// + /// The maximum time allowed for the rolling update, in seconds. + /// + [Input("maximumExecutionTimeoutInSeconds")] + public Input? MaximumExecutionTimeoutInSeconds { get; set; } + + /// + /// The maximum batch size for rollback during an update failure. + /// + [Input("rollbackMaximumBatchSize")] + public Input? RollbackMaximumBatchSize { get; set; } + + /// + /// The time to wait between steps during the rolling update, in seconds. + /// + [Input("waitIntervalInSeconds", required: true)] + public Input WaitIntervalInSeconds { get; set; } = null!; + + public EndpointRollingUpdatePolicyArgs() + { + } + public static new EndpointRollingUpdatePolicyArgs Empty => new EndpointRollingUpdatePolicyArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointTrafficRoutingConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointTrafficRoutingConfigArgs.cs new file mode 100644 index 0000000000..20e56f84be --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointTrafficRoutingConfigArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointTrafficRoutingConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the size of the canary traffic in a canary deployment. + /// + [Input("canarySize")] + public Input? CanarySize { get; set; } + + /// + /// Specifies the step size for linear traffic routing. + /// + [Input("linearStepSize")] + public Input? LinearStepSize { get; set; } + + /// + /// Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Specifies the wait interval between traffic shifts, in seconds. + /// + [Input("waitIntervalInSeconds")] + public Input? WaitIntervalInSeconds { get; set; } + + public EndpointTrafficRoutingConfigArgs() + { + } + public static new EndpointTrafficRoutingConfigArgs Empty => new EndpointTrafficRoutingConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/EndpointVariantPropertyArgs.cs b/sdk/dotnet/SageMaker/Inputs/EndpointVariantPropertyArgs.cs new file mode 100644 index 0000000000..5e91217e51 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/EndpointVariantPropertyArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class EndpointVariantPropertyArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + /// + [Input("variantPropertyType")] + public Input? VariantPropertyType { get; set; } + + public EndpointVariantPropertyArgs() + { + } + public static new EndpointVariantPropertyArgs Empty => new EndpointVariantPropertyArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointAlarm.cs b/sdk/dotnet/SageMaker/Outputs/EndpointAlarm.cs new file mode 100644 index 0000000000..64f76df6ed --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointAlarm.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointAlarm + { + /// + /// The name of the CloudWatch alarm. + /// + public readonly string AlarmName; + + [OutputConstructor] + private EndpointAlarm(string alarmName) + { + AlarmName = alarmName; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointAutoRollbackConfig.cs b/sdk/dotnet/SageMaker/Outputs/EndpointAutoRollbackConfig.cs new file mode 100644 index 0000000000..540f7cd1e2 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointAutoRollbackConfig.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointAutoRollbackConfig + { + /// + /// List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + /// + public readonly ImmutableArray Alarms; + + [OutputConstructor] + private EndpointAutoRollbackConfig(ImmutableArray alarms) + { + Alarms = alarms; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointBlueGreenUpdatePolicy.cs b/sdk/dotnet/SageMaker/Outputs/EndpointBlueGreenUpdatePolicy.cs new file mode 100644 index 0000000000..35b048ad6b --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointBlueGreenUpdatePolicy.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointBlueGreenUpdatePolicy + { + /// + /// The maximum time allowed for the blue/green update, in seconds. + /// + public readonly int? MaximumExecutionTimeoutInSeconds; + /// + /// The wait time before terminating the old endpoint during a blue/green deployment. + /// + public readonly int? TerminationWaitInSeconds; + /// + /// The traffic routing configuration for the blue/green deployment. + /// + public readonly Outputs.EndpointTrafficRoutingConfig TrafficRoutingConfiguration; + + [OutputConstructor] + private EndpointBlueGreenUpdatePolicy( + int? maximumExecutionTimeoutInSeconds, + + int? terminationWaitInSeconds, + + Outputs.EndpointTrafficRoutingConfig trafficRoutingConfiguration) + { + MaximumExecutionTimeoutInSeconds = maximumExecutionTimeoutInSeconds; + TerminationWaitInSeconds = terminationWaitInSeconds; + TrafficRoutingConfiguration = trafficRoutingConfiguration; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointCapacitySize.cs b/sdk/dotnet/SageMaker/Outputs/EndpointCapacitySize.cs new file mode 100644 index 0000000000..a27e38cd22 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointCapacitySize.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointCapacitySize + { + /// + /// Specifies whether the `Value` is an instance count or a capacity unit. + /// + public readonly string Type; + /// + /// The value representing either the number of instances or the number of capacity units. + /// + public readonly int Value; + + [OutputConstructor] + private EndpointCapacitySize( + string type, + + int value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointDeploymentConfig.cs b/sdk/dotnet/SageMaker/Outputs/EndpointDeploymentConfig.cs new file mode 100644 index 0000000000..179dab3b44 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointDeploymentConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointDeploymentConfig + { + /// + /// Configuration for automatic rollback if an error occurs during deployment. + /// + public readonly Outputs.EndpointAutoRollbackConfig? AutoRollbackConfiguration; + /// + /// Configuration for blue-green update deployment policies. + /// + public readonly Outputs.EndpointBlueGreenUpdatePolicy? BlueGreenUpdatePolicy; + /// + /// Configuration for rolling update deployment policies. + /// + public readonly Outputs.EndpointRollingUpdatePolicy? RollingUpdatePolicy; + + [OutputConstructor] + private EndpointDeploymentConfig( + Outputs.EndpointAutoRollbackConfig? autoRollbackConfiguration, + + Outputs.EndpointBlueGreenUpdatePolicy? blueGreenUpdatePolicy, + + Outputs.EndpointRollingUpdatePolicy? rollingUpdatePolicy) + { + AutoRollbackConfiguration = autoRollbackConfiguration; + BlueGreenUpdatePolicy = blueGreenUpdatePolicy; + RollingUpdatePolicy = rollingUpdatePolicy; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointRollingUpdatePolicy.cs b/sdk/dotnet/SageMaker/Outputs/EndpointRollingUpdatePolicy.cs new file mode 100644 index 0000000000..538c88f02d --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointRollingUpdatePolicy.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointRollingUpdatePolicy + { + /// + /// Specifies the maximum batch size for each rolling update. + /// + public readonly Outputs.EndpointCapacitySize MaximumBatchSize; + /// + /// The maximum time allowed for the rolling update, in seconds. + /// + public readonly int? MaximumExecutionTimeoutInSeconds; + /// + /// The maximum batch size for rollback during an update failure. + /// + public readonly Outputs.EndpointCapacitySize? RollbackMaximumBatchSize; + /// + /// The time to wait between steps during the rolling update, in seconds. + /// + public readonly int WaitIntervalInSeconds; + + [OutputConstructor] + private EndpointRollingUpdatePolicy( + Outputs.EndpointCapacitySize maximumBatchSize, + + int? maximumExecutionTimeoutInSeconds, + + Outputs.EndpointCapacitySize? rollbackMaximumBatchSize, + + int waitIntervalInSeconds) + { + MaximumBatchSize = maximumBatchSize; + MaximumExecutionTimeoutInSeconds = maximumExecutionTimeoutInSeconds; + RollbackMaximumBatchSize = rollbackMaximumBatchSize; + WaitIntervalInSeconds = waitIntervalInSeconds; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointTrafficRoutingConfig.cs b/sdk/dotnet/SageMaker/Outputs/EndpointTrafficRoutingConfig.cs new file mode 100644 index 0000000000..1b3b32c1e8 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointTrafficRoutingConfig.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointTrafficRoutingConfig + { + /// + /// Specifies the size of the canary traffic in a canary deployment. + /// + public readonly Outputs.EndpointCapacitySize? CanarySize; + /// + /// Specifies the step size for linear traffic routing. + /// + public readonly Outputs.EndpointCapacitySize? LinearStepSize; + /// + /// Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + /// + public readonly string Type; + /// + /// Specifies the wait interval between traffic shifts, in seconds. + /// + public readonly int? WaitIntervalInSeconds; + + [OutputConstructor] + private EndpointTrafficRoutingConfig( + Outputs.EndpointCapacitySize? canarySize, + + Outputs.EndpointCapacitySize? linearStepSize, + + string type, + + int? waitIntervalInSeconds) + { + CanarySize = canarySize; + LinearStepSize = linearStepSize; + Type = type; + WaitIntervalInSeconds = waitIntervalInSeconds; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/EndpointVariantProperty.cs b/sdk/dotnet/SageMaker/Outputs/EndpointVariantProperty.cs new file mode 100644 index 0000000000..9088a565dc --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/EndpointVariantProperty.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class EndpointVariantProperty + { + /// + /// The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + /// + public readonly string? VariantPropertyType; + + [OutputConstructor] + private EndpointVariantProperty(string? variantPropertyType) + { + VariantPropertyType = variantPropertyType; + } + } +} diff --git a/sdk/go/aws/appsync/getGraphQlApi.go b/sdk/go/aws/appsync/getGraphQlApi.go new file mode 100644 index 0000000000..36e375881c --- /dev/null +++ b/sdk/go/aws/appsync/getGraphQlApi.go @@ -0,0 +1,255 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package appsync + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::AppSync::GraphQLApi +func LookupGraphQlApi(ctx *pulumi.Context, args *LookupGraphQlApiArgs, opts ...pulumi.InvokeOption) (*LookupGraphQlApiResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupGraphQlApiResult + err := ctx.Invoke("aws-native:appsync:getGraphQlApi", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupGraphQlApiArgs struct { + // Unique AWS AppSync GraphQL API identifier. + ApiId string `pulumi:"apiId"` +} + +type LookupGraphQlApiResult struct { + // A list of additional authentication providers for the GraphqlApi API. + AdditionalAuthenticationProviders []GraphQlApiAdditionalAuthenticationProvider `pulumi:"additionalAuthenticationProviders"` + // Unique AWS AppSync GraphQL API identifier. + ApiId *string `pulumi:"apiId"` + // The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + ApiType *string `pulumi:"apiType"` + // The Amazon Resource Name (ARN) of the API key + Arn *string `pulumi:"arn"` + // Security configuration for your GraphQL API + AuthenticationType *string `pulumi:"authenticationType"` + // Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + EnhancedMetricsConfig *GraphQlApiEnhancedMetricsConfig `pulumi:"enhancedMetricsConfig"` + // A map containing the list of resources with their properties and environment variables. + EnvironmentVariables map[string]string `pulumi:"environmentVariables"` + // The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + GraphQlDns *string `pulumi:"graphQlDns"` + // The GraphQL endpoint ARN. + GraphQlEndpointArn *string `pulumi:"graphQlEndpointArn"` + // The Endpoint URL of your GraphQL API. + GraphQlUrl *string `pulumi:"graphQlUrl"` + // Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + IntrospectionConfig *string `pulumi:"introspectionConfig"` + // A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + LambdaAuthorizerConfig *GraphQlApiLambdaAuthorizerConfig `pulumi:"lambdaAuthorizerConfig"` + // The Amazon CloudWatch Logs configuration. + LogConfig *GraphQlApiLogConfig `pulumi:"logConfig"` + // The AWS Identity and Access Management service role ARN for a merged API. + MergedApiExecutionRoleArn *string `pulumi:"mergedApiExecutionRoleArn"` + // The API name + Name *string `pulumi:"name"` + // The OpenID Connect configuration. + OpenIdConnectConfig *GraphQlApiOpenIdConnectConfig `pulumi:"openIdConnectConfig"` + // The owner contact information for an API resource. + OwnerContact *string `pulumi:"ownerContact"` + // The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + QueryDepthLimit *int `pulumi:"queryDepthLimit"` + // The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + RealtimeDns *string `pulumi:"realtimeDns"` + // The GraphQL API real-time endpoint URL. + RealtimeUrl *string `pulumi:"realtimeUrl"` + // The maximum number of resolvers that can be invoked in a single request. + ResolverCountLimit *int `pulumi:"resolverCountLimit"` + // An arbitrary set of tags (key-value pairs) for this GraphQL API. + Tags []aws.Tag `pulumi:"tags"` + // Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + UserPoolConfig *GraphQlApiUserPoolConfig `pulumi:"userPoolConfig"` + // Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + Visibility *string `pulumi:"visibility"` + // A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + XrayEnabled *bool `pulumi:"xrayEnabled"` +} + +func LookupGraphQlApiOutput(ctx *pulumi.Context, args LookupGraphQlApiOutputArgs, opts ...pulumi.InvokeOption) LookupGraphQlApiResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupGraphQlApiResultOutput, error) { + args := v.(LookupGraphQlApiArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupGraphQlApiResult + secret, err := ctx.InvokePackageRaw("aws-native:appsync:getGraphQlApi", args, &rv, "", opts...) + if err != nil { + return LookupGraphQlApiResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupGraphQlApiResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupGraphQlApiResultOutput), nil + } + return output, nil + }).(LookupGraphQlApiResultOutput) +} + +type LookupGraphQlApiOutputArgs struct { + // Unique AWS AppSync GraphQL API identifier. + ApiId pulumi.StringInput `pulumi:"apiId"` +} + +func (LookupGraphQlApiOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupGraphQlApiArgs)(nil)).Elem() +} + +type LookupGraphQlApiResultOutput struct{ *pulumi.OutputState } + +func (LookupGraphQlApiResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupGraphQlApiResult)(nil)).Elem() +} + +func (o LookupGraphQlApiResultOutput) ToLookupGraphQlApiResultOutput() LookupGraphQlApiResultOutput { + return o +} + +func (o LookupGraphQlApiResultOutput) ToLookupGraphQlApiResultOutputWithContext(ctx context.Context) LookupGraphQlApiResultOutput { + return o +} + +// A list of additional authentication providers for the GraphqlApi API. +func (o LookupGraphQlApiResultOutput) AdditionalAuthenticationProviders() GraphQlApiAdditionalAuthenticationProviderArrayOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) []GraphQlApiAdditionalAuthenticationProvider { + return v.AdditionalAuthenticationProviders + }).(GraphQlApiAdditionalAuthenticationProviderArrayOutput) +} + +// Unique AWS AppSync GraphQL API identifier. +func (o LookupGraphQlApiResultOutput) ApiId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.ApiId }).(pulumi.StringPtrOutput) +} + +// The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). +func (o LookupGraphQlApiResultOutput) ApiType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.ApiType }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of the API key +func (o LookupGraphQlApiResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// Security configuration for your GraphQL API +func (o LookupGraphQlApiResultOutput) AuthenticationType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.AuthenticationType }).(pulumi.StringPtrOutput) +} + +// Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. +func (o LookupGraphQlApiResultOutput) EnhancedMetricsConfig() GraphQlApiEnhancedMetricsConfigPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *GraphQlApiEnhancedMetricsConfig { return v.EnhancedMetricsConfig }).(GraphQlApiEnhancedMetricsConfigPtrOutput) +} + +// A map containing the list of resources with their properties and environment variables. +func (o LookupGraphQlApiResultOutput) EnvironmentVariables() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) map[string]string { return v.EnvironmentVariables }).(pulumi.StringMapOutput) +} + +// The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. +func (o LookupGraphQlApiResultOutput) GraphQlDns() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.GraphQlDns }).(pulumi.StringPtrOutput) +} + +// The GraphQL endpoint ARN. +func (o LookupGraphQlApiResultOutput) GraphQlEndpointArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.GraphQlEndpointArn }).(pulumi.StringPtrOutput) +} + +// The Endpoint URL of your GraphQL API. +func (o LookupGraphQlApiResultOutput) GraphQlUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.GraphQlUrl }).(pulumi.StringPtrOutput) +} + +// Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. +func (o LookupGraphQlApiResultOutput) IntrospectionConfig() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.IntrospectionConfig }).(pulumi.StringPtrOutput) +} + +// A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. +func (o LookupGraphQlApiResultOutput) LambdaAuthorizerConfig() GraphQlApiLambdaAuthorizerConfigPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *GraphQlApiLambdaAuthorizerConfig { return v.LambdaAuthorizerConfig }).(GraphQlApiLambdaAuthorizerConfigPtrOutput) +} + +// The Amazon CloudWatch Logs configuration. +func (o LookupGraphQlApiResultOutput) LogConfig() GraphQlApiLogConfigPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *GraphQlApiLogConfig { return v.LogConfig }).(GraphQlApiLogConfigPtrOutput) +} + +// The AWS Identity and Access Management service role ARN for a merged API. +func (o LookupGraphQlApiResultOutput) MergedApiExecutionRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.MergedApiExecutionRoleArn }).(pulumi.StringPtrOutput) +} + +// The API name +func (o LookupGraphQlApiResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The OpenID Connect configuration. +func (o LookupGraphQlApiResultOutput) OpenIdConnectConfig() GraphQlApiOpenIdConnectConfigPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *GraphQlApiOpenIdConnectConfig { return v.OpenIdConnectConfig }).(GraphQlApiOpenIdConnectConfigPtrOutput) +} + +// The owner contact information for an API resource. +func (o LookupGraphQlApiResultOutput) OwnerContact() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.OwnerContact }).(pulumi.StringPtrOutput) +} + +// The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. +func (o LookupGraphQlApiResultOutput) QueryDepthLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *int { return v.QueryDepthLimit }).(pulumi.IntPtrOutput) +} + +// The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. +func (o LookupGraphQlApiResultOutput) RealtimeDns() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.RealtimeDns }).(pulumi.StringPtrOutput) +} + +// The GraphQL API real-time endpoint URL. +func (o LookupGraphQlApiResultOutput) RealtimeUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.RealtimeUrl }).(pulumi.StringPtrOutput) +} + +// The maximum number of resolvers that can be invoked in a single request. +func (o LookupGraphQlApiResultOutput) ResolverCountLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *int { return v.ResolverCountLimit }).(pulumi.IntPtrOutput) +} + +// An arbitrary set of tags (key-value pairs) for this GraphQL API. +func (o LookupGraphQlApiResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +// Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. +func (o LookupGraphQlApiResultOutput) UserPoolConfig() GraphQlApiUserPoolConfigPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *GraphQlApiUserPoolConfig { return v.UserPoolConfig }).(GraphQlApiUserPoolConfigPtrOutput) +} + +// Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. +func (o LookupGraphQlApiResultOutput) Visibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.Visibility }).(pulumi.StringPtrOutput) +} + +// A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. +func (o LookupGraphQlApiResultOutput) XrayEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *bool { return v.XrayEnabled }).(pulumi.BoolPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupGraphQlApiResultOutput{}) +} diff --git a/sdk/go/aws/appsync/graphQlApi.go b/sdk/go/aws/appsync/graphQlApi.go new file mode 100644 index 0000000000..59ff82ad58 --- /dev/null +++ b/sdk/go/aws/appsync/graphQlApi.go @@ -0,0 +1,360 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package appsync + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::AppSync::GraphQLApi +type GraphQlApi struct { + pulumi.CustomResourceState + + // A list of additional authentication providers for the GraphqlApi API. + AdditionalAuthenticationProviders GraphQlApiAdditionalAuthenticationProviderArrayOutput `pulumi:"additionalAuthenticationProviders"` + // Unique AWS AppSync GraphQL API identifier. + ApiId pulumi.StringOutput `pulumi:"apiId"` + // The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + ApiType pulumi.StringPtrOutput `pulumi:"apiType"` + // The Amazon Resource Name (ARN) of the API key + Arn pulumi.StringOutput `pulumi:"arn"` + // Security configuration for your GraphQL API + AuthenticationType pulumi.StringOutput `pulumi:"authenticationType"` + // Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + EnhancedMetricsConfig GraphQlApiEnhancedMetricsConfigPtrOutput `pulumi:"enhancedMetricsConfig"` + // A map containing the list of resources with their properties and environment variables. + EnvironmentVariables pulumi.StringMapOutput `pulumi:"environmentVariables"` + // The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + GraphQlDns pulumi.StringOutput `pulumi:"graphQlDns"` + // The GraphQL endpoint ARN. + GraphQlEndpointArn pulumi.StringOutput `pulumi:"graphQlEndpointArn"` + // The Endpoint URL of your GraphQL API. + GraphQlUrl pulumi.StringOutput `pulumi:"graphQlUrl"` + // Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + IntrospectionConfig pulumi.StringPtrOutput `pulumi:"introspectionConfig"` + // A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + LambdaAuthorizerConfig GraphQlApiLambdaAuthorizerConfigPtrOutput `pulumi:"lambdaAuthorizerConfig"` + // The Amazon CloudWatch Logs configuration. + LogConfig GraphQlApiLogConfigPtrOutput `pulumi:"logConfig"` + // The AWS Identity and Access Management service role ARN for a merged API. + MergedApiExecutionRoleArn pulumi.StringPtrOutput `pulumi:"mergedApiExecutionRoleArn"` + // The API name + Name pulumi.StringOutput `pulumi:"name"` + // The OpenID Connect configuration. + OpenIdConnectConfig GraphQlApiOpenIdConnectConfigPtrOutput `pulumi:"openIdConnectConfig"` + // The owner contact information for an API resource. + OwnerContact pulumi.StringPtrOutput `pulumi:"ownerContact"` + // The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + QueryDepthLimit pulumi.IntPtrOutput `pulumi:"queryDepthLimit"` + // The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + RealtimeDns pulumi.StringOutput `pulumi:"realtimeDns"` + // The GraphQL API real-time endpoint URL. + RealtimeUrl pulumi.StringOutput `pulumi:"realtimeUrl"` + // The maximum number of resolvers that can be invoked in a single request. + ResolverCountLimit pulumi.IntPtrOutput `pulumi:"resolverCountLimit"` + // An arbitrary set of tags (key-value pairs) for this GraphQL API. + Tags aws.TagArrayOutput `pulumi:"tags"` + // Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + UserPoolConfig GraphQlApiUserPoolConfigPtrOutput `pulumi:"userPoolConfig"` + // Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + Visibility pulumi.StringPtrOutput `pulumi:"visibility"` + // A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + XrayEnabled pulumi.BoolPtrOutput `pulumi:"xrayEnabled"` +} + +// NewGraphQlApi registers a new resource with the given unique name, arguments, and options. +func NewGraphQlApi(ctx *pulumi.Context, + name string, args *GraphQlApiArgs, opts ...pulumi.ResourceOption) (*GraphQlApi, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AuthenticationType == nil { + return nil, errors.New("invalid value for required argument 'AuthenticationType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource GraphQlApi + err := ctx.RegisterResource("aws-native:appsync:GraphQlApi", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetGraphQlApi gets an existing GraphQlApi 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 GetGraphQlApi(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *GraphQlApiState, opts ...pulumi.ResourceOption) (*GraphQlApi, error) { + var resource GraphQlApi + err := ctx.ReadResource("aws-native:appsync:GraphQlApi", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering GraphQlApi resources. +type graphQlApiState struct { +} + +type GraphQlApiState struct { +} + +func (GraphQlApiState) ElementType() reflect.Type { + return reflect.TypeOf((*graphQlApiState)(nil)).Elem() +} + +type graphQlApiArgs struct { + // A list of additional authentication providers for the GraphqlApi API. + AdditionalAuthenticationProviders []GraphQlApiAdditionalAuthenticationProvider `pulumi:"additionalAuthenticationProviders"` + // The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + ApiType *string `pulumi:"apiType"` + // Security configuration for your GraphQL API + AuthenticationType string `pulumi:"authenticationType"` + // Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + EnhancedMetricsConfig *GraphQlApiEnhancedMetricsConfig `pulumi:"enhancedMetricsConfig"` + // A map containing the list of resources with their properties and environment variables. + EnvironmentVariables map[string]string `pulumi:"environmentVariables"` + // Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + IntrospectionConfig *string `pulumi:"introspectionConfig"` + // A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + LambdaAuthorizerConfig *GraphQlApiLambdaAuthorizerConfig `pulumi:"lambdaAuthorizerConfig"` + // The Amazon CloudWatch Logs configuration. + LogConfig *GraphQlApiLogConfig `pulumi:"logConfig"` + // The AWS Identity and Access Management service role ARN for a merged API. + MergedApiExecutionRoleArn *string `pulumi:"mergedApiExecutionRoleArn"` + // The API name + Name *string `pulumi:"name"` + // The OpenID Connect configuration. + OpenIdConnectConfig *GraphQlApiOpenIdConnectConfig `pulumi:"openIdConnectConfig"` + // The owner contact information for an API resource. + OwnerContact *string `pulumi:"ownerContact"` + // The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + QueryDepthLimit *int `pulumi:"queryDepthLimit"` + // The maximum number of resolvers that can be invoked in a single request. + ResolverCountLimit *int `pulumi:"resolverCountLimit"` + // An arbitrary set of tags (key-value pairs) for this GraphQL API. + Tags []aws.Tag `pulumi:"tags"` + // Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + UserPoolConfig *GraphQlApiUserPoolConfig `pulumi:"userPoolConfig"` + // Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + Visibility *string `pulumi:"visibility"` + // A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + XrayEnabled *bool `pulumi:"xrayEnabled"` +} + +// The set of arguments for constructing a GraphQlApi resource. +type GraphQlApiArgs struct { + // A list of additional authentication providers for the GraphqlApi API. + AdditionalAuthenticationProviders GraphQlApiAdditionalAuthenticationProviderArrayInput + // The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + ApiType pulumi.StringPtrInput + // Security configuration for your GraphQL API + AuthenticationType pulumi.StringInput + // Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + EnhancedMetricsConfig GraphQlApiEnhancedMetricsConfigPtrInput + // A map containing the list of resources with their properties and environment variables. + EnvironmentVariables pulumi.StringMapInput + // Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + IntrospectionConfig pulumi.StringPtrInput + // A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + LambdaAuthorizerConfig GraphQlApiLambdaAuthorizerConfigPtrInput + // The Amazon CloudWatch Logs configuration. + LogConfig GraphQlApiLogConfigPtrInput + // The AWS Identity and Access Management service role ARN for a merged API. + MergedApiExecutionRoleArn pulumi.StringPtrInput + // The API name + Name pulumi.StringPtrInput + // The OpenID Connect configuration. + OpenIdConnectConfig GraphQlApiOpenIdConnectConfigPtrInput + // The owner contact information for an API resource. + OwnerContact pulumi.StringPtrInput + // The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + QueryDepthLimit pulumi.IntPtrInput + // The maximum number of resolvers that can be invoked in a single request. + ResolverCountLimit pulumi.IntPtrInput + // An arbitrary set of tags (key-value pairs) for this GraphQL API. + Tags aws.TagArrayInput + // Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + UserPoolConfig GraphQlApiUserPoolConfigPtrInput + // Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + Visibility pulumi.StringPtrInput + // A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + XrayEnabled pulumi.BoolPtrInput +} + +func (GraphQlApiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*graphQlApiArgs)(nil)).Elem() +} + +type GraphQlApiInput interface { + pulumi.Input + + ToGraphQlApiOutput() GraphQlApiOutput + ToGraphQlApiOutputWithContext(ctx context.Context) GraphQlApiOutput +} + +func (*GraphQlApi) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApi)(nil)).Elem() +} + +func (i *GraphQlApi) ToGraphQlApiOutput() GraphQlApiOutput { + return i.ToGraphQlApiOutputWithContext(context.Background()) +} + +func (i *GraphQlApi) ToGraphQlApiOutputWithContext(ctx context.Context) GraphQlApiOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiOutput) +} + +type GraphQlApiOutput struct{ *pulumi.OutputState } + +func (GraphQlApiOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApi)(nil)).Elem() +} + +func (o GraphQlApiOutput) ToGraphQlApiOutput() GraphQlApiOutput { + return o +} + +func (o GraphQlApiOutput) ToGraphQlApiOutputWithContext(ctx context.Context) GraphQlApiOutput { + return o +} + +// A list of additional authentication providers for the GraphqlApi API. +func (o GraphQlApiOutput) AdditionalAuthenticationProviders() GraphQlApiAdditionalAuthenticationProviderArrayOutput { + return o.ApplyT(func(v *GraphQlApi) GraphQlApiAdditionalAuthenticationProviderArrayOutput { + return v.AdditionalAuthenticationProviders + }).(GraphQlApiAdditionalAuthenticationProviderArrayOutput) +} + +// Unique AWS AppSync GraphQL API identifier. +func (o GraphQlApiOutput) ApiId() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.ApiId }).(pulumi.StringOutput) +} + +// The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). +func (o GraphQlApiOutput) ApiType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringPtrOutput { return v.ApiType }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of the API key +func (o GraphQlApiOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Security configuration for your GraphQL API +func (o GraphQlApiOutput) AuthenticationType() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.AuthenticationType }).(pulumi.StringOutput) +} + +// Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. +func (o GraphQlApiOutput) EnhancedMetricsConfig() GraphQlApiEnhancedMetricsConfigPtrOutput { + return o.ApplyT(func(v *GraphQlApi) GraphQlApiEnhancedMetricsConfigPtrOutput { return v.EnhancedMetricsConfig }).(GraphQlApiEnhancedMetricsConfigPtrOutput) +} + +// A map containing the list of resources with their properties and environment variables. +func (o GraphQlApiOutput) EnvironmentVariables() pulumi.StringMapOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringMapOutput { return v.EnvironmentVariables }).(pulumi.StringMapOutput) +} + +// The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. +func (o GraphQlApiOutput) GraphQlDns() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.GraphQlDns }).(pulumi.StringOutput) +} + +// The GraphQL endpoint ARN. +func (o GraphQlApiOutput) GraphQlEndpointArn() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.GraphQlEndpointArn }).(pulumi.StringOutput) +} + +// The Endpoint URL of your GraphQL API. +func (o GraphQlApiOutput) GraphQlUrl() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.GraphQlUrl }).(pulumi.StringOutput) +} + +// Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. +func (o GraphQlApiOutput) IntrospectionConfig() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringPtrOutput { return v.IntrospectionConfig }).(pulumi.StringPtrOutput) +} + +// A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. +func (o GraphQlApiOutput) LambdaAuthorizerConfig() GraphQlApiLambdaAuthorizerConfigPtrOutput { + return o.ApplyT(func(v *GraphQlApi) GraphQlApiLambdaAuthorizerConfigPtrOutput { return v.LambdaAuthorizerConfig }).(GraphQlApiLambdaAuthorizerConfigPtrOutput) +} + +// The Amazon CloudWatch Logs configuration. +func (o GraphQlApiOutput) LogConfig() GraphQlApiLogConfigPtrOutput { + return o.ApplyT(func(v *GraphQlApi) GraphQlApiLogConfigPtrOutput { return v.LogConfig }).(GraphQlApiLogConfigPtrOutput) +} + +// The AWS Identity and Access Management service role ARN for a merged API. +func (o GraphQlApiOutput) MergedApiExecutionRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringPtrOutput { return v.MergedApiExecutionRoleArn }).(pulumi.StringPtrOutput) +} + +// The API name +func (o GraphQlApiOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The OpenID Connect configuration. +func (o GraphQlApiOutput) OpenIdConnectConfig() GraphQlApiOpenIdConnectConfigPtrOutput { + return o.ApplyT(func(v *GraphQlApi) GraphQlApiOpenIdConnectConfigPtrOutput { return v.OpenIdConnectConfig }).(GraphQlApiOpenIdConnectConfigPtrOutput) +} + +// The owner contact information for an API resource. +func (o GraphQlApiOutput) OwnerContact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringPtrOutput { return v.OwnerContact }).(pulumi.StringPtrOutput) +} + +// The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. +func (o GraphQlApiOutput) QueryDepthLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.IntPtrOutput { return v.QueryDepthLimit }).(pulumi.IntPtrOutput) +} + +// The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. +func (o GraphQlApiOutput) RealtimeDns() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.RealtimeDns }).(pulumi.StringOutput) +} + +// The GraphQL API real-time endpoint URL. +func (o GraphQlApiOutput) RealtimeUrl() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.RealtimeUrl }).(pulumi.StringOutput) +} + +// The maximum number of resolvers that can be invoked in a single request. +func (o GraphQlApiOutput) ResolverCountLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.IntPtrOutput { return v.ResolverCountLimit }).(pulumi.IntPtrOutput) +} + +// An arbitrary set of tags (key-value pairs) for this GraphQL API. +func (o GraphQlApiOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *GraphQlApi) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +// Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. +func (o GraphQlApiOutput) UserPoolConfig() GraphQlApiUserPoolConfigPtrOutput { + return o.ApplyT(func(v *GraphQlApi) GraphQlApiUserPoolConfigPtrOutput { return v.UserPoolConfig }).(GraphQlApiUserPoolConfigPtrOutput) +} + +// Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. +func (o GraphQlApiOutput) Visibility() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringPtrOutput { return v.Visibility }).(pulumi.StringPtrOutput) +} + +// A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. +func (o GraphQlApiOutput) XrayEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.BoolPtrOutput { return v.XrayEnabled }).(pulumi.BoolPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiInput)(nil)).Elem(), &GraphQlApi{}) + pulumi.RegisterOutputType(GraphQlApiOutput{}) +} diff --git a/sdk/go/aws/appsync/init.go b/sdk/go/aws/appsync/init.go index 5fdad49981..c47ee78056 100644 --- a/sdk/go/aws/appsync/init.go +++ b/sdk/go/aws/appsync/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DomainNameApiAssociation{} case "aws-native:appsync:FunctionConfiguration": r = &FunctionConfiguration{} + case "aws-native:appsync:GraphQlApi": + r = &GraphQlApi{} case "aws-native:appsync:Resolver": r = &Resolver{} case "aws-native:appsync:SourceApiAssociation": diff --git a/sdk/go/aws/appsync/pulumiTypes.go b/sdk/go/aws/appsync/pulumiTypes.go index 7dfb15ff69..d085469f5e 100644 --- a/sdk/go/aws/appsync/pulumiTypes.go +++ b/sdk/go/aws/appsync/pulumiTypes.go @@ -2305,6 +2305,1231 @@ func (o FunctionConfigurationSyncConfigPtrOutput) LambdaConflictHandlerConfig() }).(FunctionConfigurationLambdaConflictHandlerConfigPtrOutput) } +type GraphQlApiAdditionalAuthenticationProvider struct { + // The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + AuthenticationType string `pulumi:"authenticationType"` + // Configuration for AWS Lambda function authorization. + LambdaAuthorizerConfig *GraphQlApiLambdaAuthorizerConfig `pulumi:"lambdaAuthorizerConfig"` + // The OIDC configuration. + OpenIdConnectConfig *GraphQlApiOpenIdConnectConfig `pulumi:"openIdConnectConfig"` + // The Amazon Cognito user pool configuration. + UserPoolConfig *GraphQlApiCognitoUserPoolConfig `pulumi:"userPoolConfig"` +} + +// GraphQlApiAdditionalAuthenticationProviderInput is an input type that accepts GraphQlApiAdditionalAuthenticationProviderArgs and GraphQlApiAdditionalAuthenticationProviderOutput values. +// You can construct a concrete instance of `GraphQlApiAdditionalAuthenticationProviderInput` via: +// +// GraphQlApiAdditionalAuthenticationProviderArgs{...} +type GraphQlApiAdditionalAuthenticationProviderInput interface { + pulumi.Input + + ToGraphQlApiAdditionalAuthenticationProviderOutput() GraphQlApiAdditionalAuthenticationProviderOutput + ToGraphQlApiAdditionalAuthenticationProviderOutputWithContext(context.Context) GraphQlApiAdditionalAuthenticationProviderOutput +} + +type GraphQlApiAdditionalAuthenticationProviderArgs struct { + // The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + AuthenticationType pulumi.StringInput `pulumi:"authenticationType"` + // Configuration for AWS Lambda function authorization. + LambdaAuthorizerConfig GraphQlApiLambdaAuthorizerConfigPtrInput `pulumi:"lambdaAuthorizerConfig"` + // The OIDC configuration. + OpenIdConnectConfig GraphQlApiOpenIdConnectConfigPtrInput `pulumi:"openIdConnectConfig"` + // The Amazon Cognito user pool configuration. + UserPoolConfig GraphQlApiCognitoUserPoolConfigPtrInput `pulumi:"userPoolConfig"` +} + +func (GraphQlApiAdditionalAuthenticationProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiAdditionalAuthenticationProvider)(nil)).Elem() +} + +func (i GraphQlApiAdditionalAuthenticationProviderArgs) ToGraphQlApiAdditionalAuthenticationProviderOutput() GraphQlApiAdditionalAuthenticationProviderOutput { + return i.ToGraphQlApiAdditionalAuthenticationProviderOutputWithContext(context.Background()) +} + +func (i GraphQlApiAdditionalAuthenticationProviderArgs) ToGraphQlApiAdditionalAuthenticationProviderOutputWithContext(ctx context.Context) GraphQlApiAdditionalAuthenticationProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiAdditionalAuthenticationProviderOutput) +} + +// GraphQlApiAdditionalAuthenticationProviderArrayInput is an input type that accepts GraphQlApiAdditionalAuthenticationProviderArray and GraphQlApiAdditionalAuthenticationProviderArrayOutput values. +// You can construct a concrete instance of `GraphQlApiAdditionalAuthenticationProviderArrayInput` via: +// +// GraphQlApiAdditionalAuthenticationProviderArray{ GraphQlApiAdditionalAuthenticationProviderArgs{...} } +type GraphQlApiAdditionalAuthenticationProviderArrayInput interface { + pulumi.Input + + ToGraphQlApiAdditionalAuthenticationProviderArrayOutput() GraphQlApiAdditionalAuthenticationProviderArrayOutput + ToGraphQlApiAdditionalAuthenticationProviderArrayOutputWithContext(context.Context) GraphQlApiAdditionalAuthenticationProviderArrayOutput +} + +type GraphQlApiAdditionalAuthenticationProviderArray []GraphQlApiAdditionalAuthenticationProviderInput + +func (GraphQlApiAdditionalAuthenticationProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GraphQlApiAdditionalAuthenticationProvider)(nil)).Elem() +} + +func (i GraphQlApiAdditionalAuthenticationProviderArray) ToGraphQlApiAdditionalAuthenticationProviderArrayOutput() GraphQlApiAdditionalAuthenticationProviderArrayOutput { + return i.ToGraphQlApiAdditionalAuthenticationProviderArrayOutputWithContext(context.Background()) +} + +func (i GraphQlApiAdditionalAuthenticationProviderArray) ToGraphQlApiAdditionalAuthenticationProviderArrayOutputWithContext(ctx context.Context) GraphQlApiAdditionalAuthenticationProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiAdditionalAuthenticationProviderArrayOutput) +} + +type GraphQlApiAdditionalAuthenticationProviderOutput struct{ *pulumi.OutputState } + +func (GraphQlApiAdditionalAuthenticationProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiAdditionalAuthenticationProvider)(nil)).Elem() +} + +func (o GraphQlApiAdditionalAuthenticationProviderOutput) ToGraphQlApiAdditionalAuthenticationProviderOutput() GraphQlApiAdditionalAuthenticationProviderOutput { + return o +} + +func (o GraphQlApiAdditionalAuthenticationProviderOutput) ToGraphQlApiAdditionalAuthenticationProviderOutputWithContext(ctx context.Context) GraphQlApiAdditionalAuthenticationProviderOutput { + return o +} + +// The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. +func (o GraphQlApiAdditionalAuthenticationProviderOutput) AuthenticationType() pulumi.StringOutput { + return o.ApplyT(func(v GraphQlApiAdditionalAuthenticationProvider) string { return v.AuthenticationType }).(pulumi.StringOutput) +} + +// Configuration for AWS Lambda function authorization. +func (o GraphQlApiAdditionalAuthenticationProviderOutput) LambdaAuthorizerConfig() GraphQlApiLambdaAuthorizerConfigPtrOutput { + return o.ApplyT(func(v GraphQlApiAdditionalAuthenticationProvider) *GraphQlApiLambdaAuthorizerConfig { + return v.LambdaAuthorizerConfig + }).(GraphQlApiLambdaAuthorizerConfigPtrOutput) +} + +// The OIDC configuration. +func (o GraphQlApiAdditionalAuthenticationProviderOutput) OpenIdConnectConfig() GraphQlApiOpenIdConnectConfigPtrOutput { + return o.ApplyT(func(v GraphQlApiAdditionalAuthenticationProvider) *GraphQlApiOpenIdConnectConfig { + return v.OpenIdConnectConfig + }).(GraphQlApiOpenIdConnectConfigPtrOutput) +} + +// The Amazon Cognito user pool configuration. +func (o GraphQlApiAdditionalAuthenticationProviderOutput) UserPoolConfig() GraphQlApiCognitoUserPoolConfigPtrOutput { + return o.ApplyT(func(v GraphQlApiAdditionalAuthenticationProvider) *GraphQlApiCognitoUserPoolConfig { + return v.UserPoolConfig + }).(GraphQlApiCognitoUserPoolConfigPtrOutput) +} + +type GraphQlApiAdditionalAuthenticationProviderArrayOutput struct{ *pulumi.OutputState } + +func (GraphQlApiAdditionalAuthenticationProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GraphQlApiAdditionalAuthenticationProvider)(nil)).Elem() +} + +func (o GraphQlApiAdditionalAuthenticationProviderArrayOutput) ToGraphQlApiAdditionalAuthenticationProviderArrayOutput() GraphQlApiAdditionalAuthenticationProviderArrayOutput { + return o +} + +func (o GraphQlApiAdditionalAuthenticationProviderArrayOutput) ToGraphQlApiAdditionalAuthenticationProviderArrayOutputWithContext(ctx context.Context) GraphQlApiAdditionalAuthenticationProviderArrayOutput { + return o +} + +func (o GraphQlApiAdditionalAuthenticationProviderArrayOutput) Index(i pulumi.IntInput) GraphQlApiAdditionalAuthenticationProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GraphQlApiAdditionalAuthenticationProvider { + return vs[0].([]GraphQlApiAdditionalAuthenticationProvider)[vs[1].(int)] + }).(GraphQlApiAdditionalAuthenticationProviderOutput) +} + +type GraphQlApiCognitoUserPoolConfig struct { + // A regular expression for validating the incoming Amazon Cognito user pool app client ID. + AppIdClientRegex *string `pulumi:"appIdClientRegex"` + // The AWS Region in which the user pool was created. + AwsRegion *string `pulumi:"awsRegion"` + // The user pool ID + UserPoolId *string `pulumi:"userPoolId"` +} + +// GraphQlApiCognitoUserPoolConfigInput is an input type that accepts GraphQlApiCognitoUserPoolConfigArgs and GraphQlApiCognitoUserPoolConfigOutput values. +// You can construct a concrete instance of `GraphQlApiCognitoUserPoolConfigInput` via: +// +// GraphQlApiCognitoUserPoolConfigArgs{...} +type GraphQlApiCognitoUserPoolConfigInput interface { + pulumi.Input + + ToGraphQlApiCognitoUserPoolConfigOutput() GraphQlApiCognitoUserPoolConfigOutput + ToGraphQlApiCognitoUserPoolConfigOutputWithContext(context.Context) GraphQlApiCognitoUserPoolConfigOutput +} + +type GraphQlApiCognitoUserPoolConfigArgs struct { + // A regular expression for validating the incoming Amazon Cognito user pool app client ID. + AppIdClientRegex pulumi.StringPtrInput `pulumi:"appIdClientRegex"` + // The AWS Region in which the user pool was created. + AwsRegion pulumi.StringPtrInput `pulumi:"awsRegion"` + // The user pool ID + UserPoolId pulumi.StringPtrInput `pulumi:"userPoolId"` +} + +func (GraphQlApiCognitoUserPoolConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiCognitoUserPoolConfig)(nil)).Elem() +} + +func (i GraphQlApiCognitoUserPoolConfigArgs) ToGraphQlApiCognitoUserPoolConfigOutput() GraphQlApiCognitoUserPoolConfigOutput { + return i.ToGraphQlApiCognitoUserPoolConfigOutputWithContext(context.Background()) +} + +func (i GraphQlApiCognitoUserPoolConfigArgs) ToGraphQlApiCognitoUserPoolConfigOutputWithContext(ctx context.Context) GraphQlApiCognitoUserPoolConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiCognitoUserPoolConfigOutput) +} + +func (i GraphQlApiCognitoUserPoolConfigArgs) ToGraphQlApiCognitoUserPoolConfigPtrOutput() GraphQlApiCognitoUserPoolConfigPtrOutput { + return i.ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(context.Background()) +} + +func (i GraphQlApiCognitoUserPoolConfigArgs) ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiCognitoUserPoolConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiCognitoUserPoolConfigOutput).ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(ctx) +} + +// GraphQlApiCognitoUserPoolConfigPtrInput is an input type that accepts GraphQlApiCognitoUserPoolConfigArgs, GraphQlApiCognitoUserPoolConfigPtr and GraphQlApiCognitoUserPoolConfigPtrOutput values. +// You can construct a concrete instance of `GraphQlApiCognitoUserPoolConfigPtrInput` via: +// +// GraphQlApiCognitoUserPoolConfigArgs{...} +// +// or: +// +// nil +type GraphQlApiCognitoUserPoolConfigPtrInput interface { + pulumi.Input + + ToGraphQlApiCognitoUserPoolConfigPtrOutput() GraphQlApiCognitoUserPoolConfigPtrOutput + ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(context.Context) GraphQlApiCognitoUserPoolConfigPtrOutput +} + +type graphQlApiCognitoUserPoolConfigPtrType GraphQlApiCognitoUserPoolConfigArgs + +func GraphQlApiCognitoUserPoolConfigPtr(v *GraphQlApiCognitoUserPoolConfigArgs) GraphQlApiCognitoUserPoolConfigPtrInput { + return (*graphQlApiCognitoUserPoolConfigPtrType)(v) +} + +func (*graphQlApiCognitoUserPoolConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiCognitoUserPoolConfig)(nil)).Elem() +} + +func (i *graphQlApiCognitoUserPoolConfigPtrType) ToGraphQlApiCognitoUserPoolConfigPtrOutput() GraphQlApiCognitoUserPoolConfigPtrOutput { + return i.ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(context.Background()) +} + +func (i *graphQlApiCognitoUserPoolConfigPtrType) ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiCognitoUserPoolConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiCognitoUserPoolConfigPtrOutput) +} + +type GraphQlApiCognitoUserPoolConfigOutput struct{ *pulumi.OutputState } + +func (GraphQlApiCognitoUserPoolConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiCognitoUserPoolConfig)(nil)).Elem() +} + +func (o GraphQlApiCognitoUserPoolConfigOutput) ToGraphQlApiCognitoUserPoolConfigOutput() GraphQlApiCognitoUserPoolConfigOutput { + return o +} + +func (o GraphQlApiCognitoUserPoolConfigOutput) ToGraphQlApiCognitoUserPoolConfigOutputWithContext(ctx context.Context) GraphQlApiCognitoUserPoolConfigOutput { + return o +} + +func (o GraphQlApiCognitoUserPoolConfigOutput) ToGraphQlApiCognitoUserPoolConfigPtrOutput() GraphQlApiCognitoUserPoolConfigPtrOutput { + return o.ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(context.Background()) +} + +func (o GraphQlApiCognitoUserPoolConfigOutput) ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiCognitoUserPoolConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GraphQlApiCognitoUserPoolConfig) *GraphQlApiCognitoUserPoolConfig { + return &v + }).(GraphQlApiCognitoUserPoolConfigPtrOutput) +} + +// A regular expression for validating the incoming Amazon Cognito user pool app client ID. +func (o GraphQlApiCognitoUserPoolConfigOutput) AppIdClientRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiCognitoUserPoolConfig) *string { return v.AppIdClientRegex }).(pulumi.StringPtrOutput) +} + +// The AWS Region in which the user pool was created. +func (o GraphQlApiCognitoUserPoolConfigOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiCognitoUserPoolConfig) *string { return v.AwsRegion }).(pulumi.StringPtrOutput) +} + +// The user pool ID +func (o GraphQlApiCognitoUserPoolConfigOutput) UserPoolId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiCognitoUserPoolConfig) *string { return v.UserPoolId }).(pulumi.StringPtrOutput) +} + +type GraphQlApiCognitoUserPoolConfigPtrOutput struct{ *pulumi.OutputState } + +func (GraphQlApiCognitoUserPoolConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiCognitoUserPoolConfig)(nil)).Elem() +} + +func (o GraphQlApiCognitoUserPoolConfigPtrOutput) ToGraphQlApiCognitoUserPoolConfigPtrOutput() GraphQlApiCognitoUserPoolConfigPtrOutput { + return o +} + +func (o GraphQlApiCognitoUserPoolConfigPtrOutput) ToGraphQlApiCognitoUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiCognitoUserPoolConfigPtrOutput { + return o +} + +func (o GraphQlApiCognitoUserPoolConfigPtrOutput) Elem() GraphQlApiCognitoUserPoolConfigOutput { + return o.ApplyT(func(v *GraphQlApiCognitoUserPoolConfig) GraphQlApiCognitoUserPoolConfig { + if v != nil { + return *v + } + var ret GraphQlApiCognitoUserPoolConfig + return ret + }).(GraphQlApiCognitoUserPoolConfigOutput) +} + +// A regular expression for validating the incoming Amazon Cognito user pool app client ID. +func (o GraphQlApiCognitoUserPoolConfigPtrOutput) AppIdClientRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiCognitoUserPoolConfig) *string { + if v == nil { + return nil + } + return v.AppIdClientRegex + }).(pulumi.StringPtrOutput) +} + +// The AWS Region in which the user pool was created. +func (o GraphQlApiCognitoUserPoolConfigPtrOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiCognitoUserPoolConfig) *string { + if v == nil { + return nil + } + return v.AwsRegion + }).(pulumi.StringPtrOutput) +} + +// The user pool ID +func (o GraphQlApiCognitoUserPoolConfigPtrOutput) UserPoolId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiCognitoUserPoolConfig) *string { + if v == nil { + return nil + } + return v.UserPoolId + }).(pulumi.StringPtrOutput) +} + +type GraphQlApiEnhancedMetricsConfig struct { + // Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + DataSourceLevelMetricsBehavior string `pulumi:"dataSourceLevelMetricsBehavior"` + // Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + OperationLevelMetricsConfig string `pulumi:"operationLevelMetricsConfig"` + // Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + ResolverLevelMetricsBehavior string `pulumi:"resolverLevelMetricsBehavior"` +} + +// GraphQlApiEnhancedMetricsConfigInput is an input type that accepts GraphQlApiEnhancedMetricsConfigArgs and GraphQlApiEnhancedMetricsConfigOutput values. +// You can construct a concrete instance of `GraphQlApiEnhancedMetricsConfigInput` via: +// +// GraphQlApiEnhancedMetricsConfigArgs{...} +type GraphQlApiEnhancedMetricsConfigInput interface { + pulumi.Input + + ToGraphQlApiEnhancedMetricsConfigOutput() GraphQlApiEnhancedMetricsConfigOutput + ToGraphQlApiEnhancedMetricsConfigOutputWithContext(context.Context) GraphQlApiEnhancedMetricsConfigOutput +} + +type GraphQlApiEnhancedMetricsConfigArgs struct { + // Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + DataSourceLevelMetricsBehavior pulumi.StringInput `pulumi:"dataSourceLevelMetricsBehavior"` + // Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + OperationLevelMetricsConfig pulumi.StringInput `pulumi:"operationLevelMetricsConfig"` + // Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + ResolverLevelMetricsBehavior pulumi.StringInput `pulumi:"resolverLevelMetricsBehavior"` +} + +func (GraphQlApiEnhancedMetricsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiEnhancedMetricsConfig)(nil)).Elem() +} + +func (i GraphQlApiEnhancedMetricsConfigArgs) ToGraphQlApiEnhancedMetricsConfigOutput() GraphQlApiEnhancedMetricsConfigOutput { + return i.ToGraphQlApiEnhancedMetricsConfigOutputWithContext(context.Background()) +} + +func (i GraphQlApiEnhancedMetricsConfigArgs) ToGraphQlApiEnhancedMetricsConfigOutputWithContext(ctx context.Context) GraphQlApiEnhancedMetricsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiEnhancedMetricsConfigOutput) +} + +func (i GraphQlApiEnhancedMetricsConfigArgs) ToGraphQlApiEnhancedMetricsConfigPtrOutput() GraphQlApiEnhancedMetricsConfigPtrOutput { + return i.ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i GraphQlApiEnhancedMetricsConfigArgs) ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(ctx context.Context) GraphQlApiEnhancedMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiEnhancedMetricsConfigOutput).ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(ctx) +} + +// GraphQlApiEnhancedMetricsConfigPtrInput is an input type that accepts GraphQlApiEnhancedMetricsConfigArgs, GraphQlApiEnhancedMetricsConfigPtr and GraphQlApiEnhancedMetricsConfigPtrOutput values. +// You can construct a concrete instance of `GraphQlApiEnhancedMetricsConfigPtrInput` via: +// +// GraphQlApiEnhancedMetricsConfigArgs{...} +// +// or: +// +// nil +type GraphQlApiEnhancedMetricsConfigPtrInput interface { + pulumi.Input + + ToGraphQlApiEnhancedMetricsConfigPtrOutput() GraphQlApiEnhancedMetricsConfigPtrOutput + ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(context.Context) GraphQlApiEnhancedMetricsConfigPtrOutput +} + +type graphQlApiEnhancedMetricsConfigPtrType GraphQlApiEnhancedMetricsConfigArgs + +func GraphQlApiEnhancedMetricsConfigPtr(v *GraphQlApiEnhancedMetricsConfigArgs) GraphQlApiEnhancedMetricsConfigPtrInput { + return (*graphQlApiEnhancedMetricsConfigPtrType)(v) +} + +func (*graphQlApiEnhancedMetricsConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiEnhancedMetricsConfig)(nil)).Elem() +} + +func (i *graphQlApiEnhancedMetricsConfigPtrType) ToGraphQlApiEnhancedMetricsConfigPtrOutput() GraphQlApiEnhancedMetricsConfigPtrOutput { + return i.ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i *graphQlApiEnhancedMetricsConfigPtrType) ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(ctx context.Context) GraphQlApiEnhancedMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiEnhancedMetricsConfigPtrOutput) +} + +type GraphQlApiEnhancedMetricsConfigOutput struct{ *pulumi.OutputState } + +func (GraphQlApiEnhancedMetricsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiEnhancedMetricsConfig)(nil)).Elem() +} + +func (o GraphQlApiEnhancedMetricsConfigOutput) ToGraphQlApiEnhancedMetricsConfigOutput() GraphQlApiEnhancedMetricsConfigOutput { + return o +} + +func (o GraphQlApiEnhancedMetricsConfigOutput) ToGraphQlApiEnhancedMetricsConfigOutputWithContext(ctx context.Context) GraphQlApiEnhancedMetricsConfigOutput { + return o +} + +func (o GraphQlApiEnhancedMetricsConfigOutput) ToGraphQlApiEnhancedMetricsConfigPtrOutput() GraphQlApiEnhancedMetricsConfigPtrOutput { + return o.ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (o GraphQlApiEnhancedMetricsConfigOutput) ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(ctx context.Context) GraphQlApiEnhancedMetricsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GraphQlApiEnhancedMetricsConfig) *GraphQlApiEnhancedMetricsConfig { + return &v + }).(GraphQlApiEnhancedMetricsConfigPtrOutput) +} + +// Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: +func (o GraphQlApiEnhancedMetricsConfigOutput) DataSourceLevelMetricsBehavior() pulumi.StringOutput { + return o.ApplyT(func(v GraphQlApiEnhancedMetricsConfig) string { return v.DataSourceLevelMetricsBehavior }).(pulumi.StringOutput) +} + +// Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: +func (o GraphQlApiEnhancedMetricsConfigOutput) OperationLevelMetricsConfig() pulumi.StringOutput { + return o.ApplyT(func(v GraphQlApiEnhancedMetricsConfig) string { return v.OperationLevelMetricsConfig }).(pulumi.StringOutput) +} + +// Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: +func (o GraphQlApiEnhancedMetricsConfigOutput) ResolverLevelMetricsBehavior() pulumi.StringOutput { + return o.ApplyT(func(v GraphQlApiEnhancedMetricsConfig) string { return v.ResolverLevelMetricsBehavior }).(pulumi.StringOutput) +} + +type GraphQlApiEnhancedMetricsConfigPtrOutput struct{ *pulumi.OutputState } + +func (GraphQlApiEnhancedMetricsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiEnhancedMetricsConfig)(nil)).Elem() +} + +func (o GraphQlApiEnhancedMetricsConfigPtrOutput) ToGraphQlApiEnhancedMetricsConfigPtrOutput() GraphQlApiEnhancedMetricsConfigPtrOutput { + return o +} + +func (o GraphQlApiEnhancedMetricsConfigPtrOutput) ToGraphQlApiEnhancedMetricsConfigPtrOutputWithContext(ctx context.Context) GraphQlApiEnhancedMetricsConfigPtrOutput { + return o +} + +func (o GraphQlApiEnhancedMetricsConfigPtrOutput) Elem() GraphQlApiEnhancedMetricsConfigOutput { + return o.ApplyT(func(v *GraphQlApiEnhancedMetricsConfig) GraphQlApiEnhancedMetricsConfig { + if v != nil { + return *v + } + var ret GraphQlApiEnhancedMetricsConfig + return ret + }).(GraphQlApiEnhancedMetricsConfigOutput) +} + +// Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: +func (o GraphQlApiEnhancedMetricsConfigPtrOutput) DataSourceLevelMetricsBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiEnhancedMetricsConfig) *string { + if v == nil { + return nil + } + return &v.DataSourceLevelMetricsBehavior + }).(pulumi.StringPtrOutput) +} + +// Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: +func (o GraphQlApiEnhancedMetricsConfigPtrOutput) OperationLevelMetricsConfig() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiEnhancedMetricsConfig) *string { + if v == nil { + return nil + } + return &v.OperationLevelMetricsConfig + }).(pulumi.StringPtrOutput) +} + +// Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: +func (o GraphQlApiEnhancedMetricsConfigPtrOutput) ResolverLevelMetricsBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiEnhancedMetricsConfig) *string { + if v == nil { + return nil + } + return &v.ResolverLevelMetricsBehavior + }).(pulumi.StringPtrOutput) +} + +type GraphQlApiLambdaAuthorizerConfig struct { + // The number of seconds a response should be cached for. + AuthorizerResultTtlInSeconds *int `pulumi:"authorizerResultTtlInSeconds"` + // The ARN of the Lambda function to be called for authorization. + AuthorizerUri *string `pulumi:"authorizerUri"` + // A regular expression for validation of tokens before the Lambda function is called. + IdentityValidationExpression *string `pulumi:"identityValidationExpression"` +} + +// GraphQlApiLambdaAuthorizerConfigInput is an input type that accepts GraphQlApiLambdaAuthorizerConfigArgs and GraphQlApiLambdaAuthorizerConfigOutput values. +// You can construct a concrete instance of `GraphQlApiLambdaAuthorizerConfigInput` via: +// +// GraphQlApiLambdaAuthorizerConfigArgs{...} +type GraphQlApiLambdaAuthorizerConfigInput interface { + pulumi.Input + + ToGraphQlApiLambdaAuthorizerConfigOutput() GraphQlApiLambdaAuthorizerConfigOutput + ToGraphQlApiLambdaAuthorizerConfigOutputWithContext(context.Context) GraphQlApiLambdaAuthorizerConfigOutput +} + +type GraphQlApiLambdaAuthorizerConfigArgs struct { + // The number of seconds a response should be cached for. + AuthorizerResultTtlInSeconds pulumi.IntPtrInput `pulumi:"authorizerResultTtlInSeconds"` + // The ARN of the Lambda function to be called for authorization. + AuthorizerUri pulumi.StringPtrInput `pulumi:"authorizerUri"` + // A regular expression for validation of tokens before the Lambda function is called. + IdentityValidationExpression pulumi.StringPtrInput `pulumi:"identityValidationExpression"` +} + +func (GraphQlApiLambdaAuthorizerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiLambdaAuthorizerConfig)(nil)).Elem() +} + +func (i GraphQlApiLambdaAuthorizerConfigArgs) ToGraphQlApiLambdaAuthorizerConfigOutput() GraphQlApiLambdaAuthorizerConfigOutput { + return i.ToGraphQlApiLambdaAuthorizerConfigOutputWithContext(context.Background()) +} + +func (i GraphQlApiLambdaAuthorizerConfigArgs) ToGraphQlApiLambdaAuthorizerConfigOutputWithContext(ctx context.Context) GraphQlApiLambdaAuthorizerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiLambdaAuthorizerConfigOutput) +} + +func (i GraphQlApiLambdaAuthorizerConfigArgs) ToGraphQlApiLambdaAuthorizerConfigPtrOutput() GraphQlApiLambdaAuthorizerConfigPtrOutput { + return i.ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(context.Background()) +} + +func (i GraphQlApiLambdaAuthorizerConfigArgs) ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLambdaAuthorizerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiLambdaAuthorizerConfigOutput).ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(ctx) +} + +// GraphQlApiLambdaAuthorizerConfigPtrInput is an input type that accepts GraphQlApiLambdaAuthorizerConfigArgs, GraphQlApiLambdaAuthorizerConfigPtr and GraphQlApiLambdaAuthorizerConfigPtrOutput values. +// You can construct a concrete instance of `GraphQlApiLambdaAuthorizerConfigPtrInput` via: +// +// GraphQlApiLambdaAuthorizerConfigArgs{...} +// +// or: +// +// nil +type GraphQlApiLambdaAuthorizerConfigPtrInput interface { + pulumi.Input + + ToGraphQlApiLambdaAuthorizerConfigPtrOutput() GraphQlApiLambdaAuthorizerConfigPtrOutput + ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(context.Context) GraphQlApiLambdaAuthorizerConfigPtrOutput +} + +type graphQlApiLambdaAuthorizerConfigPtrType GraphQlApiLambdaAuthorizerConfigArgs + +func GraphQlApiLambdaAuthorizerConfigPtr(v *GraphQlApiLambdaAuthorizerConfigArgs) GraphQlApiLambdaAuthorizerConfigPtrInput { + return (*graphQlApiLambdaAuthorizerConfigPtrType)(v) +} + +func (*graphQlApiLambdaAuthorizerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiLambdaAuthorizerConfig)(nil)).Elem() +} + +func (i *graphQlApiLambdaAuthorizerConfigPtrType) ToGraphQlApiLambdaAuthorizerConfigPtrOutput() GraphQlApiLambdaAuthorizerConfigPtrOutput { + return i.ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(context.Background()) +} + +func (i *graphQlApiLambdaAuthorizerConfigPtrType) ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLambdaAuthorizerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiLambdaAuthorizerConfigPtrOutput) +} + +type GraphQlApiLambdaAuthorizerConfigOutput struct{ *pulumi.OutputState } + +func (GraphQlApiLambdaAuthorizerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiLambdaAuthorizerConfig)(nil)).Elem() +} + +func (o GraphQlApiLambdaAuthorizerConfigOutput) ToGraphQlApiLambdaAuthorizerConfigOutput() GraphQlApiLambdaAuthorizerConfigOutput { + return o +} + +func (o GraphQlApiLambdaAuthorizerConfigOutput) ToGraphQlApiLambdaAuthorizerConfigOutputWithContext(ctx context.Context) GraphQlApiLambdaAuthorizerConfigOutput { + return o +} + +func (o GraphQlApiLambdaAuthorizerConfigOutput) ToGraphQlApiLambdaAuthorizerConfigPtrOutput() GraphQlApiLambdaAuthorizerConfigPtrOutput { + return o.ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(context.Background()) +} + +func (o GraphQlApiLambdaAuthorizerConfigOutput) ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLambdaAuthorizerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GraphQlApiLambdaAuthorizerConfig) *GraphQlApiLambdaAuthorizerConfig { + return &v + }).(GraphQlApiLambdaAuthorizerConfigPtrOutput) +} + +// The number of seconds a response should be cached for. +func (o GraphQlApiLambdaAuthorizerConfigOutput) AuthorizerResultTtlInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v GraphQlApiLambdaAuthorizerConfig) *int { return v.AuthorizerResultTtlInSeconds }).(pulumi.IntPtrOutput) +} + +// The ARN of the Lambda function to be called for authorization. +func (o GraphQlApiLambdaAuthorizerConfigOutput) AuthorizerUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiLambdaAuthorizerConfig) *string { return v.AuthorizerUri }).(pulumi.StringPtrOutput) +} + +// A regular expression for validation of tokens before the Lambda function is called. +func (o GraphQlApiLambdaAuthorizerConfigOutput) IdentityValidationExpression() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiLambdaAuthorizerConfig) *string { return v.IdentityValidationExpression }).(pulumi.StringPtrOutput) +} + +type GraphQlApiLambdaAuthorizerConfigPtrOutput struct{ *pulumi.OutputState } + +func (GraphQlApiLambdaAuthorizerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiLambdaAuthorizerConfig)(nil)).Elem() +} + +func (o GraphQlApiLambdaAuthorizerConfigPtrOutput) ToGraphQlApiLambdaAuthorizerConfigPtrOutput() GraphQlApiLambdaAuthorizerConfigPtrOutput { + return o +} + +func (o GraphQlApiLambdaAuthorizerConfigPtrOutput) ToGraphQlApiLambdaAuthorizerConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLambdaAuthorizerConfigPtrOutput { + return o +} + +func (o GraphQlApiLambdaAuthorizerConfigPtrOutput) Elem() GraphQlApiLambdaAuthorizerConfigOutput { + return o.ApplyT(func(v *GraphQlApiLambdaAuthorizerConfig) GraphQlApiLambdaAuthorizerConfig { + if v != nil { + return *v + } + var ret GraphQlApiLambdaAuthorizerConfig + return ret + }).(GraphQlApiLambdaAuthorizerConfigOutput) +} + +// The number of seconds a response should be cached for. +func (o GraphQlApiLambdaAuthorizerConfigPtrOutput) AuthorizerResultTtlInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GraphQlApiLambdaAuthorizerConfig) *int { + if v == nil { + return nil + } + return v.AuthorizerResultTtlInSeconds + }).(pulumi.IntPtrOutput) +} + +// The ARN of the Lambda function to be called for authorization. +func (o GraphQlApiLambdaAuthorizerConfigPtrOutput) AuthorizerUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiLambdaAuthorizerConfig) *string { + if v == nil { + return nil + } + return v.AuthorizerUri + }).(pulumi.StringPtrOutput) +} + +// A regular expression for validation of tokens before the Lambda function is called. +func (o GraphQlApiLambdaAuthorizerConfigPtrOutput) IdentityValidationExpression() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiLambdaAuthorizerConfig) *string { + if v == nil { + return nil + } + return v.IdentityValidationExpression + }).(pulumi.StringPtrOutput) +} + +type GraphQlApiLogConfig struct { + // The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + CloudWatchLogsRoleArn *string `pulumi:"cloudWatchLogsRoleArn"` + // Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + ExcludeVerboseContent *bool `pulumi:"excludeVerboseContent"` + // The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + FieldLogLevel *string `pulumi:"fieldLogLevel"` +} + +// GraphQlApiLogConfigInput is an input type that accepts GraphQlApiLogConfigArgs and GraphQlApiLogConfigOutput values. +// You can construct a concrete instance of `GraphQlApiLogConfigInput` via: +// +// GraphQlApiLogConfigArgs{...} +type GraphQlApiLogConfigInput interface { + pulumi.Input + + ToGraphQlApiLogConfigOutput() GraphQlApiLogConfigOutput + ToGraphQlApiLogConfigOutputWithContext(context.Context) GraphQlApiLogConfigOutput +} + +type GraphQlApiLogConfigArgs struct { + // The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + CloudWatchLogsRoleArn pulumi.StringPtrInput `pulumi:"cloudWatchLogsRoleArn"` + // Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + ExcludeVerboseContent pulumi.BoolPtrInput `pulumi:"excludeVerboseContent"` + // The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + FieldLogLevel pulumi.StringPtrInput `pulumi:"fieldLogLevel"` +} + +func (GraphQlApiLogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiLogConfig)(nil)).Elem() +} + +func (i GraphQlApiLogConfigArgs) ToGraphQlApiLogConfigOutput() GraphQlApiLogConfigOutput { + return i.ToGraphQlApiLogConfigOutputWithContext(context.Background()) +} + +func (i GraphQlApiLogConfigArgs) ToGraphQlApiLogConfigOutputWithContext(ctx context.Context) GraphQlApiLogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiLogConfigOutput) +} + +func (i GraphQlApiLogConfigArgs) ToGraphQlApiLogConfigPtrOutput() GraphQlApiLogConfigPtrOutput { + return i.ToGraphQlApiLogConfigPtrOutputWithContext(context.Background()) +} + +func (i GraphQlApiLogConfigArgs) ToGraphQlApiLogConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiLogConfigOutput).ToGraphQlApiLogConfigPtrOutputWithContext(ctx) +} + +// GraphQlApiLogConfigPtrInput is an input type that accepts GraphQlApiLogConfigArgs, GraphQlApiLogConfigPtr and GraphQlApiLogConfigPtrOutput values. +// You can construct a concrete instance of `GraphQlApiLogConfigPtrInput` via: +// +// GraphQlApiLogConfigArgs{...} +// +// or: +// +// nil +type GraphQlApiLogConfigPtrInput interface { + pulumi.Input + + ToGraphQlApiLogConfigPtrOutput() GraphQlApiLogConfigPtrOutput + ToGraphQlApiLogConfigPtrOutputWithContext(context.Context) GraphQlApiLogConfigPtrOutput +} + +type graphQlApiLogConfigPtrType GraphQlApiLogConfigArgs + +func GraphQlApiLogConfigPtr(v *GraphQlApiLogConfigArgs) GraphQlApiLogConfigPtrInput { + return (*graphQlApiLogConfigPtrType)(v) +} + +func (*graphQlApiLogConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiLogConfig)(nil)).Elem() +} + +func (i *graphQlApiLogConfigPtrType) ToGraphQlApiLogConfigPtrOutput() GraphQlApiLogConfigPtrOutput { + return i.ToGraphQlApiLogConfigPtrOutputWithContext(context.Background()) +} + +func (i *graphQlApiLogConfigPtrType) ToGraphQlApiLogConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiLogConfigPtrOutput) +} + +type GraphQlApiLogConfigOutput struct{ *pulumi.OutputState } + +func (GraphQlApiLogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiLogConfig)(nil)).Elem() +} + +func (o GraphQlApiLogConfigOutput) ToGraphQlApiLogConfigOutput() GraphQlApiLogConfigOutput { + return o +} + +func (o GraphQlApiLogConfigOutput) ToGraphQlApiLogConfigOutputWithContext(ctx context.Context) GraphQlApiLogConfigOutput { + return o +} + +func (o GraphQlApiLogConfigOutput) ToGraphQlApiLogConfigPtrOutput() GraphQlApiLogConfigPtrOutput { + return o.ToGraphQlApiLogConfigPtrOutputWithContext(context.Background()) +} + +func (o GraphQlApiLogConfigOutput) ToGraphQlApiLogConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLogConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GraphQlApiLogConfig) *GraphQlApiLogConfig { + return &v + }).(GraphQlApiLogConfigPtrOutput) +} + +// The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. +func (o GraphQlApiLogConfigOutput) CloudWatchLogsRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiLogConfig) *string { return v.CloudWatchLogsRoleArn }).(pulumi.StringPtrOutput) +} + +// Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. +func (o GraphQlApiLogConfigOutput) ExcludeVerboseContent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GraphQlApiLogConfig) *bool { return v.ExcludeVerboseContent }).(pulumi.BoolPtrOutput) +} + +// The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. +func (o GraphQlApiLogConfigOutput) FieldLogLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiLogConfig) *string { return v.FieldLogLevel }).(pulumi.StringPtrOutput) +} + +type GraphQlApiLogConfigPtrOutput struct{ *pulumi.OutputState } + +func (GraphQlApiLogConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiLogConfig)(nil)).Elem() +} + +func (o GraphQlApiLogConfigPtrOutput) ToGraphQlApiLogConfigPtrOutput() GraphQlApiLogConfigPtrOutput { + return o +} + +func (o GraphQlApiLogConfigPtrOutput) ToGraphQlApiLogConfigPtrOutputWithContext(ctx context.Context) GraphQlApiLogConfigPtrOutput { + return o +} + +func (o GraphQlApiLogConfigPtrOutput) Elem() GraphQlApiLogConfigOutput { + return o.ApplyT(func(v *GraphQlApiLogConfig) GraphQlApiLogConfig { + if v != nil { + return *v + } + var ret GraphQlApiLogConfig + return ret + }).(GraphQlApiLogConfigOutput) +} + +// The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. +func (o GraphQlApiLogConfigPtrOutput) CloudWatchLogsRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiLogConfig) *string { + if v == nil { + return nil + } + return v.CloudWatchLogsRoleArn + }).(pulumi.StringPtrOutput) +} + +// Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. +func (o GraphQlApiLogConfigPtrOutput) ExcludeVerboseContent() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GraphQlApiLogConfig) *bool { + if v == nil { + return nil + } + return v.ExcludeVerboseContent + }).(pulumi.BoolPtrOutput) +} + +// The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. +func (o GraphQlApiLogConfigPtrOutput) FieldLogLevel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiLogConfig) *string { + if v == nil { + return nil + } + return v.FieldLogLevel + }).(pulumi.StringPtrOutput) +} + +type GraphQlApiOpenIdConnectConfig struct { + // The number of milliseconds that a token is valid after being authenticated. + AuthTtl *float64 `pulumi:"authTtl"` + // The client identifier of the Relying party at the OpenID identity provider. + ClientId *string `pulumi:"clientId"` + // The number of milliseconds that a token is valid after it's issued to a user. + IatTtl *float64 `pulumi:"iatTtl"` + // The issuer for the OIDC configuration. + Issuer *string `pulumi:"issuer"` +} + +// GraphQlApiOpenIdConnectConfigInput is an input type that accepts GraphQlApiOpenIdConnectConfigArgs and GraphQlApiOpenIdConnectConfigOutput values. +// You can construct a concrete instance of `GraphQlApiOpenIdConnectConfigInput` via: +// +// GraphQlApiOpenIdConnectConfigArgs{...} +type GraphQlApiOpenIdConnectConfigInput interface { + pulumi.Input + + ToGraphQlApiOpenIdConnectConfigOutput() GraphQlApiOpenIdConnectConfigOutput + ToGraphQlApiOpenIdConnectConfigOutputWithContext(context.Context) GraphQlApiOpenIdConnectConfigOutput +} + +type GraphQlApiOpenIdConnectConfigArgs struct { + // The number of milliseconds that a token is valid after being authenticated. + AuthTtl pulumi.Float64PtrInput `pulumi:"authTtl"` + // The client identifier of the Relying party at the OpenID identity provider. + ClientId pulumi.StringPtrInput `pulumi:"clientId"` + // The number of milliseconds that a token is valid after it's issued to a user. + IatTtl pulumi.Float64PtrInput `pulumi:"iatTtl"` + // The issuer for the OIDC configuration. + Issuer pulumi.StringPtrInput `pulumi:"issuer"` +} + +func (GraphQlApiOpenIdConnectConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiOpenIdConnectConfig)(nil)).Elem() +} + +func (i GraphQlApiOpenIdConnectConfigArgs) ToGraphQlApiOpenIdConnectConfigOutput() GraphQlApiOpenIdConnectConfigOutput { + return i.ToGraphQlApiOpenIdConnectConfigOutputWithContext(context.Background()) +} + +func (i GraphQlApiOpenIdConnectConfigArgs) ToGraphQlApiOpenIdConnectConfigOutputWithContext(ctx context.Context) GraphQlApiOpenIdConnectConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiOpenIdConnectConfigOutput) +} + +func (i GraphQlApiOpenIdConnectConfigArgs) ToGraphQlApiOpenIdConnectConfigPtrOutput() GraphQlApiOpenIdConnectConfigPtrOutput { + return i.ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(context.Background()) +} + +func (i GraphQlApiOpenIdConnectConfigArgs) ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(ctx context.Context) GraphQlApiOpenIdConnectConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiOpenIdConnectConfigOutput).ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(ctx) +} + +// GraphQlApiOpenIdConnectConfigPtrInput is an input type that accepts GraphQlApiOpenIdConnectConfigArgs, GraphQlApiOpenIdConnectConfigPtr and GraphQlApiOpenIdConnectConfigPtrOutput values. +// You can construct a concrete instance of `GraphQlApiOpenIdConnectConfigPtrInput` via: +// +// GraphQlApiOpenIdConnectConfigArgs{...} +// +// or: +// +// nil +type GraphQlApiOpenIdConnectConfigPtrInput interface { + pulumi.Input + + ToGraphQlApiOpenIdConnectConfigPtrOutput() GraphQlApiOpenIdConnectConfigPtrOutput + ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(context.Context) GraphQlApiOpenIdConnectConfigPtrOutput +} + +type graphQlApiOpenIdConnectConfigPtrType GraphQlApiOpenIdConnectConfigArgs + +func GraphQlApiOpenIdConnectConfigPtr(v *GraphQlApiOpenIdConnectConfigArgs) GraphQlApiOpenIdConnectConfigPtrInput { + return (*graphQlApiOpenIdConnectConfigPtrType)(v) +} + +func (*graphQlApiOpenIdConnectConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiOpenIdConnectConfig)(nil)).Elem() +} + +func (i *graphQlApiOpenIdConnectConfigPtrType) ToGraphQlApiOpenIdConnectConfigPtrOutput() GraphQlApiOpenIdConnectConfigPtrOutput { + return i.ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(context.Background()) +} + +func (i *graphQlApiOpenIdConnectConfigPtrType) ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(ctx context.Context) GraphQlApiOpenIdConnectConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiOpenIdConnectConfigPtrOutput) +} + +type GraphQlApiOpenIdConnectConfigOutput struct{ *pulumi.OutputState } + +func (GraphQlApiOpenIdConnectConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiOpenIdConnectConfig)(nil)).Elem() +} + +func (o GraphQlApiOpenIdConnectConfigOutput) ToGraphQlApiOpenIdConnectConfigOutput() GraphQlApiOpenIdConnectConfigOutput { + return o +} + +func (o GraphQlApiOpenIdConnectConfigOutput) ToGraphQlApiOpenIdConnectConfigOutputWithContext(ctx context.Context) GraphQlApiOpenIdConnectConfigOutput { + return o +} + +func (o GraphQlApiOpenIdConnectConfigOutput) ToGraphQlApiOpenIdConnectConfigPtrOutput() GraphQlApiOpenIdConnectConfigPtrOutput { + return o.ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(context.Background()) +} + +func (o GraphQlApiOpenIdConnectConfigOutput) ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(ctx context.Context) GraphQlApiOpenIdConnectConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GraphQlApiOpenIdConnectConfig) *GraphQlApiOpenIdConnectConfig { + return &v + }).(GraphQlApiOpenIdConnectConfigPtrOutput) +} + +// The number of milliseconds that a token is valid after being authenticated. +func (o GraphQlApiOpenIdConnectConfigOutput) AuthTtl() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GraphQlApiOpenIdConnectConfig) *float64 { return v.AuthTtl }).(pulumi.Float64PtrOutput) +} + +// The client identifier of the Relying party at the OpenID identity provider. +func (o GraphQlApiOpenIdConnectConfigOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiOpenIdConnectConfig) *string { return v.ClientId }).(pulumi.StringPtrOutput) +} + +// The number of milliseconds that a token is valid after it's issued to a user. +func (o GraphQlApiOpenIdConnectConfigOutput) IatTtl() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GraphQlApiOpenIdConnectConfig) *float64 { return v.IatTtl }).(pulumi.Float64PtrOutput) +} + +// The issuer for the OIDC configuration. +func (o GraphQlApiOpenIdConnectConfigOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiOpenIdConnectConfig) *string { return v.Issuer }).(pulumi.StringPtrOutput) +} + +type GraphQlApiOpenIdConnectConfigPtrOutput struct{ *pulumi.OutputState } + +func (GraphQlApiOpenIdConnectConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiOpenIdConnectConfig)(nil)).Elem() +} + +func (o GraphQlApiOpenIdConnectConfigPtrOutput) ToGraphQlApiOpenIdConnectConfigPtrOutput() GraphQlApiOpenIdConnectConfigPtrOutput { + return o +} + +func (o GraphQlApiOpenIdConnectConfigPtrOutput) ToGraphQlApiOpenIdConnectConfigPtrOutputWithContext(ctx context.Context) GraphQlApiOpenIdConnectConfigPtrOutput { + return o +} + +func (o GraphQlApiOpenIdConnectConfigPtrOutput) Elem() GraphQlApiOpenIdConnectConfigOutput { + return o.ApplyT(func(v *GraphQlApiOpenIdConnectConfig) GraphQlApiOpenIdConnectConfig { + if v != nil { + return *v + } + var ret GraphQlApiOpenIdConnectConfig + return ret + }).(GraphQlApiOpenIdConnectConfigOutput) +} + +// The number of milliseconds that a token is valid after being authenticated. +func (o GraphQlApiOpenIdConnectConfigPtrOutput) AuthTtl() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GraphQlApiOpenIdConnectConfig) *float64 { + if v == nil { + return nil + } + return v.AuthTtl + }).(pulumi.Float64PtrOutput) +} + +// The client identifier of the Relying party at the OpenID identity provider. +func (o GraphQlApiOpenIdConnectConfigPtrOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiOpenIdConnectConfig) *string { + if v == nil { + return nil + } + return v.ClientId + }).(pulumi.StringPtrOutput) +} + +// The number of milliseconds that a token is valid after it's issued to a user. +func (o GraphQlApiOpenIdConnectConfigPtrOutput) IatTtl() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GraphQlApiOpenIdConnectConfig) *float64 { + if v == nil { + return nil + } + return v.IatTtl + }).(pulumi.Float64PtrOutput) +} + +// The issuer for the OIDC configuration. +func (o GraphQlApiOpenIdConnectConfigPtrOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiOpenIdConnectConfig) *string { + if v == nil { + return nil + } + return v.Issuer + }).(pulumi.StringPtrOutput) +} + +type GraphQlApiTag struct { + // Describes the key of the tag. + Key string `pulumi:"key"` + // Describes the value of the tag. + Value string `pulumi:"value"` +} + +type GraphQlApiUserPoolConfig struct { + // A regular expression for validating the incoming Amazon Cognito user pool app client ID. + AppIdClientRegex *string `pulumi:"appIdClientRegex"` + // The AWS Region in which the user pool was created. + AwsRegion *string `pulumi:"awsRegion"` + // The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + DefaultAction *string `pulumi:"defaultAction"` + // The user pool ID. + UserPoolId *string `pulumi:"userPoolId"` +} + +// GraphQlApiUserPoolConfigInput is an input type that accepts GraphQlApiUserPoolConfigArgs and GraphQlApiUserPoolConfigOutput values. +// You can construct a concrete instance of `GraphQlApiUserPoolConfigInput` via: +// +// GraphQlApiUserPoolConfigArgs{...} +type GraphQlApiUserPoolConfigInput interface { + pulumi.Input + + ToGraphQlApiUserPoolConfigOutput() GraphQlApiUserPoolConfigOutput + ToGraphQlApiUserPoolConfigOutputWithContext(context.Context) GraphQlApiUserPoolConfigOutput +} + +type GraphQlApiUserPoolConfigArgs struct { + // A regular expression for validating the incoming Amazon Cognito user pool app client ID. + AppIdClientRegex pulumi.StringPtrInput `pulumi:"appIdClientRegex"` + // The AWS Region in which the user pool was created. + AwsRegion pulumi.StringPtrInput `pulumi:"awsRegion"` + // The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + DefaultAction pulumi.StringPtrInput `pulumi:"defaultAction"` + // The user pool ID. + UserPoolId pulumi.StringPtrInput `pulumi:"userPoolId"` +} + +func (GraphQlApiUserPoolConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiUserPoolConfig)(nil)).Elem() +} + +func (i GraphQlApiUserPoolConfigArgs) ToGraphQlApiUserPoolConfigOutput() GraphQlApiUserPoolConfigOutput { + return i.ToGraphQlApiUserPoolConfigOutputWithContext(context.Background()) +} + +func (i GraphQlApiUserPoolConfigArgs) ToGraphQlApiUserPoolConfigOutputWithContext(ctx context.Context) GraphQlApiUserPoolConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiUserPoolConfigOutput) +} + +func (i GraphQlApiUserPoolConfigArgs) ToGraphQlApiUserPoolConfigPtrOutput() GraphQlApiUserPoolConfigPtrOutput { + return i.ToGraphQlApiUserPoolConfigPtrOutputWithContext(context.Background()) +} + +func (i GraphQlApiUserPoolConfigArgs) ToGraphQlApiUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiUserPoolConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiUserPoolConfigOutput).ToGraphQlApiUserPoolConfigPtrOutputWithContext(ctx) +} + +// GraphQlApiUserPoolConfigPtrInput is an input type that accepts GraphQlApiUserPoolConfigArgs, GraphQlApiUserPoolConfigPtr and GraphQlApiUserPoolConfigPtrOutput values. +// You can construct a concrete instance of `GraphQlApiUserPoolConfigPtrInput` via: +// +// GraphQlApiUserPoolConfigArgs{...} +// +// or: +// +// nil +type GraphQlApiUserPoolConfigPtrInput interface { + pulumi.Input + + ToGraphQlApiUserPoolConfigPtrOutput() GraphQlApiUserPoolConfigPtrOutput + ToGraphQlApiUserPoolConfigPtrOutputWithContext(context.Context) GraphQlApiUserPoolConfigPtrOutput +} + +type graphQlApiUserPoolConfigPtrType GraphQlApiUserPoolConfigArgs + +func GraphQlApiUserPoolConfigPtr(v *GraphQlApiUserPoolConfigArgs) GraphQlApiUserPoolConfigPtrInput { + return (*graphQlApiUserPoolConfigPtrType)(v) +} + +func (*graphQlApiUserPoolConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiUserPoolConfig)(nil)).Elem() +} + +func (i *graphQlApiUserPoolConfigPtrType) ToGraphQlApiUserPoolConfigPtrOutput() GraphQlApiUserPoolConfigPtrOutput { + return i.ToGraphQlApiUserPoolConfigPtrOutputWithContext(context.Background()) +} + +func (i *graphQlApiUserPoolConfigPtrType) ToGraphQlApiUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiUserPoolConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GraphQlApiUserPoolConfigPtrOutput) +} + +type GraphQlApiUserPoolConfigOutput struct{ *pulumi.OutputState } + +func (GraphQlApiUserPoolConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GraphQlApiUserPoolConfig)(nil)).Elem() +} + +func (o GraphQlApiUserPoolConfigOutput) ToGraphQlApiUserPoolConfigOutput() GraphQlApiUserPoolConfigOutput { + return o +} + +func (o GraphQlApiUserPoolConfigOutput) ToGraphQlApiUserPoolConfigOutputWithContext(ctx context.Context) GraphQlApiUserPoolConfigOutput { + return o +} + +func (o GraphQlApiUserPoolConfigOutput) ToGraphQlApiUserPoolConfigPtrOutput() GraphQlApiUserPoolConfigPtrOutput { + return o.ToGraphQlApiUserPoolConfigPtrOutputWithContext(context.Background()) +} + +func (o GraphQlApiUserPoolConfigOutput) ToGraphQlApiUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiUserPoolConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GraphQlApiUserPoolConfig) *GraphQlApiUserPoolConfig { + return &v + }).(GraphQlApiUserPoolConfigPtrOutput) +} + +// A regular expression for validating the incoming Amazon Cognito user pool app client ID. +func (o GraphQlApiUserPoolConfigOutput) AppIdClientRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiUserPoolConfig) *string { return v.AppIdClientRegex }).(pulumi.StringPtrOutput) +} + +// The AWS Region in which the user pool was created. +func (o GraphQlApiUserPoolConfigOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiUserPoolConfig) *string { return v.AwsRegion }).(pulumi.StringPtrOutput) +} + +// The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. +func (o GraphQlApiUserPoolConfigOutput) DefaultAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiUserPoolConfig) *string { return v.DefaultAction }).(pulumi.StringPtrOutput) +} + +// The user pool ID. +func (o GraphQlApiUserPoolConfigOutput) UserPoolId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GraphQlApiUserPoolConfig) *string { return v.UserPoolId }).(pulumi.StringPtrOutput) +} + +type GraphQlApiUserPoolConfigPtrOutput struct{ *pulumi.OutputState } + +func (GraphQlApiUserPoolConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GraphQlApiUserPoolConfig)(nil)).Elem() +} + +func (o GraphQlApiUserPoolConfigPtrOutput) ToGraphQlApiUserPoolConfigPtrOutput() GraphQlApiUserPoolConfigPtrOutput { + return o +} + +func (o GraphQlApiUserPoolConfigPtrOutput) ToGraphQlApiUserPoolConfigPtrOutputWithContext(ctx context.Context) GraphQlApiUserPoolConfigPtrOutput { + return o +} + +func (o GraphQlApiUserPoolConfigPtrOutput) Elem() GraphQlApiUserPoolConfigOutput { + return o.ApplyT(func(v *GraphQlApiUserPoolConfig) GraphQlApiUserPoolConfig { + if v != nil { + return *v + } + var ret GraphQlApiUserPoolConfig + return ret + }).(GraphQlApiUserPoolConfigOutput) +} + +// A regular expression for validating the incoming Amazon Cognito user pool app client ID. +func (o GraphQlApiUserPoolConfigPtrOutput) AppIdClientRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiUserPoolConfig) *string { + if v == nil { + return nil + } + return v.AppIdClientRegex + }).(pulumi.StringPtrOutput) +} + +// The AWS Region in which the user pool was created. +func (o GraphQlApiUserPoolConfigPtrOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiUserPoolConfig) *string { + if v == nil { + return nil + } + return v.AwsRegion + }).(pulumi.StringPtrOutput) +} + +// The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. +func (o GraphQlApiUserPoolConfigPtrOutput) DefaultAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiUserPoolConfig) *string { + if v == nil { + return nil + } + return v.DefaultAction + }).(pulumi.StringPtrOutput) +} + +// The user pool ID. +func (o GraphQlApiUserPoolConfigPtrOutput) UserPoolId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GraphQlApiUserPoolConfig) *string { + if v == nil { + return nil + } + return v.UserPoolId + }).(pulumi.StringPtrOutput) +} + // Describes a runtime used by an APSYlong resolver or APSYlong function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. type ResolverAppSyncRuntime struct { // The ``name`` of the runtime to use. Currently, the only allowed value is ``APPSYNC_JS``. @@ -3291,6 +4516,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FunctionConfigurationLambdaConflictHandlerConfigPtrInput)(nil)).Elem(), FunctionConfigurationLambdaConflictHandlerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FunctionConfigurationSyncConfigInput)(nil)).Elem(), FunctionConfigurationSyncConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FunctionConfigurationSyncConfigPtrInput)(nil)).Elem(), FunctionConfigurationSyncConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiAdditionalAuthenticationProviderInput)(nil)).Elem(), GraphQlApiAdditionalAuthenticationProviderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiAdditionalAuthenticationProviderArrayInput)(nil)).Elem(), GraphQlApiAdditionalAuthenticationProviderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiCognitoUserPoolConfigInput)(nil)).Elem(), GraphQlApiCognitoUserPoolConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiCognitoUserPoolConfigPtrInput)(nil)).Elem(), GraphQlApiCognitoUserPoolConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiEnhancedMetricsConfigInput)(nil)).Elem(), GraphQlApiEnhancedMetricsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiEnhancedMetricsConfigPtrInput)(nil)).Elem(), GraphQlApiEnhancedMetricsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiLambdaAuthorizerConfigInput)(nil)).Elem(), GraphQlApiLambdaAuthorizerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiLambdaAuthorizerConfigPtrInput)(nil)).Elem(), GraphQlApiLambdaAuthorizerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiLogConfigInput)(nil)).Elem(), GraphQlApiLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiLogConfigPtrInput)(nil)).Elem(), GraphQlApiLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiOpenIdConnectConfigInput)(nil)).Elem(), GraphQlApiOpenIdConnectConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiOpenIdConnectConfigPtrInput)(nil)).Elem(), GraphQlApiOpenIdConnectConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiUserPoolConfigInput)(nil)).Elem(), GraphQlApiUserPoolConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GraphQlApiUserPoolConfigPtrInput)(nil)).Elem(), GraphQlApiUserPoolConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResolverAppSyncRuntimeInput)(nil)).Elem(), ResolverAppSyncRuntimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResolverAppSyncRuntimePtrInput)(nil)).Elem(), ResolverAppSyncRuntimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResolverCachingConfigInput)(nil)).Elem(), ResolverCachingConfigArgs{}) @@ -3331,6 +4570,20 @@ func init() { pulumi.RegisterOutputType(FunctionConfigurationLambdaConflictHandlerConfigPtrOutput{}) pulumi.RegisterOutputType(FunctionConfigurationSyncConfigOutput{}) pulumi.RegisterOutputType(FunctionConfigurationSyncConfigPtrOutput{}) + pulumi.RegisterOutputType(GraphQlApiAdditionalAuthenticationProviderOutput{}) + pulumi.RegisterOutputType(GraphQlApiAdditionalAuthenticationProviderArrayOutput{}) + pulumi.RegisterOutputType(GraphQlApiCognitoUserPoolConfigOutput{}) + pulumi.RegisterOutputType(GraphQlApiCognitoUserPoolConfigPtrOutput{}) + pulumi.RegisterOutputType(GraphQlApiEnhancedMetricsConfigOutput{}) + pulumi.RegisterOutputType(GraphQlApiEnhancedMetricsConfigPtrOutput{}) + pulumi.RegisterOutputType(GraphQlApiLambdaAuthorizerConfigOutput{}) + pulumi.RegisterOutputType(GraphQlApiLambdaAuthorizerConfigPtrOutput{}) + pulumi.RegisterOutputType(GraphQlApiLogConfigOutput{}) + pulumi.RegisterOutputType(GraphQlApiLogConfigPtrOutput{}) + pulumi.RegisterOutputType(GraphQlApiOpenIdConnectConfigOutput{}) + pulumi.RegisterOutputType(GraphQlApiOpenIdConnectConfigPtrOutput{}) + pulumi.RegisterOutputType(GraphQlApiUserPoolConfigOutput{}) + pulumi.RegisterOutputType(GraphQlApiUserPoolConfigPtrOutput{}) pulumi.RegisterOutputType(ResolverAppSyncRuntimeOutput{}) pulumi.RegisterOutputType(ResolverAppSyncRuntimePtrOutput{}) pulumi.RegisterOutputType(ResolverCachingConfigOutput{}) diff --git a/sdk/go/aws/autoscaling/autoScalingGroup.go b/sdk/go/aws/autoscaling/autoScalingGroup.go index 22ae37394a..ff7fe68d33 100644 --- a/sdk/go/aws/autoscaling/autoScalingGroup.go +++ b/sdk/go/aws/autoscaling/autoScalingGroup.go @@ -98,8 +98,9 @@ type AutoScalingGroup struct { TargetGroupArns pulumi.StringArrayOutput `pulumi:"targetGroupArns"` // A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. // Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` - TerminationPolicies pulumi.StringArrayOutput `pulumi:"terminationPolicies"` - TrafficSources AutoScalingGroupTrafficSourceIdentifierArrayOutput `pulumi:"trafficSources"` + TerminationPolicies pulumi.StringArrayOutput `pulumi:"terminationPolicies"` + // The traffic sources associated with this Auto Scaling group. + TrafficSources AutoScalingGroupTrafficSourceIdentifierArrayOutput `pulumi:"trafficSources"` // A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. // If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). // When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). @@ -236,8 +237,9 @@ type autoScalingGroupArgs struct { TargetGroupArns []string `pulumi:"targetGroupArns"` // A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. // Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` - TerminationPolicies []string `pulumi:"terminationPolicies"` - TrafficSources []AutoScalingGroupTrafficSourceIdentifier `pulumi:"trafficSources"` + TerminationPolicies []string `pulumi:"terminationPolicies"` + // The traffic sources associated with this Auto Scaling group. + TrafficSources []AutoScalingGroupTrafficSourceIdentifier `pulumi:"trafficSources"` // A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. // If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). // When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). @@ -326,7 +328,8 @@ type AutoScalingGroupArgs struct { // A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. // Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` TerminationPolicies pulumi.StringArrayInput - TrafficSources AutoScalingGroupTrafficSourceIdentifierArrayInput + // The traffic sources associated with this Auto Scaling group. + TrafficSources AutoScalingGroupTrafficSourceIdentifierArrayInput // A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. // If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). // When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). @@ -561,6 +564,7 @@ func (o AutoScalingGroupOutput) TerminationPolicies() pulumi.StringArrayOutput { return o.ApplyT(func(v *AutoScalingGroup) pulumi.StringArrayOutput { return v.TerminationPolicies }).(pulumi.StringArrayOutput) } +// The traffic sources associated with this Auto Scaling group. func (o AutoScalingGroupOutput) TrafficSources() AutoScalingGroupTrafficSourceIdentifierArrayOutput { return o.ApplyT(func(v *AutoScalingGroup) AutoScalingGroupTrafficSourceIdentifierArrayOutput { return v.TrafficSources }).(AutoScalingGroupTrafficSourceIdentifierArrayOutput) } diff --git a/sdk/go/aws/autoscaling/getAutoScalingGroup.go b/sdk/go/aws/autoscaling/getAutoScalingGroup.go index 9fa1019aef..440107f697 100644 --- a/sdk/go/aws/autoscaling/getAutoScalingGroup.go +++ b/sdk/go/aws/autoscaling/getAutoScalingGroup.go @@ -105,8 +105,9 @@ type LookupAutoScalingGroupResult struct { TargetGroupArns []string `pulumi:"targetGroupArns"` // A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. // Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` - TerminationPolicies []string `pulumi:"terminationPolicies"` - TrafficSources []AutoScalingGroupTrafficSourceIdentifier `pulumi:"trafficSources"` + TerminationPolicies []string `pulumi:"terminationPolicies"` + // The traffic sources associated with this Auto Scaling group. + TrafficSources []AutoScalingGroupTrafficSourceIdentifier `pulumi:"trafficSources"` // A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. // If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). // When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). @@ -335,6 +336,7 @@ func (o LookupAutoScalingGroupResultOutput) TerminationPolicies() pulumi.StringA return o.ApplyT(func(v LookupAutoScalingGroupResult) []string { return v.TerminationPolicies }).(pulumi.StringArrayOutput) } +// The traffic sources associated with this Auto Scaling group. func (o LookupAutoScalingGroupResultOutput) TrafficSources() AutoScalingGroupTrafficSourceIdentifierArrayOutput { return o.ApplyT(func(v LookupAutoScalingGroupResult) []AutoScalingGroupTrafficSourceIdentifier { return v.TrafficSources diff --git a/sdk/go/aws/autoscaling/pulumiTypes.go b/sdk/go/aws/autoscaling/pulumiTypes.go index b336045953..978f30b16e 100644 --- a/sdk/go/aws/autoscaling/pulumiTypes.go +++ b/sdk/go/aws/autoscaling/pulumiTypes.go @@ -4209,8 +4209,30 @@ func (o AutoScalingGroupTotalLocalStorageGbRequestPtrOutput) Min() pulumi.Float6 } type AutoScalingGroupTrafficSourceIdentifier struct { + // Identifies the traffic source. + // + // For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + // + // For example: + // + // - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + // - Classic Load Balancer name: `my-classic-load-balancer` + // - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + // + // To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + // + // To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. Identifier string `pulumi:"identifier"` - Type string `pulumi:"type"` + // Provides additional context for the value of `Identifier` . + // + // The following lists the valid values: + // + // - `elb` if `Identifier` is the name of a Classic Load Balancer. + // - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + // - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + // + // Required if the identifier is the name of a Classic Load Balancer. + Type string `pulumi:"type"` } // AutoScalingGroupTrafficSourceIdentifierInput is an input type that accepts AutoScalingGroupTrafficSourceIdentifierArgs and AutoScalingGroupTrafficSourceIdentifierOutput values. @@ -4225,8 +4247,30 @@ type AutoScalingGroupTrafficSourceIdentifierInput interface { } type AutoScalingGroupTrafficSourceIdentifierArgs struct { + // Identifies the traffic source. + // + // For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + // + // For example: + // + // - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + // - Classic Load Balancer name: `my-classic-load-balancer` + // - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + // + // To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + // + // To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. Identifier pulumi.StringInput `pulumi:"identifier"` - Type pulumi.StringInput `pulumi:"type"` + // Provides additional context for the value of `Identifier` . + // + // The following lists the valid values: + // + // - `elb` if `Identifier` is the name of a Classic Load Balancer. + // - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + // - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + // + // Required if the identifier is the name of a Classic Load Balancer. + Type pulumi.StringInput `pulumi:"type"` } func (AutoScalingGroupTrafficSourceIdentifierArgs) ElementType() reflect.Type { @@ -4280,10 +4324,32 @@ func (o AutoScalingGroupTrafficSourceIdentifierOutput) ToAutoScalingGroupTraffic return o } +// Identifies the traffic source. +// +// For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. +// +// For example: +// +// - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` +// - Classic Load Balancer name: `my-classic-load-balancer` +// - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` +// +// To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. +// +// To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. func (o AutoScalingGroupTrafficSourceIdentifierOutput) Identifier() pulumi.StringOutput { return o.ApplyT(func(v AutoScalingGroupTrafficSourceIdentifier) string { return v.Identifier }).(pulumi.StringOutput) } +// Provides additional context for the value of `Identifier` . +// +// The following lists the valid values: +// +// - `elb` if `Identifier` is the name of a Classic Load Balancer. +// - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. +// - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. +// +// Required if the identifier is the name of a Classic Load Balancer. func (o AutoScalingGroupTrafficSourceIdentifierOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v AutoScalingGroupTrafficSourceIdentifier) string { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/bedrock/pulumiEnums.go b/sdk/go/aws/bedrock/pulumiEnums.go index c03842b174..11abbd4330 100644 --- a/sdk/go/aws/bedrock/pulumiEnums.go +++ b/sdk/go/aws/bedrock/pulumiEnums.go @@ -14,7 +14,8 @@ import ( type AgentActionGroupSignature string const ( - AgentActionGroupSignatureAmazonUserInput = AgentActionGroupSignature("AMAZON.UserInput") + AgentActionGroupSignatureAmazonUserInput = AgentActionGroupSignature("AMAZON.UserInput") + AgentActionGroupSignatureAmazonCodeInterpreter = AgentActionGroupSignature("AMAZON.CodeInterpreter") ) func (AgentActionGroupSignature) ElementType() reflect.Type { @@ -140,6 +141,7 @@ func (o AgentActionGroupSignaturePtrOutput) ToStringPtrOutputWithContext(ctx con // A concrete instance of `AgentActionGroupSignatureInput` can be one of the following: // // AgentActionGroupSignatureAmazonUserInput +// AgentActionGroupSignatureAmazonCodeInterpreter type AgentActionGroupSignatureInput interface { pulumi.Input diff --git a/sdk/go/aws/ec2/capacityReservation.go b/sdk/go/aws/ec2/capacityReservation.go index 3b36636f59..a1aee9e63e 100644 --- a/sdk/go/aws/ec2/capacityReservation.go +++ b/sdk/go/aws/ec2/capacityReservation.go @@ -64,7 +64,8 @@ type CapacityReservation struct { // - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . Tenancy pulumi.StringPtrOutput `pulumi:"tenancy"` // Returns the total number of instances for which the Capacity Reservation reserves capacity. For example: `15` . - TotalInstanceCount pulumi.IntOutput `pulumi:"totalInstanceCount"` + TotalInstanceCount pulumi.IntOutput `pulumi:"totalInstanceCount"` + // The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. UnusedReservationBillingOwnerId pulumi.StringPtrOutput `pulumi:"unusedReservationBillingOwnerId"` } @@ -174,7 +175,8 @@ type capacityReservationArgs struct { // // - `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . // - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . - Tenancy *string `pulumi:"tenancy"` + Tenancy *string `pulumi:"tenancy"` + // The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. UnusedReservationBillingOwnerId *string `pulumi:"unusedReservationBillingOwnerId"` } @@ -222,7 +224,8 @@ type CapacityReservationArgs struct { // // - `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . // - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . - Tenancy pulumi.StringPtrInput + Tenancy pulumi.StringPtrInput + // The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. UnusedReservationBillingOwnerId pulumi.StringPtrInput } @@ -362,6 +365,7 @@ func (o CapacityReservationOutput) TotalInstanceCount() pulumi.IntOutput { return o.ApplyT(func(v *CapacityReservation) pulumi.IntOutput { return v.TotalInstanceCount }).(pulumi.IntOutput) } +// The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. func (o CapacityReservationOutput) UnusedReservationBillingOwnerId() pulumi.StringPtrOutput { return o.ApplyT(func(v *CapacityReservation) pulumi.StringPtrOutput { return v.UnusedReservationBillingOwnerId }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ec2/pulumiEnums.go b/sdk/go/aws/ec2/pulumiEnums.go index cfed1b0953..016f142229 100644 --- a/sdk/go/aws/ec2/pulumiEnums.go +++ b/sdk/go/aws/ec2/pulumiEnums.go @@ -10647,9 +10647,9 @@ func (in *vpcEndpointTypePtr) ToVpcEndpointTypePtrOutputWithContext(ctx context. return pulumi.ToOutputWithContext(ctx, in).(VpcEndpointTypePtrOutput) } -// Set log format. Default format is `json` . +// Set log format. Default format is “json“. // -// Valid values: `json` | `text` +// Valid values: ``json`` | ``text`` type VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat string const ( @@ -11661,11 +11661,10 @@ func (in *vpnConnectionPhase2IntegrityAlgorithmsRequestListValueValuePtr) ToVpnC return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValuePtrOutput) } -// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. +// The action to take after DPD timeout occurs. Specify “restart“ to restart the IKE initiation. Specify “clear“ to end the IKE session. // -// Valid Values: `clear` | `none` | `restart` -// -// Default: `clear` +// Valid Values: ``clear`` | ``none`` | ``restart`` +// Default: ``clear`` type VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction string const ( @@ -11833,11 +11832,10 @@ func (in *vpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtr) ToVpnCo return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrOutput) } -// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. -// -// Valid Values: `add` | `start` +// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify “start“ for AWS to initiate the IKE negotiation. // -// Default: `add` +// Valid Values: ``add`` | ``start`` +// Default: ``add`` type VpnConnectionVpnTunnelOptionsSpecificationStartupAction string const ( diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 8f3e1375e8..c307e26dc3 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -30721,16 +30721,15 @@ type VpcTag struct { Value string `pulumi:"value"` } +// Options for sending VPN tunnel logs to CloudWatch. type VpnConnectionCloudwatchLogOptionsSpecification struct { - // Enable or disable VPN tunnel logging feature. Default value is `False` . - // - // Valid values: `True` | `False` + // Enable or disable VPN tunnel logging feature. Default value is ``False``. + // Valid values: ``True`` | ``False`` LogEnabled *bool `pulumi:"logEnabled"` // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. LogGroupArn *string `pulumi:"logGroupArn"` - // Set log format. Default format is `json` . - // - // Valid values: `json` | `text` + // Set log format. Default format is ``json``. + // Valid values: ``json`` | ``text`` LogOutputFormat *VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat `pulumi:"logOutputFormat"` } @@ -30745,16 +30744,15 @@ type VpnConnectionCloudwatchLogOptionsSpecificationInput interface { ToVpnConnectionCloudwatchLogOptionsSpecificationOutputWithContext(context.Context) VpnConnectionCloudwatchLogOptionsSpecificationOutput } +// Options for sending VPN tunnel logs to CloudWatch. type VpnConnectionCloudwatchLogOptionsSpecificationArgs struct { - // Enable or disable VPN tunnel logging feature. Default value is `False` . - // - // Valid values: `True` | `False` + // Enable or disable VPN tunnel logging feature. Default value is ``False``. + // Valid values: ``True`` | ``False`` LogEnabled pulumi.BoolPtrInput `pulumi:"logEnabled"` // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. LogGroupArn pulumi.StringPtrInput `pulumi:"logGroupArn"` - // Set log format. Default format is `json` . - // - // Valid values: `json` | `text` + // Set log format. Default format is ``json``. + // Valid values: ``json`` | ``text`` LogOutputFormat VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrInput `pulumi:"logOutputFormat"` } @@ -30811,6 +30809,7 @@ func (i *vpnConnectionCloudwatchLogOptionsSpecificationPtrType) ToVpnConnectionC return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) } +// Options for sending VPN tunnel logs to CloudWatch. type VpnConnectionCloudwatchLogOptionsSpecificationOutput struct{ *pulumi.OutputState } func (VpnConnectionCloudwatchLogOptionsSpecificationOutput) ElementType() reflect.Type { @@ -30835,9 +30834,9 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) ToVpnConnectionClo }).(VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) } -// Enable or disable VPN tunnel logging feature. Default value is `False` . +// Enable or disable VPN tunnel logging feature. Default value is “False“. // -// Valid values: `True` | `False` +// Valid values: ``True`` | ``False`` func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v VpnConnectionCloudwatchLogOptionsSpecification) *bool { return v.LogEnabled }).(pulumi.BoolPtrOutput) } @@ -30847,9 +30846,9 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) LogGroupArn() pulu return o.ApplyT(func(v VpnConnectionCloudwatchLogOptionsSpecification) *string { return v.LogGroupArn }).(pulumi.StringPtrOutput) } -// Set log format. Default format is `json` . +// Set log format. Default format is “json“. // -// Valid values: `json` | `text` +// Valid values: ``json`` | ``text`` func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) LogOutputFormat() VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrOutput { return o.ApplyT(func(v VpnConnectionCloudwatchLogOptionsSpecification) *VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat { return v.LogOutputFormat @@ -30880,9 +30879,9 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) Elem() VpnConne }).(VpnConnectionCloudwatchLogOptionsSpecificationOutput) } -// Enable or disable VPN tunnel logging feature. Default value is `False` . +// Enable or disable VPN tunnel logging feature. Default value is “False“. // -// Valid values: `True` | `False` +// Valid values: ``True`` | ``False`` func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *VpnConnectionCloudwatchLogOptionsSpecification) *bool { if v == nil { @@ -30902,9 +30901,9 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogGroupArn() p }).(pulumi.StringPtrOutput) } -// Set log format. Default format is `json` . +// Set log format. Default format is “json“. // -// Valid values: `json` | `text` +// Valid values: ``json`` | ``text`` func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogOutputFormat() VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrOutput { return o.ApplyT(func(v *VpnConnectionCloudwatchLogOptionsSpecification) *VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat { if v == nil { @@ -30914,6 +30913,7 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogOutputFormat }).(VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrOutput) } +// The IKE version that is permitted for the VPN tunnel. type VpnConnectionIkeVersionsRequestListValue struct { // The IKE version. Value *VpnConnectionIkeVersionsRequestListValueValue `pulumi:"value"` @@ -30930,6 +30930,7 @@ type VpnConnectionIkeVersionsRequestListValueInput interface { ToVpnConnectionIkeVersionsRequestListValueOutputWithContext(context.Context) VpnConnectionIkeVersionsRequestListValueOutput } +// The IKE version that is permitted for the VPN tunnel. type VpnConnectionIkeVersionsRequestListValueArgs struct { // The IKE version. Value VpnConnectionIkeVersionsRequestListValueValuePtrInput `pulumi:"value"` @@ -30972,6 +30973,7 @@ func (i VpnConnectionIkeVersionsRequestListValueArray) ToVpnConnectionIkeVersion return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionIkeVersionsRequestListValueArrayOutput) } +// The IKE version that is permitted for the VPN tunnel. type VpnConnectionIkeVersionsRequestListValueOutput struct{ *pulumi.OutputState } func (VpnConnectionIkeVersionsRequestListValueOutput) ElementType() reflect.Type { @@ -31013,6 +31015,7 @@ func (o VpnConnectionIkeVersionsRequestListValueArrayOutput) Index(i pulumi.IntI }).(VpnConnectionIkeVersionsRequestListValueOutput) } +// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1EncryptionAlgorithmsRequestListValue struct { // The value for the encryption algorithm. Value *VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue `pulumi:"value"` @@ -31029,6 +31032,7 @@ type VpnConnectionPhase1EncryptionAlgorithmsRequestListValueInput interface { ToVpnConnectionPhase1EncryptionAlgorithmsRequestListValueOutputWithContext(context.Context) VpnConnectionPhase1EncryptionAlgorithmsRequestListValueOutput } +// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs struct { // The value for the encryption algorithm. Value VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` @@ -31071,6 +31075,7 @@ func (i VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArray) ToVpnConne return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayOutput) } +// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1EncryptionAlgorithmsRequestListValueOutput struct{ *pulumi.OutputState } func (VpnConnectionPhase1EncryptionAlgorithmsRequestListValueOutput) ElementType() reflect.Type { @@ -31112,6 +31117,7 @@ func (o VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayOutput) Inde }).(VpnConnectionPhase1EncryptionAlgorithmsRequestListValueOutput) } +// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1IntegrityAlgorithmsRequestListValue struct { // The value for the integrity algorithm. Value *VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue `pulumi:"value"` @@ -31128,6 +31134,7 @@ type VpnConnectionPhase1IntegrityAlgorithmsRequestListValueInput interface { ToVpnConnectionPhase1IntegrityAlgorithmsRequestListValueOutputWithContext(context.Context) VpnConnectionPhase1IntegrityAlgorithmsRequestListValueOutput } +// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs struct { // The value for the integrity algorithm. Value VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` @@ -31170,6 +31177,7 @@ func (i VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArray) ToVpnConnec return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayOutput) } +// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1IntegrityAlgorithmsRequestListValueOutput struct{ *pulumi.OutputState } func (VpnConnectionPhase1IntegrityAlgorithmsRequestListValueOutput) ElementType() reflect.Type { @@ -31211,6 +31219,7 @@ func (o VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayOutput) Index }).(VpnConnectionPhase1IntegrityAlgorithmsRequestListValueOutput) } +// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1dhGroupNumbersRequestListValue struct { // The Diffie-Hellmann group number. Value *int `pulumi:"value"` @@ -31227,6 +31236,7 @@ type VpnConnectionPhase1dhGroupNumbersRequestListValueInput interface { ToVpnConnectionPhase1dhGroupNumbersRequestListValueOutputWithContext(context.Context) VpnConnectionPhase1dhGroupNumbersRequestListValueOutput } +// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1dhGroupNumbersRequestListValueArgs struct { // The Diffie-Hellmann group number. Value pulumi.IntPtrInput `pulumi:"value"` @@ -31269,6 +31279,7 @@ func (i VpnConnectionPhase1dhGroupNumbersRequestListValueArray) ToVpnConnectionP return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionPhase1dhGroupNumbersRequestListValueArrayOutput) } +// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. type VpnConnectionPhase1dhGroupNumbersRequestListValueOutput struct{ *pulumi.OutputState } func (VpnConnectionPhase1dhGroupNumbersRequestListValueOutput) ElementType() reflect.Type { @@ -31308,6 +31319,7 @@ func (o VpnConnectionPhase1dhGroupNumbersRequestListValueArrayOutput) Index(i pu }).(VpnConnectionPhase1dhGroupNumbersRequestListValueOutput) } +// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2EncryptionAlgorithmsRequestListValue struct { // The encryption algorithm. Value *VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue `pulumi:"value"` @@ -31324,6 +31336,7 @@ type VpnConnectionPhase2EncryptionAlgorithmsRequestListValueInput interface { ToVpnConnectionPhase2EncryptionAlgorithmsRequestListValueOutputWithContext(context.Context) VpnConnectionPhase2EncryptionAlgorithmsRequestListValueOutput } +// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs struct { // The encryption algorithm. Value VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` @@ -31366,6 +31379,7 @@ func (i VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArray) ToVpnConne return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayOutput) } +// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2EncryptionAlgorithmsRequestListValueOutput struct{ *pulumi.OutputState } func (VpnConnectionPhase2EncryptionAlgorithmsRequestListValueOutput) ElementType() reflect.Type { @@ -31407,6 +31421,7 @@ func (o VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayOutput) Inde }).(VpnConnectionPhase2EncryptionAlgorithmsRequestListValueOutput) } +// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2IntegrityAlgorithmsRequestListValue struct { // The integrity algorithm. Value *VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue `pulumi:"value"` @@ -31423,6 +31438,7 @@ type VpnConnectionPhase2IntegrityAlgorithmsRequestListValueInput interface { ToVpnConnectionPhase2IntegrityAlgorithmsRequestListValueOutputWithContext(context.Context) VpnConnectionPhase2IntegrityAlgorithmsRequestListValueOutput } +// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs struct { // The integrity algorithm. Value VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` @@ -31465,6 +31481,7 @@ func (i VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArray) ToVpnConnec return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayOutput) } +// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2IntegrityAlgorithmsRequestListValueOutput struct{ *pulumi.OutputState } func (VpnConnectionPhase2IntegrityAlgorithmsRequestListValueOutput) ElementType() reflect.Type { @@ -31506,6 +31523,7 @@ func (o VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayOutput) Index }).(VpnConnectionPhase2IntegrityAlgorithmsRequestListValueOutput) } +// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2dhGroupNumbersRequestListValue struct { // The Diffie-Hellmann group number. Value *int `pulumi:"value"` @@ -31522,6 +31540,7 @@ type VpnConnectionPhase2dhGroupNumbersRequestListValueInput interface { ToVpnConnectionPhase2dhGroupNumbersRequestListValueOutputWithContext(context.Context) VpnConnectionPhase2dhGroupNumbersRequestListValueOutput } +// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2dhGroupNumbersRequestListValueArgs struct { // The Diffie-Hellmann group number. Value pulumi.IntPtrInput `pulumi:"value"` @@ -31564,6 +31583,7 @@ func (i VpnConnectionPhase2dhGroupNumbersRequestListValueArray) ToVpnConnectionP return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionPhase2dhGroupNumbersRequestListValueArrayOutput) } +// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. type VpnConnectionPhase2dhGroupNumbersRequestListValueOutput struct{ *pulumi.OutputState } func (VpnConnectionPhase2dhGroupNumbersRequestListValueOutput) ElementType() reflect.Type { @@ -31611,6 +31631,7 @@ type VpnConnectionTag struct { Value string `pulumi:"value"` } +// Options for logging VPN tunnel activity. type VpnConnectionVpnTunnelLogOptionsSpecification struct { // Options for sending VPN tunnel logs to CloudWatch. CloudwatchLogOptions *VpnConnectionCloudwatchLogOptionsSpecification `pulumi:"cloudwatchLogOptions"` @@ -31627,6 +31648,7 @@ type VpnConnectionVpnTunnelLogOptionsSpecificationInput interface { ToVpnConnectionVpnTunnelLogOptionsSpecificationOutputWithContext(context.Context) VpnConnectionVpnTunnelLogOptionsSpecificationOutput } +// Options for logging VPN tunnel activity. type VpnConnectionVpnTunnelLogOptionsSpecificationArgs struct { // Options for sending VPN tunnel logs to CloudWatch. CloudwatchLogOptions VpnConnectionCloudwatchLogOptionsSpecificationPtrInput `pulumi:"cloudwatchLogOptions"` @@ -31685,6 +31707,7 @@ func (i *vpnConnectionVpnTunnelLogOptionsSpecificationPtrType) ToVpnConnectionVp return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput) } +// Options for logging VPN tunnel activity. type VpnConnectionVpnTunnelLogOptionsSpecificationOutput struct{ *pulumi.OutputState } func (VpnConnectionVpnTunnelLogOptionsSpecificationOutput) ElementType() reflect.Type { @@ -31752,88 +31775,65 @@ func (o VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput) CloudwatchLogOpt // The tunnel options for a single VPN tunnel. type VpnConnectionVpnTunnelOptionsSpecification struct { - // The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - // - // Valid Values: `clear` | `none` | `restart` - // - // Default: `clear` + // The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + // Valid Values: ``clear`` | ``none`` | ``restart`` + // Default: ``clear`` DpdTimeoutAction *VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction `pulumi:"dpdTimeoutAction"` // The number of seconds after which a DPD timeout occurs. - // - // Constraints: A value greater than or equal to 30. - // - // Default: `30` + // Constraints: A value greater than or equal to 30. + // Default: ``30`` DpdTimeoutSeconds *int `pulumi:"dpdTimeoutSeconds"` // Turn on or off tunnel endpoint lifecycle control feature. EnableTunnelLifecycleControl *bool `pulumi:"enableTunnelLifecycleControl"` // The IKE versions that are permitted for the VPN tunnel. - // - // Valid values: `ikev1` | `ikev2` + // Valid values: ``ikev1`` | ``ikev2`` IkeVersions []VpnConnectionIkeVersionsRequestListValue `pulumi:"ikeVersions"` // Options for logging VPN tunnel activity. LogOptions *VpnConnectionVpnTunnelLogOptionsSpecification `pulumi:"logOptions"` // One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - // - // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + // Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` Phase1EncryptionAlgorithms []VpnConnectionPhase1EncryptionAlgorithmsRequestListValue `pulumi:"phase1EncryptionAlgorithms"` // One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - // - // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + // Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` Phase1IntegrityAlgorithms []VpnConnectionPhase1IntegrityAlgorithmsRequestListValue `pulumi:"phase1IntegrityAlgorithms"` // The lifetime for phase 1 of the IKE negotiation, in seconds. - // - // Constraints: A value between 900 and 28,800. - // - // Default: `28800` + // Constraints: A value between 900 and 28,800. + // Default: ``28800`` Phase1LifetimeSeconds *int `pulumi:"phase1LifetimeSeconds"` // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - // - // Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + // Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` Phase1dhGroupNumbers []VpnConnectionPhase1dhGroupNumbersRequestListValue `pulumi:"phase1dhGroupNumbers"` // One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - // - // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + // Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` Phase2EncryptionAlgorithms []VpnConnectionPhase2EncryptionAlgorithmsRequestListValue `pulumi:"phase2EncryptionAlgorithms"` // One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - // - // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + // Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` Phase2IntegrityAlgorithms []VpnConnectionPhase2IntegrityAlgorithmsRequestListValue `pulumi:"phase2IntegrityAlgorithms"` // The lifetime for phase 2 of the IKE negotiation, in seconds. - // - // Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - // - // Default: `3600` + // Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + // Default: ``3600`` Phase2LifetimeSeconds *int `pulumi:"phase2LifetimeSeconds"` // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - // - // Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + // Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` Phase2dhGroupNumbers []VpnConnectionPhase2dhGroupNumbersRequestListValue `pulumi:"phase2dhGroupNumbers"` // The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. // Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). PreSharedKey *string `pulumi:"preSharedKey"` - // The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - // - // Constraints: A value between 0 and 100. - // - // Default: `100` + // The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + // Constraints: A value between 0 and 100. + // Default: ``100`` RekeyFuzzPercentage *int `pulumi:"rekeyFuzzPercentage"` - // The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - // - // Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - // - // Default: `270` + // The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + // Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + // Default: ``270`` RekeyMarginTimeSeconds *int `pulumi:"rekeyMarginTimeSeconds"` // The number of packets in an IKE replay window. - // - // Constraints: A value between 64 and 2048. - // - // Default: `1024` + // Constraints: A value between 64 and 2048. + // Default: ``1024`` ReplayWindowSize *int `pulumi:"replayWindowSize"` - // The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - // - // Valid Values: `add` | `start` - // - // Default: `add` + // The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + // Valid Values: ``add`` | ``start`` + // Default: ``add`` StartupAction *VpnConnectionVpnTunnelOptionsSpecificationStartupAction `pulumi:"startupAction"` // The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. // Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: @@ -31846,8 +31846,7 @@ type VpnConnectionVpnTunnelOptionsSpecification struct { // + ``169.254.169.252/30`` TunnelInsideCidr *string `pulumi:"tunnelInsideCidr"` // The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - // - // Constraints: A size /126 CIDR block from the local `fd00::/8` range. + // Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. TunnelInsideIpv6Cidr *string `pulumi:"tunnelInsideIpv6Cidr"` } @@ -31864,88 +31863,65 @@ type VpnConnectionVpnTunnelOptionsSpecificationInput interface { // The tunnel options for a single VPN tunnel. type VpnConnectionVpnTunnelOptionsSpecificationArgs struct { - // The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - // - // Valid Values: `clear` | `none` | `restart` - // - // Default: `clear` + // The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + // Valid Values: ``clear`` | ``none`` | ``restart`` + // Default: ``clear`` DpdTimeoutAction VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrInput `pulumi:"dpdTimeoutAction"` // The number of seconds after which a DPD timeout occurs. - // - // Constraints: A value greater than or equal to 30. - // - // Default: `30` + // Constraints: A value greater than or equal to 30. + // Default: ``30`` DpdTimeoutSeconds pulumi.IntPtrInput `pulumi:"dpdTimeoutSeconds"` // Turn on or off tunnel endpoint lifecycle control feature. EnableTunnelLifecycleControl pulumi.BoolPtrInput `pulumi:"enableTunnelLifecycleControl"` // The IKE versions that are permitted for the VPN tunnel. - // - // Valid values: `ikev1` | `ikev2` + // Valid values: ``ikev1`` | ``ikev2`` IkeVersions VpnConnectionIkeVersionsRequestListValueArrayInput `pulumi:"ikeVersions"` // Options for logging VPN tunnel activity. LogOptions VpnConnectionVpnTunnelLogOptionsSpecificationPtrInput `pulumi:"logOptions"` // One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - // - // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + // Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` Phase1EncryptionAlgorithms VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayInput `pulumi:"phase1EncryptionAlgorithms"` // One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - // - // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + // Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` Phase1IntegrityAlgorithms VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayInput `pulumi:"phase1IntegrityAlgorithms"` // The lifetime for phase 1 of the IKE negotiation, in seconds. - // - // Constraints: A value between 900 and 28,800. - // - // Default: `28800` + // Constraints: A value between 900 and 28,800. + // Default: ``28800`` Phase1LifetimeSeconds pulumi.IntPtrInput `pulumi:"phase1LifetimeSeconds"` // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - // - // Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + // Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` Phase1dhGroupNumbers VpnConnectionPhase1dhGroupNumbersRequestListValueArrayInput `pulumi:"phase1dhGroupNumbers"` // One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - // - // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + // Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` Phase2EncryptionAlgorithms VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayInput `pulumi:"phase2EncryptionAlgorithms"` // One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - // - // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + // Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` Phase2IntegrityAlgorithms VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayInput `pulumi:"phase2IntegrityAlgorithms"` // The lifetime for phase 2 of the IKE negotiation, in seconds. - // - // Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - // - // Default: `3600` + // Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + // Default: ``3600`` Phase2LifetimeSeconds pulumi.IntPtrInput `pulumi:"phase2LifetimeSeconds"` // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - // - // Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + // Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` Phase2dhGroupNumbers VpnConnectionPhase2dhGroupNumbersRequestListValueArrayInput `pulumi:"phase2dhGroupNumbers"` // The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. // Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). PreSharedKey pulumi.StringPtrInput `pulumi:"preSharedKey"` - // The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - // - // Constraints: A value between 0 and 100. - // - // Default: `100` + // The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + // Constraints: A value between 0 and 100. + // Default: ``100`` RekeyFuzzPercentage pulumi.IntPtrInput `pulumi:"rekeyFuzzPercentage"` - // The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - // - // Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - // - // Default: `270` + // The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + // Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + // Default: ``270`` RekeyMarginTimeSeconds pulumi.IntPtrInput `pulumi:"rekeyMarginTimeSeconds"` // The number of packets in an IKE replay window. - // - // Constraints: A value between 64 and 2048. - // - // Default: `1024` + // Constraints: A value between 64 and 2048. + // Default: ``1024`` ReplayWindowSize pulumi.IntPtrInput `pulumi:"replayWindowSize"` - // The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - // - // Valid Values: `add` | `start` - // - // Default: `add` + // The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + // Valid Values: ``add`` | ``start`` + // Default: ``add`` StartupAction VpnConnectionVpnTunnelOptionsSpecificationStartupActionPtrInput `pulumi:"startupAction"` // The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. // Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: @@ -31958,8 +31934,7 @@ type VpnConnectionVpnTunnelOptionsSpecificationArgs struct { // + ``169.254.169.252/30`` TunnelInsideCidr pulumi.StringPtrInput `pulumi:"tunnelInsideCidr"` // The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - // - // Constraints: A size /126 CIDR block from the local `fd00::/8` range. + // Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. TunnelInsideIpv6Cidr pulumi.StringPtrInput `pulumi:"tunnelInsideIpv6Cidr"` } @@ -32015,11 +31990,10 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) ToVpnConnectionVpnTunn return o } -// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. -// -// Valid Values: `clear` | `none` | `restart` +// The action to take after DPD timeout occurs. Specify “restart“ to restart the IKE initiation. Specify “clear“ to end the IKE session. // -// Default: `clear` +// Valid Values: ``clear`` | ``none`` | ``restart`` +// Default: ``clear`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) DpdTimeoutAction() VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction { return v.DpdTimeoutAction @@ -32028,9 +32002,8 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) DpdTimeoutAction() Vpn // The number of seconds after which a DPD timeout occurs. // -// Constraints: A value greater than or equal to 30. -// -// Default: `30` +// Constraints: A value greater than or equal to 30. +// Default: ``30`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) DpdTimeoutSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.DpdTimeoutSeconds }).(pulumi.IntPtrOutput) } @@ -32042,7 +32015,7 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) EnableTunnelLifecycleC // The IKE versions that are permitted for the VPN tunnel. // -// Valid values: `ikev1` | `ikev2` +// Valid values: ``ikev1`` | ``ikev2`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) IkeVersions() VpnConnectionIkeVersionsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionIkeVersionsRequestListValue { return v.IkeVersions @@ -32058,7 +32031,7 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) LogOptions() VpnConnec // One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. // -// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` +// Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1EncryptionAlgorithms() VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase1EncryptionAlgorithmsRequestListValue { return v.Phase1EncryptionAlgorithms @@ -32067,7 +32040,7 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1EncryptionAlgori // One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. // -// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` +// Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1IntegrityAlgorithms() VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase1IntegrityAlgorithmsRequestListValue { return v.Phase1IntegrityAlgorithms @@ -32076,16 +32049,15 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1IntegrityAlgorit // The lifetime for phase 1 of the IKE negotiation, in seconds. // -// Constraints: A value between 900 and 28,800. -// -// Default: `28800` +// Constraints: A value between 900 and 28,800. +// Default: ``28800`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1LifetimeSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.Phase1LifetimeSeconds }).(pulumi.IntPtrOutput) } // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. // -// Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` +// Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1dhGroupNumbers() VpnConnectionPhase1dhGroupNumbersRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase1dhGroupNumbersRequestListValue { return v.Phase1dhGroupNumbers @@ -32094,7 +32066,7 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1dhGroupNumbers() // One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. // -// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` +// Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2EncryptionAlgorithms() VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase2EncryptionAlgorithmsRequestListValue { return v.Phase2EncryptionAlgorithms @@ -32103,7 +32075,7 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2EncryptionAlgori // One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. // -// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` +// Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2IntegrityAlgorithms() VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase2IntegrityAlgorithmsRequestListValue { return v.Phase2IntegrityAlgorithms @@ -32112,16 +32084,15 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2IntegrityAlgorit // The lifetime for phase 2 of the IKE negotiation, in seconds. // -// Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . -// -// Default: `3600` +// Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. +// Default: ``3600`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2LifetimeSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.Phase2LifetimeSeconds }).(pulumi.IntPtrOutput) } // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. // -// Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` +// Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2dhGroupNumbers() VpnConnectionPhase2dhGroupNumbersRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase2dhGroupNumbersRequestListValue { return v.Phase2dhGroupNumbers @@ -32135,38 +32106,34 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) PreSharedKey() pulumi. return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) } -// The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. -// -// Constraints: A value between 0 and 100. +// The percentage of the rekey window (determined by “RekeyMarginTimeSeconds“) during which the rekey time is randomly selected. // -// Default: `100` +// Constraints: A value between 0 and 100. +// Default: ``100`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) RekeyFuzzPercentage() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.RekeyFuzzPercentage }).(pulumi.IntPtrOutput) } -// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . -// -// Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . +// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for “RekeyFuzzPercentage“. // -// Default: `270` +// Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. +// Default: ``270`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) RekeyMarginTimeSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.RekeyMarginTimeSeconds }).(pulumi.IntPtrOutput) } // The number of packets in an IKE replay window. // -// Constraints: A value between 64 and 2048. -// -// Default: `1024` +// Constraints: A value between 64 and 2048. +// Default: ``1024`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) ReplayWindowSize() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.ReplayWindowSize }).(pulumi.IntPtrOutput) } -// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. -// -// Valid Values: `add` | `start` +// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify “start“ for AWS to initiate the IKE negotiation. // -// Default: `add` +// Valid Values: ``add`` | ``start`` +// Default: ``add`` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) StartupAction() VpnConnectionVpnTunnelOptionsSpecificationStartupActionPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *VpnConnectionVpnTunnelOptionsSpecificationStartupAction { return v.StartupAction @@ -32189,7 +32156,7 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) TunnelInsideCidr() pul // The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. // -// Constraints: A size /126 CIDR block from the local `fd00::/8` range. +// Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) TunnelInsideIpv6Cidr() pulumi.StringPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *string { return v.TunnelInsideIpv6Cidr }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/eks/cluster.go b/sdk/go/aws/eks/cluster.go index 600e271ae4..5a9d1f2c87 100644 --- a/sdk/go/aws/eks/cluster.go +++ b/sdk/go/aws/eks/cluster.go @@ -56,7 +56,8 @@ type Cluster struct { // [Learn more about EKS Extended Support in the EKS User Guide.](https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html) UpgradePolicy ClusterUpgradePolicyPtrOutput `pulumi:"upgradePolicy"` // The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. - Version pulumi.StringPtrOutput `pulumi:"version"` + Version pulumi.StringPtrOutput `pulumi:"version"` + // The configuration for zonal shift for the cluster. ZonalShiftConfig ClusterZonalShiftConfigPtrOutput `pulumi:"zonalShiftConfig"` } @@ -141,7 +142,8 @@ type clusterArgs struct { // [Learn more about EKS Extended Support in the EKS User Guide.](https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html) UpgradePolicy *ClusterUpgradePolicy `pulumi:"upgradePolicy"` // The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. - Version *string `pulumi:"version"` + Version *string `pulumi:"version"` + // The configuration for zonal shift for the cluster. ZonalShiftConfig *ClusterZonalShiftConfig `pulumi:"zonalShiftConfig"` } @@ -172,7 +174,8 @@ type ClusterArgs struct { // [Learn more about EKS Extended Support in the EKS User Guide.](https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html) UpgradePolicy ClusterUpgradePolicyPtrInput // The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. - Version pulumi.StringPtrInput + Version pulumi.StringPtrInput + // The configuration for zonal shift for the cluster. ZonalShiftConfig ClusterZonalShiftConfigPtrInput } @@ -310,6 +313,7 @@ func (o ClusterOutput) Version() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.Version }).(pulumi.StringPtrOutput) } +// The configuration for zonal shift for the cluster. func (o ClusterOutput) ZonalShiftConfig() ClusterZonalShiftConfigPtrOutput { return o.ApplyT(func(v *Cluster) ClusterZonalShiftConfigPtrOutput { return v.ZonalShiftConfig }).(ClusterZonalShiftConfigPtrOutput) } diff --git a/sdk/go/aws/eks/getCluster.go b/sdk/go/aws/eks/getCluster.go index d04b1707fe..544389c32c 100644 --- a/sdk/go/aws/eks/getCluster.go +++ b/sdk/go/aws/eks/getCluster.go @@ -56,7 +56,8 @@ type LookupClusterResult struct { // [Learn more about EKS Extended Support in the EKS User Guide.](https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html) UpgradePolicy *ClusterUpgradePolicy `pulumi:"upgradePolicy"` // The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. - Version *string `pulumi:"version"` + Version *string `pulumi:"version"` + // The configuration for zonal shift for the cluster. ZonalShiftConfig *ClusterZonalShiftConfig `pulumi:"zonalShiftConfig"` } @@ -169,6 +170,7 @@ func (o LookupClusterResultOutput) Version() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupClusterResult) *string { return v.Version }).(pulumi.StringPtrOutput) } +// The configuration for zonal shift for the cluster. func (o LookupClusterResultOutput) ZonalShiftConfig() ClusterZonalShiftConfigPtrOutput { return o.ApplyT(func(v LookupClusterResult) *ClusterZonalShiftConfig { return v.ZonalShiftConfig }).(ClusterZonalShiftConfigPtrOutput) } diff --git a/sdk/go/aws/iot/domainConfiguration.go b/sdk/go/aws/iot/domainConfiguration.go index 9833e52be6..e41a3faa1f 100644 --- a/sdk/go/aws/iot/domainConfiguration.go +++ b/sdk/go/aws/iot/domainConfiguration.go @@ -17,20 +17,14 @@ type DomainConfiguration struct { pulumi.CustomResourceState // An enumerated string that specifies the application-layer protocol. - // - // > This property isn't available in China. ApplicationProtocol DomainConfigurationApplicationProtocolPtrOutput `pulumi:"applicationProtocol"` // The Amazon Resource Name (ARN) of the domain configuration. Arn pulumi.StringOutput `pulumi:"arn"` // An enumerated string that specifies the authentication type. - // - // > This property isn't available in China. AuthenticationType DomainConfigurationAuthenticationTypePtrOutput `pulumi:"authenticationType"` // An object that specifies the authorization service for a domain. AuthorizerConfig DomainConfigurationAuthorizerConfigPtrOutput `pulumi:"authorizerConfig"` // An object that specifies the client certificate configuration for a domain. - // - // > This property isn't available in China. ClientCertificateConfig DomainConfigurationClientCertificateConfigPtrOutput `pulumi:"clientCertificateConfig"` // The name of the domain configuration. This value must be unique to a region. DomainConfigurationName pulumi.StringPtrOutput `pulumi:"domainConfigurationName"` @@ -117,18 +111,12 @@ func (DomainConfigurationState) ElementType() reflect.Type { type domainConfigurationArgs struct { // An enumerated string that specifies the application-layer protocol. - // - // > This property isn't available in China. ApplicationProtocol *DomainConfigurationApplicationProtocol `pulumi:"applicationProtocol"` // An enumerated string that specifies the authentication type. - // - // > This property isn't available in China. AuthenticationType *DomainConfigurationAuthenticationType `pulumi:"authenticationType"` // An object that specifies the authorization service for a domain. AuthorizerConfig *DomainConfigurationAuthorizerConfig `pulumi:"authorizerConfig"` // An object that specifies the client certificate configuration for a domain. - // - // > This property isn't available in China. ClientCertificateConfig *DomainConfigurationClientCertificateConfig `pulumi:"clientCertificateConfig"` // The name of the domain configuration. This value must be unique to a region. DomainConfigurationName *string `pulumi:"domainConfigurationName"` @@ -165,18 +153,12 @@ type domainConfigurationArgs struct { // The set of arguments for constructing a DomainConfiguration resource. type DomainConfigurationArgs struct { // An enumerated string that specifies the application-layer protocol. - // - // > This property isn't available in China. ApplicationProtocol DomainConfigurationApplicationProtocolPtrInput // An enumerated string that specifies the authentication type. - // - // > This property isn't available in China. AuthenticationType DomainConfigurationAuthenticationTypePtrInput // An object that specifies the authorization service for a domain. AuthorizerConfig DomainConfigurationAuthorizerConfigPtrInput // An object that specifies the client certificate configuration for a domain. - // - // > This property isn't available in China. ClientCertificateConfig DomainConfigurationClientCertificateConfigPtrInput // The name of the domain configuration. This value must be unique to a region. DomainConfigurationName pulumi.StringPtrInput @@ -248,8 +230,6 @@ func (o DomainConfigurationOutput) ToDomainConfigurationOutputWithContext(ctx co } // An enumerated string that specifies the application-layer protocol. -// -// > This property isn't available in China. func (o DomainConfigurationOutput) ApplicationProtocol() DomainConfigurationApplicationProtocolPtrOutput { return o.ApplyT(func(v *DomainConfiguration) DomainConfigurationApplicationProtocolPtrOutput { return v.ApplicationProtocol @@ -262,8 +242,6 @@ func (o DomainConfigurationOutput) Arn() pulumi.StringOutput { } // An enumerated string that specifies the authentication type. -// -// > This property isn't available in China. func (o DomainConfigurationOutput) AuthenticationType() DomainConfigurationAuthenticationTypePtrOutput { return o.ApplyT(func(v *DomainConfiguration) DomainConfigurationAuthenticationTypePtrOutput { return v.AuthenticationType @@ -276,8 +254,6 @@ func (o DomainConfigurationOutput) AuthorizerConfig() DomainConfigurationAuthori } // An object that specifies the client certificate configuration for a domain. -// -// > This property isn't available in China. func (o DomainConfigurationOutput) ClientCertificateConfig() DomainConfigurationClientCertificateConfigPtrOutput { return o.ApplyT(func(v *DomainConfiguration) DomainConfigurationClientCertificateConfigPtrOutput { return v.ClientCertificateConfig diff --git a/sdk/go/aws/iot/getDomainConfiguration.go b/sdk/go/aws/iot/getDomainConfiguration.go index c96898fd7d..0fc95b7631 100644 --- a/sdk/go/aws/iot/getDomainConfiguration.go +++ b/sdk/go/aws/iot/getDomainConfiguration.go @@ -30,20 +30,14 @@ type LookupDomainConfigurationArgs struct { type LookupDomainConfigurationResult struct { // An enumerated string that specifies the application-layer protocol. - // - // > This property isn't available in China. ApplicationProtocol *DomainConfigurationApplicationProtocol `pulumi:"applicationProtocol"` // The Amazon Resource Name (ARN) of the domain configuration. Arn *string `pulumi:"arn"` // An enumerated string that specifies the authentication type. - // - // > This property isn't available in China. AuthenticationType *DomainConfigurationAuthenticationType `pulumi:"authenticationType"` // An object that specifies the authorization service for a domain. AuthorizerConfig *DomainConfigurationAuthorizerConfig `pulumi:"authorizerConfig"` // An object that specifies the client certificate configuration for a domain. - // - // > This property isn't available in China. ClientCertificateConfig *DomainConfigurationClientCertificateConfig `pulumi:"clientCertificateConfig"` // The status to which the domain configuration should be updated. // @@ -112,8 +106,6 @@ func (o LookupDomainConfigurationResultOutput) ToLookupDomainConfigurationResult } // An enumerated string that specifies the application-layer protocol. -// -// > This property isn't available in China. func (o LookupDomainConfigurationResultOutput) ApplicationProtocol() DomainConfigurationApplicationProtocolPtrOutput { return o.ApplyT(func(v LookupDomainConfigurationResult) *DomainConfigurationApplicationProtocol { return v.ApplicationProtocol @@ -126,8 +118,6 @@ func (o LookupDomainConfigurationResultOutput) Arn() pulumi.StringPtrOutput { } // An enumerated string that specifies the authentication type. -// -// > This property isn't available in China. func (o LookupDomainConfigurationResultOutput) AuthenticationType() DomainConfigurationAuthenticationTypePtrOutput { return o.ApplyT(func(v LookupDomainConfigurationResult) *DomainConfigurationAuthenticationType { return v.AuthenticationType @@ -142,8 +132,6 @@ func (o LookupDomainConfigurationResultOutput) AuthorizerConfig() DomainConfigur } // An object that specifies the client certificate configuration for a domain. -// -// > This property isn't available in China. func (o LookupDomainConfigurationResultOutput) ClientCertificateConfig() DomainConfigurationClientCertificateConfigPtrOutput { return o.ApplyT(func(v LookupDomainConfigurationResult) *DomainConfigurationClientCertificateConfig { return v.ClientCertificateConfig diff --git a/sdk/go/aws/iot/getSoftwarePackageVersion.go b/sdk/go/aws/iot/getSoftwarePackageVersion.go index 6765929b02..0e94472e4d 100644 --- a/sdk/go/aws/iot/getSoftwarePackageVersion.go +++ b/sdk/go/aws/iot/getSoftwarePackageVersion.go @@ -24,13 +24,19 @@ func LookupSoftwarePackageVersion(ctx *pulumi.Context, args *LookupSoftwarePacka } type LookupSoftwarePackageVersionArgs struct { + // The name of the associated software package. PackageName string `pulumi:"packageName"` + // The name of the new package version. VersionName string `pulumi:"versionName"` } type LookupSoftwarePackageVersionResult struct { - Attributes map[string]string `pulumi:"attributes"` - Description *string `pulumi:"description"` + // Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + // + // The combined size of all the attributes on a package version is limited to 3KB. + Attributes map[string]string `pulumi:"attributes"` + // A summary of the package version being created. This can be used to outline the package's contents or purpose. + Description *string `pulumi:"description"` // Error reason for a package version failure during creation or update. ErrorReason *string `pulumi:"errorReason"` // The Amazon Resource Name (ARN) for the package. @@ -61,7 +67,9 @@ func LookupSoftwarePackageVersionOutput(ctx *pulumi.Context, args LookupSoftware } type LookupSoftwarePackageVersionOutputArgs struct { + // The name of the associated software package. PackageName pulumi.StringInput `pulumi:"packageName"` + // The name of the new package version. VersionName pulumi.StringInput `pulumi:"versionName"` } @@ -83,10 +91,14 @@ func (o LookupSoftwarePackageVersionResultOutput) ToLookupSoftwarePackageVersion return o } +// Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. +// +// The combined size of all the attributes on a package version is limited to 3KB. func (o LookupSoftwarePackageVersionResultOutput) Attributes() pulumi.StringMapOutput { return o.ApplyT(func(v LookupSoftwarePackageVersionResult) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) } +// A summary of the package version being created. This can be used to outline the package's contents or purpose. func (o LookupSoftwarePackageVersionResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSoftwarePackageVersionResult) *string { return v.Description }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/iot/pulumiEnums.go b/sdk/go/aws/iot/pulumiEnums.go index a192ffd4ce..462036cc0a 100644 --- a/sdk/go/aws/iot/pulumiEnums.go +++ b/sdk/go/aws/iot/pulumiEnums.go @@ -1571,8 +1571,6 @@ func (in *dimensionTypePtr) ToDimensionTypePtrOutputWithContext(ctx context.Cont } // An enumerated string that specifies the application-layer protocol. -// -// > This property isn't available in China. type DomainConfigurationApplicationProtocol string const ( @@ -1743,8 +1741,6 @@ func (in *domainConfigurationApplicationProtocolPtr) ToDomainConfigurationApplic } // An enumerated string that specifies the authentication type. -// -// > This property isn't available in China. type DomainConfigurationAuthenticationType string const ( diff --git a/sdk/go/aws/iot/pulumiTypes.go b/sdk/go/aws/iot/pulumiTypes.go index 92515bc4d5..48c172422e 100644 --- a/sdk/go/aws/iot/pulumiTypes.go +++ b/sdk/go/aws/iot/pulumiTypes.go @@ -1536,8 +1536,6 @@ func (o DomainConfigurationAuthorizerConfigPtrOutput) DefaultAuthorizerName() pu type DomainConfigurationClientCertificateConfig struct { // The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - // - // > This property isn't available in China. ClientCertificateCallbackArn *string `pulumi:"clientCertificateCallbackArn"` } @@ -1554,8 +1552,6 @@ type DomainConfigurationClientCertificateConfigInput interface { type DomainConfigurationClientCertificateConfigArgs struct { // The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - // - // > This property isn't available in China. ClientCertificateCallbackArn pulumi.StringPtrInput `pulumi:"clientCertificateCallbackArn"` } @@ -1637,8 +1633,6 @@ func (o DomainConfigurationClientCertificateConfigOutput) ToDomainConfigurationC } // The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. -// -// > This property isn't available in China. func (o DomainConfigurationClientCertificateConfigOutput) ClientCertificateCallbackArn() pulumi.StringPtrOutput { return o.ApplyT(func(v DomainConfigurationClientCertificateConfig) *string { return v.ClientCertificateCallbackArn }).(pulumi.StringPtrOutput) } @@ -1668,8 +1662,6 @@ func (o DomainConfigurationClientCertificateConfigPtrOutput) Elem() DomainConfig } // The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. -// -// > This property isn't available in China. func (o DomainConfigurationClientCertificateConfigPtrOutput) ClientCertificateCallbackArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *DomainConfigurationClientCertificateConfig) *string { if v == nil { diff --git a/sdk/go/aws/iot/softwarePackageVersion.go b/sdk/go/aws/iot/softwarePackageVersion.go index 9256f67a09..44d5f8d9d5 100644 --- a/sdk/go/aws/iot/softwarePackageVersion.go +++ b/sdk/go/aws/iot/softwarePackageVersion.go @@ -17,17 +17,23 @@ import ( type SoftwarePackageVersion struct { pulumi.CustomResourceState - Attributes pulumi.StringMapOutput `pulumi:"attributes"` + // Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + // + // The combined size of all the attributes on a package version is limited to 3KB. + Attributes pulumi.StringMapOutput `pulumi:"attributes"` + // A summary of the package version being created. This can be used to outline the package's contents or purpose. Description pulumi.StringPtrOutput `pulumi:"description"` // Error reason for a package version failure during creation or update. ErrorReason pulumi.StringOutput `pulumi:"errorReason"` + // The name of the associated software package. PackageName pulumi.StringOutput `pulumi:"packageName"` // The Amazon Resource Name (ARN) for the package. PackageVersionArn pulumi.StringOutput `pulumi:"packageVersionArn"` // The status of the package version. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle) . Status SoftwarePackageVersionPackageVersionStatusOutput `pulumi:"status"` // An array of key-value pairs to apply to this resource. - Tags aws.TagArrayOutput `pulumi:"tags"` + Tags aws.TagArrayOutput `pulumi:"tags"` + // The name of the new package version. VersionName pulumi.StringPtrOutput `pulumi:"versionName"` } @@ -79,21 +85,33 @@ func (SoftwarePackageVersionState) ElementType() reflect.Type { } type softwarePackageVersionArgs struct { - Attributes map[string]string `pulumi:"attributes"` - Description *string `pulumi:"description"` - PackageName string `pulumi:"packageName"` + // Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + // + // The combined size of all the attributes on a package version is limited to 3KB. + Attributes map[string]string `pulumi:"attributes"` + // A summary of the package version being created. This can be used to outline the package's contents or purpose. + Description *string `pulumi:"description"` + // The name of the associated software package. + PackageName string `pulumi:"packageName"` // An array of key-value pairs to apply to this resource. - Tags []aws.Tag `pulumi:"tags"` - VersionName *string `pulumi:"versionName"` + Tags []aws.Tag `pulumi:"tags"` + // The name of the new package version. + VersionName *string `pulumi:"versionName"` } // The set of arguments for constructing a SoftwarePackageVersion resource. type SoftwarePackageVersionArgs struct { - Attributes pulumi.StringMapInput + // Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + // + // The combined size of all the attributes on a package version is limited to 3KB. + Attributes pulumi.StringMapInput + // A summary of the package version being created. This can be used to outline the package's contents or purpose. Description pulumi.StringPtrInput + // The name of the associated software package. PackageName pulumi.StringInput // An array of key-value pairs to apply to this resource. - Tags aws.TagArrayInput + Tags aws.TagArrayInput + // The name of the new package version. VersionName pulumi.StringPtrInput } @@ -134,10 +152,14 @@ func (o SoftwarePackageVersionOutput) ToSoftwarePackageVersionOutputWithContext( return o } +// Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. +// +// The combined size of all the attributes on a package version is limited to 3KB. func (o SoftwarePackageVersionOutput) Attributes() pulumi.StringMapOutput { return o.ApplyT(func(v *SoftwarePackageVersion) pulumi.StringMapOutput { return v.Attributes }).(pulumi.StringMapOutput) } +// A summary of the package version being created. This can be used to outline the package's contents or purpose. func (o SoftwarePackageVersionOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *SoftwarePackageVersion) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } @@ -147,6 +169,7 @@ func (o SoftwarePackageVersionOutput) ErrorReason() pulumi.StringOutput { return o.ApplyT(func(v *SoftwarePackageVersion) pulumi.StringOutput { return v.ErrorReason }).(pulumi.StringOutput) } +// The name of the associated software package. func (o SoftwarePackageVersionOutput) PackageName() pulumi.StringOutput { return o.ApplyT(func(v *SoftwarePackageVersion) pulumi.StringOutput { return v.PackageName }).(pulumi.StringOutput) } @@ -166,6 +189,7 @@ func (o SoftwarePackageVersionOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *SoftwarePackageVersion) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) } +// The name of the new package version. func (o SoftwarePackageVersionOutput) VersionName() pulumi.StringPtrOutput { return o.ApplyT(func(v *SoftwarePackageVersion) pulumi.StringPtrOutput { return v.VersionName }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/qbusiness/dataSource.go b/sdk/go/aws/qbusiness/dataSource.go index 55e11ef9e2..85bf570071 100644 --- a/sdk/go/aws/qbusiness/dataSource.go +++ b/sdk/go/aws/qbusiness/dataSource.go @@ -19,17 +19,17 @@ type DataSource struct { // The identifier of the Amazon Q Business application the data source will be attached to. ApplicationId pulumi.StringOutput `pulumi:"applicationId"` - // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . // - // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: // - // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + // - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + // - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) // - // You can find configuration templates for your specific data source using the following steps: + // Similarly, you can find configuration templates and properties for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + // - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration pulumi.AnyOutput `pulumi:"configuration"` @@ -126,17 +126,17 @@ func (DataSourceState) ElementType() reflect.Type { type dataSourceArgs struct { // The identifier of the Amazon Q Business application the data source will be attached to. ApplicationId string `pulumi:"applicationId"` - // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . // - // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: // - // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + // - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + // - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) // - // You can find configuration templates for your specific data source using the following steps: + // Similarly, you can find configuration templates and properties for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + // - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration interface{} `pulumi:"configuration"` @@ -166,17 +166,17 @@ type dataSourceArgs struct { type DataSourceArgs struct { // The identifier of the Amazon Q Business application the data source will be attached to. ApplicationId pulumi.StringInput - // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . // - // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: // - // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + // - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + // - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) // - // You can find configuration templates for your specific data source using the following steps: + // Similarly, you can find configuration templates and properties for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + // - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration pulumi.Input @@ -244,17 +244,17 @@ func (o DataSourceOutput) ApplicationId() pulumi.StringOutput { return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) } -// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. +// Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . // -// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: +// The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: // -// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) -// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) +// - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) +// - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) // -// You can find configuration templates for your specific data source using the following steps: +// Similarly, you can find configuration templates and properties for your specific data source using the following steps: // -// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. -// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. +// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. +// - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. func (o DataSourceOutput) Configuration() pulumi.AnyOutput { diff --git a/sdk/go/aws/qbusiness/getDataSource.go b/sdk/go/aws/qbusiness/getDataSource.go index b52bb58122..3329cbc4ee 100644 --- a/sdk/go/aws/qbusiness/getDataSource.go +++ b/sdk/go/aws/qbusiness/getDataSource.go @@ -33,17 +33,17 @@ type LookupDataSourceArgs struct { } type LookupDataSourceResult struct { - // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . // - // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: // - // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + // - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + // - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) // - // You can find configuration templates for your specific data source using the following steps: + // Similarly, you can find configuration templates and properties for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + // - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration interface{} `pulumi:"configuration"` @@ -125,17 +125,17 @@ func (o LookupDataSourceResultOutput) ToLookupDataSourceResultOutputWithContext( return o } -// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. +// Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . // -// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: +// The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: // -// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) -// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) +// - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) +// - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) // -// You can find configuration templates for your specific data source using the following steps: +// Similarly, you can find configuration templates and properties for your specific data source using the following steps: // -// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. -// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. +// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. +// - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. func (o LookupDataSourceResultOutput) Configuration() pulumi.AnyOutput { diff --git a/sdk/go/aws/redshift/integration.go b/sdk/go/aws/redshift/integration.go index 64e738fc9d..7f231116cd 100644 --- a/sdk/go/aws/redshift/integration.go +++ b/sdk/go/aws/redshift/integration.go @@ -17,6 +17,7 @@ import ( type Integration struct { pulumi.CustomResourceState + // The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . AdditionalEncryptionContext pulumi.StringMapOutput `pulumi:"additionalEncryptionContext"` // The time (UTC) when the integration was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` @@ -87,6 +88,7 @@ func (IntegrationState) ElementType() reflect.Type { } type integrationArgs struct { + // The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . AdditionalEncryptionContext map[string]string `pulumi:"additionalEncryptionContext"` // The name of the integration. IntegrationName *string `pulumi:"integrationName"` @@ -102,6 +104,7 @@ type integrationArgs struct { // The set of arguments for constructing a Integration resource. type IntegrationArgs struct { + // The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . AdditionalEncryptionContext pulumi.StringMapInput // The name of the integration. IntegrationName pulumi.StringPtrInput @@ -152,6 +155,7 @@ func (o IntegrationOutput) ToIntegrationOutputWithContext(ctx context.Context) I return o } +// The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . func (o IntegrationOutput) AdditionalEncryptionContext() pulumi.StringMapOutput { return o.ApplyT(func(v *Integration) pulumi.StringMapOutput { return v.AdditionalEncryptionContext }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/refactorspaces/environment.go b/sdk/go/aws/refactorspaces/environment.go index 96aee757f7..99f2bfae7e 100644 --- a/sdk/go/aws/refactorspaces/environment.go +++ b/sdk/go/aws/refactorspaces/environment.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/pulumi/pulumi-aws-native/sdk/go/aws" "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" @@ -24,9 +23,9 @@ type Environment struct { // The unique identifier of the environment. EnvironmentIdentifier pulumi.StringOutput `pulumi:"environmentIdentifier"` // The name of the environment. - Name pulumi.StringOutput `pulumi:"name"` + Name pulumi.StringPtrOutput `pulumi:"name"` // The network fabric type of the environment. - NetworkFabricType EnvironmentNetworkFabricTypeOutput `pulumi:"networkFabricType"` + NetworkFabricType EnvironmentNetworkFabricTypePtrOutput `pulumi:"networkFabricType"` // Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. Tags aws.TagArrayOutput `pulumi:"tags"` // The ID of the AWS Transit Gateway set up by the environment. @@ -37,12 +36,9 @@ type Environment struct { func NewEnvironment(ctx *pulumi.Context, name string, args *EnvironmentArgs, opts ...pulumi.ResourceOption) (*Environment, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &EnvironmentArgs{} } - if args.NetworkFabricType == nil { - return nil, errors.New("invalid value for required argument 'NetworkFabricType'") - } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "description", "name", @@ -87,7 +83,7 @@ type environmentArgs struct { // The name of the environment. Name *string `pulumi:"name"` // The network fabric type of the environment. - NetworkFabricType EnvironmentNetworkFabricType `pulumi:"networkFabricType"` + NetworkFabricType *EnvironmentNetworkFabricType `pulumi:"networkFabricType"` // Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. Tags []aws.Tag `pulumi:"tags"` } @@ -99,7 +95,7 @@ type EnvironmentArgs struct { // The name of the environment. Name pulumi.StringPtrInput // The network fabric type of the environment. - NetworkFabricType EnvironmentNetworkFabricTypeInput + NetworkFabricType EnvironmentNetworkFabricTypePtrInput // Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. Tags aws.TagArrayInput } @@ -157,13 +153,13 @@ func (o EnvironmentOutput) EnvironmentIdentifier() pulumi.StringOutput { } // The name of the environment. -func (o EnvironmentOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +func (o EnvironmentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) } // The network fabric type of the environment. -func (o EnvironmentOutput) NetworkFabricType() EnvironmentNetworkFabricTypeOutput { - return o.ApplyT(func(v *Environment) EnvironmentNetworkFabricTypeOutput { return v.NetworkFabricType }).(EnvironmentNetworkFabricTypeOutput) +func (o EnvironmentOutput) NetworkFabricType() EnvironmentNetworkFabricTypePtrOutput { + return o.ApplyT(func(v *Environment) EnvironmentNetworkFabricTypePtrOutput { return v.NetworkFabricType }).(EnvironmentNetworkFabricTypePtrOutput) } // Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. diff --git a/sdk/go/aws/route53/getRecordSet.go b/sdk/go/aws/route53/getRecordSet.go new file mode 100644 index 0000000000..0560a8f240 --- /dev/null +++ b/sdk/go/aws/route53/getRecordSet.go @@ -0,0 +1,180 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package route53 + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::Route53::RecordSet. +func LookupRecordSet(ctx *pulumi.Context, args *LookupRecordSetArgs, opts ...pulumi.InvokeOption) (*LookupRecordSetResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupRecordSetResult + err := ctx.Invoke("aws-native:route53:getRecordSet", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupRecordSetArgs struct { + // The ID of the hosted zone that you want to create records in. + HostedZoneId string `pulumi:"hostedZoneId"` + // The name of the record that you want to create, update, or delete. + Name string `pulumi:"name"` + // An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + SetIdentifier string `pulumi:"setIdentifier"` + // The DNS record type. + Type string `pulumi:"type"` +} + +type LookupRecordSetResult struct { + // Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + AliasTarget *RecordSetAliasTarget `pulumi:"aliasTarget"` + // The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + CidrRoutingConfig *RecordSetCidrRoutingConfig `pulumi:"cidrRoutingConfig"` + // To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + Failover *RecordSetFailover `pulumi:"failover"` + // A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + GeoLocation *RecordSetGeoLocation `pulumi:"geoLocation"` + // If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + HealthCheckId *string `pulumi:"healthCheckId"` + // To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + MultiValueAnswer *bool `pulumi:"multiValueAnswer"` + // The name of the record that you want to create, update, or delete. + Name *string `pulumi:"name"` + // The Amazon EC2 Region where you created the resource that this resource record set refers to. + Region *string `pulumi:"region"` + // One or more values that correspond with the value that you specified for the Type property. + ResourceRecords []string `pulumi:"resourceRecords"` + // An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + SetIdentifier *string `pulumi:"setIdentifier"` + // The resource record cache time to live (TTL), in seconds. + Ttl *string `pulumi:"ttl"` + // The DNS record type. + Type *string `pulumi:"type"` + // Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + Weight *int `pulumi:"weight"` +} + +func LookupRecordSetOutput(ctx *pulumi.Context, args LookupRecordSetOutputArgs, opts ...pulumi.InvokeOption) LookupRecordSetResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupRecordSetResultOutput, error) { + args := v.(LookupRecordSetArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupRecordSetResult + secret, err := ctx.InvokePackageRaw("aws-native:route53:getRecordSet", args, &rv, "", opts...) + if err != nil { + return LookupRecordSetResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupRecordSetResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupRecordSetResultOutput), nil + } + return output, nil + }).(LookupRecordSetResultOutput) +} + +type LookupRecordSetOutputArgs struct { + // The ID of the hosted zone that you want to create records in. + HostedZoneId pulumi.StringInput `pulumi:"hostedZoneId"` + // The name of the record that you want to create, update, or delete. + Name pulumi.StringInput `pulumi:"name"` + // An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + SetIdentifier pulumi.StringInput `pulumi:"setIdentifier"` + // The DNS record type. + Type pulumi.StringInput `pulumi:"type"` +} + +func (LookupRecordSetOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRecordSetArgs)(nil)).Elem() +} + +type LookupRecordSetResultOutput struct{ *pulumi.OutputState } + +func (LookupRecordSetResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRecordSetResult)(nil)).Elem() +} + +func (o LookupRecordSetResultOutput) ToLookupRecordSetResultOutput() LookupRecordSetResultOutput { + return o +} + +func (o LookupRecordSetResultOutput) ToLookupRecordSetResultOutputWithContext(ctx context.Context) LookupRecordSetResultOutput { + return o +} + +// Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. +func (o LookupRecordSetResultOutput) AliasTarget() RecordSetAliasTargetPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *RecordSetAliasTarget { return v.AliasTarget }).(RecordSetAliasTargetPtrOutput) +} + +// The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. +func (o LookupRecordSetResultOutput) CidrRoutingConfig() RecordSetCidrRoutingConfigPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *RecordSetCidrRoutingConfig { return v.CidrRoutingConfig }).(RecordSetCidrRoutingConfigPtrOutput) +} + +// To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. +func (o LookupRecordSetResultOutput) Failover() RecordSetFailoverPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *RecordSetFailover { return v.Failover }).(RecordSetFailoverPtrOutput) +} + +// A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. +func (o LookupRecordSetResultOutput) GeoLocation() RecordSetGeoLocationPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *RecordSetGeoLocation { return v.GeoLocation }).(RecordSetGeoLocationPtrOutput) +} + +// If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. +func (o LookupRecordSetResultOutput) HealthCheckId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *string { return v.HealthCheckId }).(pulumi.StringPtrOutput) +} + +// To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. +func (o LookupRecordSetResultOutput) MultiValueAnswer() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *bool { return v.MultiValueAnswer }).(pulumi.BoolPtrOutput) +} + +// The name of the record that you want to create, update, or delete. +func (o LookupRecordSetResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The Amazon EC2 Region where you created the resource that this resource record set refers to. +func (o LookupRecordSetResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// One or more values that correspond with the value that you specified for the Type property. +func (o LookupRecordSetResultOutput) ResourceRecords() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupRecordSetResult) []string { return v.ResourceRecords }).(pulumi.StringArrayOutput) +} + +// An identifier that differentiates among multiple resource record sets that have the same combination of name and type. +func (o LookupRecordSetResultOutput) SetIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *string { return v.SetIdentifier }).(pulumi.StringPtrOutput) +} + +// The resource record cache time to live (TTL), in seconds. +func (o LookupRecordSetResultOutput) Ttl() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *string { return v.Ttl }).(pulumi.StringPtrOutput) +} + +// The DNS record type. +func (o LookupRecordSetResultOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +// Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. +func (o LookupRecordSetResultOutput) Weight() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupRecordSetResult) *int { return v.Weight }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupRecordSetResultOutput{}) +} diff --git a/sdk/go/aws/route53/init.go b/sdk/go/aws/route53/init.go index d96a0d5b23..094f557ac8 100644 --- a/sdk/go/aws/route53/init.go +++ b/sdk/go/aws/route53/init.go @@ -31,6 +31,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &HostedZone{} case "aws-native:route53:KeySigningKey": r = &KeySigningKey{} + case "aws-native:route53:RecordSet": + r = &RecordSet{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } diff --git a/sdk/go/aws/route53/pulumiEnums.go b/sdk/go/aws/route53/pulumiEnums.go index afcfcbb14c..9388dba603 100644 --- a/sdk/go/aws/route53/pulumiEnums.go +++ b/sdk/go/aws/route53/pulumiEnums.go @@ -547,6 +547,171 @@ func (in *keySigningKeyStatusPtr) ToKeySigningKeyStatusPtrOutputWithContext(ctx return pulumi.ToOutputWithContext(ctx, in).(KeySigningKeyStatusPtrOutput) } +type RecordSetFailover string + +const ( + RecordSetFailoverPrimary = RecordSetFailover("PRIMARY") + RecordSetFailoverSecondary = RecordSetFailover("SECONDARY") +) + +func (RecordSetFailover) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetFailover)(nil)).Elem() +} + +func (e RecordSetFailover) ToRecordSetFailoverOutput() RecordSetFailoverOutput { + return pulumi.ToOutput(e).(RecordSetFailoverOutput) +} + +func (e RecordSetFailover) ToRecordSetFailoverOutputWithContext(ctx context.Context) RecordSetFailoverOutput { + return pulumi.ToOutputWithContext(ctx, e).(RecordSetFailoverOutput) +} + +func (e RecordSetFailover) ToRecordSetFailoverPtrOutput() RecordSetFailoverPtrOutput { + return e.ToRecordSetFailoverPtrOutputWithContext(context.Background()) +} + +func (e RecordSetFailover) ToRecordSetFailoverPtrOutputWithContext(ctx context.Context) RecordSetFailoverPtrOutput { + return RecordSetFailover(e).ToRecordSetFailoverOutputWithContext(ctx).ToRecordSetFailoverPtrOutputWithContext(ctx) +} + +func (e RecordSetFailover) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e RecordSetFailover) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e RecordSetFailover) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e RecordSetFailover) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type RecordSetFailoverOutput struct{ *pulumi.OutputState } + +func (RecordSetFailoverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetFailover)(nil)).Elem() +} + +func (o RecordSetFailoverOutput) ToRecordSetFailoverOutput() RecordSetFailoverOutput { + return o +} + +func (o RecordSetFailoverOutput) ToRecordSetFailoverOutputWithContext(ctx context.Context) RecordSetFailoverOutput { + return o +} + +func (o RecordSetFailoverOutput) ToRecordSetFailoverPtrOutput() RecordSetFailoverPtrOutput { + return o.ToRecordSetFailoverPtrOutputWithContext(context.Background()) +} + +func (o RecordSetFailoverOutput) ToRecordSetFailoverPtrOutputWithContext(ctx context.Context) RecordSetFailoverPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RecordSetFailover) *RecordSetFailover { + return &v + }).(RecordSetFailoverPtrOutput) +} + +func (o RecordSetFailoverOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o RecordSetFailoverOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e RecordSetFailover) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o RecordSetFailoverOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o RecordSetFailoverOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e RecordSetFailover) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type RecordSetFailoverPtrOutput struct{ *pulumi.OutputState } + +func (RecordSetFailoverPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSetFailover)(nil)).Elem() +} + +func (o RecordSetFailoverPtrOutput) ToRecordSetFailoverPtrOutput() RecordSetFailoverPtrOutput { + return o +} + +func (o RecordSetFailoverPtrOutput) ToRecordSetFailoverPtrOutputWithContext(ctx context.Context) RecordSetFailoverPtrOutput { + return o +} + +func (o RecordSetFailoverPtrOutput) Elem() RecordSetFailoverOutput { + return o.ApplyT(func(v *RecordSetFailover) RecordSetFailover { + if v != nil { + return *v + } + var ret RecordSetFailover + return ret + }).(RecordSetFailoverOutput) +} + +func (o RecordSetFailoverPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o RecordSetFailoverPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *RecordSetFailover) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// RecordSetFailoverInput is an input type that accepts values of the RecordSetFailover enum +// A concrete instance of `RecordSetFailoverInput` can be one of the following: +// +// RecordSetFailoverPrimary +// RecordSetFailoverSecondary +type RecordSetFailoverInput interface { + pulumi.Input + + ToRecordSetFailoverOutput() RecordSetFailoverOutput + ToRecordSetFailoverOutputWithContext(context.Context) RecordSetFailoverOutput +} + +var recordSetFailoverPtrType = reflect.TypeOf((**RecordSetFailover)(nil)).Elem() + +type RecordSetFailoverPtrInput interface { + pulumi.Input + + ToRecordSetFailoverPtrOutput() RecordSetFailoverPtrOutput + ToRecordSetFailoverPtrOutputWithContext(context.Context) RecordSetFailoverPtrOutput +} + +type recordSetFailoverPtr string + +func RecordSetFailoverPtr(v string) RecordSetFailoverPtrInput { + return (*recordSetFailoverPtr)(&v) +} + +func (*recordSetFailoverPtr) ElementType() reflect.Type { + return recordSetFailoverPtrType +} + +func (in *recordSetFailoverPtr) ToRecordSetFailoverPtrOutput() RecordSetFailoverPtrOutput { + return pulumi.ToOutput(in).(RecordSetFailoverPtrOutput) +} + +func (in *recordSetFailoverPtr) ToRecordSetFailoverPtrOutputWithContext(ctx context.Context) RecordSetFailoverPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(RecordSetFailoverPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckConfigPropertiesInsufficientDataHealthStatusInput)(nil)).Elem(), HealthCheckConfigPropertiesInsufficientDataHealthStatus("Healthy")) pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckConfigPropertiesInsufficientDataHealthStatusPtrInput)(nil)).Elem(), HealthCheckConfigPropertiesInsufficientDataHealthStatus("Healthy")) @@ -554,10 +719,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckConfigPropertiesTypePtrInput)(nil)).Elem(), HealthCheckConfigPropertiesType("CALCULATED")) pulumi.RegisterInputType(reflect.TypeOf((*KeySigningKeyStatusInput)(nil)).Elem(), KeySigningKeyStatus("ACTIVE")) pulumi.RegisterInputType(reflect.TypeOf((*KeySigningKeyStatusPtrInput)(nil)).Elem(), KeySigningKeyStatus("ACTIVE")) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetFailoverInput)(nil)).Elem(), RecordSetFailover("PRIMARY")) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetFailoverPtrInput)(nil)).Elem(), RecordSetFailover("PRIMARY")) pulumi.RegisterOutputType(HealthCheckConfigPropertiesInsufficientDataHealthStatusOutput{}) pulumi.RegisterOutputType(HealthCheckConfigPropertiesInsufficientDataHealthStatusPtrOutput{}) pulumi.RegisterOutputType(HealthCheckConfigPropertiesTypeOutput{}) pulumi.RegisterOutputType(HealthCheckConfigPropertiesTypePtrOutput{}) pulumi.RegisterOutputType(KeySigningKeyStatusOutput{}) pulumi.RegisterOutputType(KeySigningKeyStatusPtrOutput{}) + pulumi.RegisterOutputType(RecordSetFailoverOutput{}) + pulumi.RegisterOutputType(RecordSetFailoverPtrOutput{}) } diff --git a/sdk/go/aws/route53/pulumiTypes.go b/sdk/go/aws/route53/pulumiTypes.go index cc62265dbf..e13a0e8191 100644 --- a/sdk/go/aws/route53/pulumiTypes.go +++ b/sdk/go/aws/route53/pulumiTypes.go @@ -1571,6 +1571,512 @@ func (o HostedZoneVpcArrayOutput) Index(i pulumi.IntInput) HostedZoneVpcOutput { }).(HostedZoneVpcOutput) } +type RecordSetAliasTarget struct { + // The value that you specify depends on where you want to route queries. + DnsName string `pulumi:"dnsName"` + // When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + EvaluateTargetHealth *bool `pulumi:"evaluateTargetHealth"` + // The value used depends on where you want to route traffic. + HostedZoneId string `pulumi:"hostedZoneId"` +} + +// RecordSetAliasTargetInput is an input type that accepts RecordSetAliasTargetArgs and RecordSetAliasTargetOutput values. +// You can construct a concrete instance of `RecordSetAliasTargetInput` via: +// +// RecordSetAliasTargetArgs{...} +type RecordSetAliasTargetInput interface { + pulumi.Input + + ToRecordSetAliasTargetOutput() RecordSetAliasTargetOutput + ToRecordSetAliasTargetOutputWithContext(context.Context) RecordSetAliasTargetOutput +} + +type RecordSetAliasTargetArgs struct { + // The value that you specify depends on where you want to route queries. + DnsName pulumi.StringInput `pulumi:"dnsName"` + // When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + EvaluateTargetHealth pulumi.BoolPtrInput `pulumi:"evaluateTargetHealth"` + // The value used depends on where you want to route traffic. + HostedZoneId pulumi.StringInput `pulumi:"hostedZoneId"` +} + +func (RecordSetAliasTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetAliasTarget)(nil)).Elem() +} + +func (i RecordSetAliasTargetArgs) ToRecordSetAliasTargetOutput() RecordSetAliasTargetOutput { + return i.ToRecordSetAliasTargetOutputWithContext(context.Background()) +} + +func (i RecordSetAliasTargetArgs) ToRecordSetAliasTargetOutputWithContext(ctx context.Context) RecordSetAliasTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetAliasTargetOutput) +} + +func (i RecordSetAliasTargetArgs) ToRecordSetAliasTargetPtrOutput() RecordSetAliasTargetPtrOutput { + return i.ToRecordSetAliasTargetPtrOutputWithContext(context.Background()) +} + +func (i RecordSetAliasTargetArgs) ToRecordSetAliasTargetPtrOutputWithContext(ctx context.Context) RecordSetAliasTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetAliasTargetOutput).ToRecordSetAliasTargetPtrOutputWithContext(ctx) +} + +// RecordSetAliasTargetPtrInput is an input type that accepts RecordSetAliasTargetArgs, RecordSetAliasTargetPtr and RecordSetAliasTargetPtrOutput values. +// You can construct a concrete instance of `RecordSetAliasTargetPtrInput` via: +// +// RecordSetAliasTargetArgs{...} +// +// or: +// +// nil +type RecordSetAliasTargetPtrInput interface { + pulumi.Input + + ToRecordSetAliasTargetPtrOutput() RecordSetAliasTargetPtrOutput + ToRecordSetAliasTargetPtrOutputWithContext(context.Context) RecordSetAliasTargetPtrOutput +} + +type recordSetAliasTargetPtrType RecordSetAliasTargetArgs + +func RecordSetAliasTargetPtr(v *RecordSetAliasTargetArgs) RecordSetAliasTargetPtrInput { + return (*recordSetAliasTargetPtrType)(v) +} + +func (*recordSetAliasTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSetAliasTarget)(nil)).Elem() +} + +func (i *recordSetAliasTargetPtrType) ToRecordSetAliasTargetPtrOutput() RecordSetAliasTargetPtrOutput { + return i.ToRecordSetAliasTargetPtrOutputWithContext(context.Background()) +} + +func (i *recordSetAliasTargetPtrType) ToRecordSetAliasTargetPtrOutputWithContext(ctx context.Context) RecordSetAliasTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetAliasTargetPtrOutput) +} + +type RecordSetAliasTargetOutput struct{ *pulumi.OutputState } + +func (RecordSetAliasTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetAliasTarget)(nil)).Elem() +} + +func (o RecordSetAliasTargetOutput) ToRecordSetAliasTargetOutput() RecordSetAliasTargetOutput { + return o +} + +func (o RecordSetAliasTargetOutput) ToRecordSetAliasTargetOutputWithContext(ctx context.Context) RecordSetAliasTargetOutput { + return o +} + +func (o RecordSetAliasTargetOutput) ToRecordSetAliasTargetPtrOutput() RecordSetAliasTargetPtrOutput { + return o.ToRecordSetAliasTargetPtrOutputWithContext(context.Background()) +} + +func (o RecordSetAliasTargetOutput) ToRecordSetAliasTargetPtrOutputWithContext(ctx context.Context) RecordSetAliasTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RecordSetAliasTarget) *RecordSetAliasTarget { + return &v + }).(RecordSetAliasTargetPtrOutput) +} + +// The value that you specify depends on where you want to route queries. +func (o RecordSetAliasTargetOutput) DnsName() pulumi.StringOutput { + return o.ApplyT(func(v RecordSetAliasTarget) string { return v.DnsName }).(pulumi.StringOutput) +} + +// When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. +func (o RecordSetAliasTargetOutput) EvaluateTargetHealth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RecordSetAliasTarget) *bool { return v.EvaluateTargetHealth }).(pulumi.BoolPtrOutput) +} + +// The value used depends on where you want to route traffic. +func (o RecordSetAliasTargetOutput) HostedZoneId() pulumi.StringOutput { + return o.ApplyT(func(v RecordSetAliasTarget) string { return v.HostedZoneId }).(pulumi.StringOutput) +} + +type RecordSetAliasTargetPtrOutput struct{ *pulumi.OutputState } + +func (RecordSetAliasTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSetAliasTarget)(nil)).Elem() +} + +func (o RecordSetAliasTargetPtrOutput) ToRecordSetAliasTargetPtrOutput() RecordSetAliasTargetPtrOutput { + return o +} + +func (o RecordSetAliasTargetPtrOutput) ToRecordSetAliasTargetPtrOutputWithContext(ctx context.Context) RecordSetAliasTargetPtrOutput { + return o +} + +func (o RecordSetAliasTargetPtrOutput) Elem() RecordSetAliasTargetOutput { + return o.ApplyT(func(v *RecordSetAliasTarget) RecordSetAliasTarget { + if v != nil { + return *v + } + var ret RecordSetAliasTarget + return ret + }).(RecordSetAliasTargetOutput) +} + +// The value that you specify depends on where you want to route queries. +func (o RecordSetAliasTargetPtrOutput) DnsName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSetAliasTarget) *string { + if v == nil { + return nil + } + return &v.DnsName + }).(pulumi.StringPtrOutput) +} + +// When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. +func (o RecordSetAliasTargetPtrOutput) EvaluateTargetHealth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RecordSetAliasTarget) *bool { + if v == nil { + return nil + } + return v.EvaluateTargetHealth + }).(pulumi.BoolPtrOutput) +} + +// The value used depends on where you want to route traffic. +func (o RecordSetAliasTargetPtrOutput) HostedZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSetAliasTarget) *string { + if v == nil { + return nil + } + return &v.HostedZoneId + }).(pulumi.StringPtrOutput) +} + +type RecordSetCidrRoutingConfig struct { + // The CIDR collection ID. + CollectionId string `pulumi:"collectionId"` + // The CIDR collection location name. + LocationName string `pulumi:"locationName"` +} + +// RecordSetCidrRoutingConfigInput is an input type that accepts RecordSetCidrRoutingConfigArgs and RecordSetCidrRoutingConfigOutput values. +// You can construct a concrete instance of `RecordSetCidrRoutingConfigInput` via: +// +// RecordSetCidrRoutingConfigArgs{...} +type RecordSetCidrRoutingConfigInput interface { + pulumi.Input + + ToRecordSetCidrRoutingConfigOutput() RecordSetCidrRoutingConfigOutput + ToRecordSetCidrRoutingConfigOutputWithContext(context.Context) RecordSetCidrRoutingConfigOutput +} + +type RecordSetCidrRoutingConfigArgs struct { + // The CIDR collection ID. + CollectionId pulumi.StringInput `pulumi:"collectionId"` + // The CIDR collection location name. + LocationName pulumi.StringInput `pulumi:"locationName"` +} + +func (RecordSetCidrRoutingConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetCidrRoutingConfig)(nil)).Elem() +} + +func (i RecordSetCidrRoutingConfigArgs) ToRecordSetCidrRoutingConfigOutput() RecordSetCidrRoutingConfigOutput { + return i.ToRecordSetCidrRoutingConfigOutputWithContext(context.Background()) +} + +func (i RecordSetCidrRoutingConfigArgs) ToRecordSetCidrRoutingConfigOutputWithContext(ctx context.Context) RecordSetCidrRoutingConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetCidrRoutingConfigOutput) +} + +func (i RecordSetCidrRoutingConfigArgs) ToRecordSetCidrRoutingConfigPtrOutput() RecordSetCidrRoutingConfigPtrOutput { + return i.ToRecordSetCidrRoutingConfigPtrOutputWithContext(context.Background()) +} + +func (i RecordSetCidrRoutingConfigArgs) ToRecordSetCidrRoutingConfigPtrOutputWithContext(ctx context.Context) RecordSetCidrRoutingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetCidrRoutingConfigOutput).ToRecordSetCidrRoutingConfigPtrOutputWithContext(ctx) +} + +// RecordSetCidrRoutingConfigPtrInput is an input type that accepts RecordSetCidrRoutingConfigArgs, RecordSetCidrRoutingConfigPtr and RecordSetCidrRoutingConfigPtrOutput values. +// You can construct a concrete instance of `RecordSetCidrRoutingConfigPtrInput` via: +// +// RecordSetCidrRoutingConfigArgs{...} +// +// or: +// +// nil +type RecordSetCidrRoutingConfigPtrInput interface { + pulumi.Input + + ToRecordSetCidrRoutingConfigPtrOutput() RecordSetCidrRoutingConfigPtrOutput + ToRecordSetCidrRoutingConfigPtrOutputWithContext(context.Context) RecordSetCidrRoutingConfigPtrOutput +} + +type recordSetCidrRoutingConfigPtrType RecordSetCidrRoutingConfigArgs + +func RecordSetCidrRoutingConfigPtr(v *RecordSetCidrRoutingConfigArgs) RecordSetCidrRoutingConfigPtrInput { + return (*recordSetCidrRoutingConfigPtrType)(v) +} + +func (*recordSetCidrRoutingConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSetCidrRoutingConfig)(nil)).Elem() +} + +func (i *recordSetCidrRoutingConfigPtrType) ToRecordSetCidrRoutingConfigPtrOutput() RecordSetCidrRoutingConfigPtrOutput { + return i.ToRecordSetCidrRoutingConfigPtrOutputWithContext(context.Background()) +} + +func (i *recordSetCidrRoutingConfigPtrType) ToRecordSetCidrRoutingConfigPtrOutputWithContext(ctx context.Context) RecordSetCidrRoutingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetCidrRoutingConfigPtrOutput) +} + +type RecordSetCidrRoutingConfigOutput struct{ *pulumi.OutputState } + +func (RecordSetCidrRoutingConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetCidrRoutingConfig)(nil)).Elem() +} + +func (o RecordSetCidrRoutingConfigOutput) ToRecordSetCidrRoutingConfigOutput() RecordSetCidrRoutingConfigOutput { + return o +} + +func (o RecordSetCidrRoutingConfigOutput) ToRecordSetCidrRoutingConfigOutputWithContext(ctx context.Context) RecordSetCidrRoutingConfigOutput { + return o +} + +func (o RecordSetCidrRoutingConfigOutput) ToRecordSetCidrRoutingConfigPtrOutput() RecordSetCidrRoutingConfigPtrOutput { + return o.ToRecordSetCidrRoutingConfigPtrOutputWithContext(context.Background()) +} + +func (o RecordSetCidrRoutingConfigOutput) ToRecordSetCidrRoutingConfigPtrOutputWithContext(ctx context.Context) RecordSetCidrRoutingConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RecordSetCidrRoutingConfig) *RecordSetCidrRoutingConfig { + return &v + }).(RecordSetCidrRoutingConfigPtrOutput) +} + +// The CIDR collection ID. +func (o RecordSetCidrRoutingConfigOutput) CollectionId() pulumi.StringOutput { + return o.ApplyT(func(v RecordSetCidrRoutingConfig) string { return v.CollectionId }).(pulumi.StringOutput) +} + +// The CIDR collection location name. +func (o RecordSetCidrRoutingConfigOutput) LocationName() pulumi.StringOutput { + return o.ApplyT(func(v RecordSetCidrRoutingConfig) string { return v.LocationName }).(pulumi.StringOutput) +} + +type RecordSetCidrRoutingConfigPtrOutput struct{ *pulumi.OutputState } + +func (RecordSetCidrRoutingConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSetCidrRoutingConfig)(nil)).Elem() +} + +func (o RecordSetCidrRoutingConfigPtrOutput) ToRecordSetCidrRoutingConfigPtrOutput() RecordSetCidrRoutingConfigPtrOutput { + return o +} + +func (o RecordSetCidrRoutingConfigPtrOutput) ToRecordSetCidrRoutingConfigPtrOutputWithContext(ctx context.Context) RecordSetCidrRoutingConfigPtrOutput { + return o +} + +func (o RecordSetCidrRoutingConfigPtrOutput) Elem() RecordSetCidrRoutingConfigOutput { + return o.ApplyT(func(v *RecordSetCidrRoutingConfig) RecordSetCidrRoutingConfig { + if v != nil { + return *v + } + var ret RecordSetCidrRoutingConfig + return ret + }).(RecordSetCidrRoutingConfigOutput) +} + +// The CIDR collection ID. +func (o RecordSetCidrRoutingConfigPtrOutput) CollectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSetCidrRoutingConfig) *string { + if v == nil { + return nil + } + return &v.CollectionId + }).(pulumi.StringPtrOutput) +} + +// The CIDR collection location name. +func (o RecordSetCidrRoutingConfigPtrOutput) LocationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSetCidrRoutingConfig) *string { + if v == nil { + return nil + } + return &v.LocationName + }).(pulumi.StringPtrOutput) +} + +type RecordSetGeoLocation struct { + // For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + ContinentCode *string `pulumi:"continentCode"` + // For geolocation resource record sets, the two-letter code for a country. + CountryCode *string `pulumi:"countryCode"` + // For geolocation resource record sets, the two-letter code for a state of the United States. + SubdivisionCode *string `pulumi:"subdivisionCode"` +} + +// RecordSetGeoLocationInput is an input type that accepts RecordSetGeoLocationArgs and RecordSetGeoLocationOutput values. +// You can construct a concrete instance of `RecordSetGeoLocationInput` via: +// +// RecordSetGeoLocationArgs{...} +type RecordSetGeoLocationInput interface { + pulumi.Input + + ToRecordSetGeoLocationOutput() RecordSetGeoLocationOutput + ToRecordSetGeoLocationOutputWithContext(context.Context) RecordSetGeoLocationOutput +} + +type RecordSetGeoLocationArgs struct { + // For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + ContinentCode pulumi.StringPtrInput `pulumi:"continentCode"` + // For geolocation resource record sets, the two-letter code for a country. + CountryCode pulumi.StringPtrInput `pulumi:"countryCode"` + // For geolocation resource record sets, the two-letter code for a state of the United States. + SubdivisionCode pulumi.StringPtrInput `pulumi:"subdivisionCode"` +} + +func (RecordSetGeoLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetGeoLocation)(nil)).Elem() +} + +func (i RecordSetGeoLocationArgs) ToRecordSetGeoLocationOutput() RecordSetGeoLocationOutput { + return i.ToRecordSetGeoLocationOutputWithContext(context.Background()) +} + +func (i RecordSetGeoLocationArgs) ToRecordSetGeoLocationOutputWithContext(ctx context.Context) RecordSetGeoLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetGeoLocationOutput) +} + +func (i RecordSetGeoLocationArgs) ToRecordSetGeoLocationPtrOutput() RecordSetGeoLocationPtrOutput { + return i.ToRecordSetGeoLocationPtrOutputWithContext(context.Background()) +} + +func (i RecordSetGeoLocationArgs) ToRecordSetGeoLocationPtrOutputWithContext(ctx context.Context) RecordSetGeoLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetGeoLocationOutput).ToRecordSetGeoLocationPtrOutputWithContext(ctx) +} + +// RecordSetGeoLocationPtrInput is an input type that accepts RecordSetGeoLocationArgs, RecordSetGeoLocationPtr and RecordSetGeoLocationPtrOutput values. +// You can construct a concrete instance of `RecordSetGeoLocationPtrInput` via: +// +// RecordSetGeoLocationArgs{...} +// +// or: +// +// nil +type RecordSetGeoLocationPtrInput interface { + pulumi.Input + + ToRecordSetGeoLocationPtrOutput() RecordSetGeoLocationPtrOutput + ToRecordSetGeoLocationPtrOutputWithContext(context.Context) RecordSetGeoLocationPtrOutput +} + +type recordSetGeoLocationPtrType RecordSetGeoLocationArgs + +func RecordSetGeoLocationPtr(v *RecordSetGeoLocationArgs) RecordSetGeoLocationPtrInput { + return (*recordSetGeoLocationPtrType)(v) +} + +func (*recordSetGeoLocationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSetGeoLocation)(nil)).Elem() +} + +func (i *recordSetGeoLocationPtrType) ToRecordSetGeoLocationPtrOutput() RecordSetGeoLocationPtrOutput { + return i.ToRecordSetGeoLocationPtrOutputWithContext(context.Background()) +} + +func (i *recordSetGeoLocationPtrType) ToRecordSetGeoLocationPtrOutputWithContext(ctx context.Context) RecordSetGeoLocationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetGeoLocationPtrOutput) +} + +type RecordSetGeoLocationOutput struct{ *pulumi.OutputState } + +func (RecordSetGeoLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RecordSetGeoLocation)(nil)).Elem() +} + +func (o RecordSetGeoLocationOutput) ToRecordSetGeoLocationOutput() RecordSetGeoLocationOutput { + return o +} + +func (o RecordSetGeoLocationOutput) ToRecordSetGeoLocationOutputWithContext(ctx context.Context) RecordSetGeoLocationOutput { + return o +} + +func (o RecordSetGeoLocationOutput) ToRecordSetGeoLocationPtrOutput() RecordSetGeoLocationPtrOutput { + return o.ToRecordSetGeoLocationPtrOutputWithContext(context.Background()) +} + +func (o RecordSetGeoLocationOutput) ToRecordSetGeoLocationPtrOutputWithContext(ctx context.Context) RecordSetGeoLocationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RecordSetGeoLocation) *RecordSetGeoLocation { + return &v + }).(RecordSetGeoLocationPtrOutput) +} + +// For geolocation resource record sets, a two-letter abbreviation that identifies a continent. +func (o RecordSetGeoLocationOutput) ContinentCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v RecordSetGeoLocation) *string { return v.ContinentCode }).(pulumi.StringPtrOutput) +} + +// For geolocation resource record sets, the two-letter code for a country. +func (o RecordSetGeoLocationOutput) CountryCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v RecordSetGeoLocation) *string { return v.CountryCode }).(pulumi.StringPtrOutput) +} + +// For geolocation resource record sets, the two-letter code for a state of the United States. +func (o RecordSetGeoLocationOutput) SubdivisionCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v RecordSetGeoLocation) *string { return v.SubdivisionCode }).(pulumi.StringPtrOutput) +} + +type RecordSetGeoLocationPtrOutput struct{ *pulumi.OutputState } + +func (RecordSetGeoLocationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSetGeoLocation)(nil)).Elem() +} + +func (o RecordSetGeoLocationPtrOutput) ToRecordSetGeoLocationPtrOutput() RecordSetGeoLocationPtrOutput { + return o +} + +func (o RecordSetGeoLocationPtrOutput) ToRecordSetGeoLocationPtrOutputWithContext(ctx context.Context) RecordSetGeoLocationPtrOutput { + return o +} + +func (o RecordSetGeoLocationPtrOutput) Elem() RecordSetGeoLocationOutput { + return o.ApplyT(func(v *RecordSetGeoLocation) RecordSetGeoLocation { + if v != nil { + return *v + } + var ret RecordSetGeoLocation + return ret + }).(RecordSetGeoLocationOutput) +} + +// For geolocation resource record sets, a two-letter abbreviation that identifies a continent. +func (o RecordSetGeoLocationPtrOutput) ContinentCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSetGeoLocation) *string { + if v == nil { + return nil + } + return v.ContinentCode + }).(pulumi.StringPtrOutput) +} + +// For geolocation resource record sets, the two-letter code for a country. +func (o RecordSetGeoLocationPtrOutput) CountryCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSetGeoLocation) *string { + if v == nil { + return nil + } + return v.CountryCode + }).(pulumi.StringPtrOutput) +} + +// For geolocation resource record sets, the two-letter code for a state of the United States. +func (o RecordSetGeoLocationPtrOutput) SubdivisionCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSetGeoLocation) *string { + if v == nil { + return nil + } + return v.SubdivisionCode + }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*CidrCollectionLocationInput)(nil)).Elem(), CidrCollectionLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CidrCollectionLocationArrayInput)(nil)).Elem(), CidrCollectionLocationArray{}) @@ -1585,6 +2091,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*HostedZoneQueryLoggingConfigPtrInput)(nil)).Elem(), HostedZoneQueryLoggingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HostedZoneVpcInput)(nil)).Elem(), HostedZoneVpcArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HostedZoneVpcArrayInput)(nil)).Elem(), HostedZoneVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetAliasTargetInput)(nil)).Elem(), RecordSetAliasTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetAliasTargetPtrInput)(nil)).Elem(), RecordSetAliasTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetCidrRoutingConfigInput)(nil)).Elem(), RecordSetCidrRoutingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetCidrRoutingConfigPtrInput)(nil)).Elem(), RecordSetCidrRoutingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetGeoLocationInput)(nil)).Elem(), RecordSetGeoLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetGeoLocationPtrInput)(nil)).Elem(), RecordSetGeoLocationArgs{}) pulumi.RegisterOutputType(CidrCollectionLocationOutput{}) pulumi.RegisterOutputType(CidrCollectionLocationArrayOutput{}) pulumi.RegisterOutputType(HealthCheckAlarmIdentifierOutput{}) @@ -1599,4 +2111,10 @@ func init() { pulumi.RegisterOutputType(HostedZoneQueryLoggingConfigPtrOutput{}) pulumi.RegisterOutputType(HostedZoneVpcOutput{}) pulumi.RegisterOutputType(HostedZoneVpcArrayOutput{}) + pulumi.RegisterOutputType(RecordSetAliasTargetOutput{}) + pulumi.RegisterOutputType(RecordSetAliasTargetPtrOutput{}) + pulumi.RegisterOutputType(RecordSetCidrRoutingConfigOutput{}) + pulumi.RegisterOutputType(RecordSetCidrRoutingConfigPtrOutput{}) + pulumi.RegisterOutputType(RecordSetGeoLocationOutput{}) + pulumi.RegisterOutputType(RecordSetGeoLocationPtrOutput{}) } diff --git a/sdk/go/aws/route53/recordSet.go b/sdk/go/aws/route53/recordSet.go new file mode 100644 index 0000000000..9cd4abcc03 --- /dev/null +++ b/sdk/go/aws/route53/recordSet.go @@ -0,0 +1,291 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package route53 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::Route53::RecordSet. +type RecordSet struct { + pulumi.CustomResourceState + + // Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + AliasTarget RecordSetAliasTargetPtrOutput `pulumi:"aliasTarget"` + // The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + CidrRoutingConfig RecordSetCidrRoutingConfigPtrOutput `pulumi:"cidrRoutingConfig"` + // Optional: Any comments you want to include about a change batch request. + Comment pulumi.StringPtrOutput `pulumi:"comment"` + // To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + Failover RecordSetFailoverPtrOutput `pulumi:"failover"` + // A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + GeoLocation RecordSetGeoLocationPtrOutput `pulumi:"geoLocation"` + // If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + HealthCheckId pulumi.StringPtrOutput `pulumi:"healthCheckId"` + // The ID of the hosted zone that you want to create records in. + HostedZoneId pulumi.StringPtrOutput `pulumi:"hostedZoneId"` + // The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + HostedZoneName pulumi.StringPtrOutput `pulumi:"hostedZoneName"` + // To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + MultiValueAnswer pulumi.BoolPtrOutput `pulumi:"multiValueAnswer"` + // The name of the record that you want to create, update, or delete. + Name pulumi.StringOutput `pulumi:"name"` + // The Amazon EC2 Region where you created the resource that this resource record set refers to. + Region pulumi.StringPtrOutput `pulumi:"region"` + // One or more values that correspond with the value that you specified for the Type property. + ResourceRecords pulumi.StringArrayOutput `pulumi:"resourceRecords"` + // An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + SetIdentifier pulumi.StringPtrOutput `pulumi:"setIdentifier"` + // The resource record cache time to live (TTL), in seconds. + Ttl pulumi.StringPtrOutput `pulumi:"ttl"` + // The DNS record type. + Type pulumi.StringOutput `pulumi:"type"` + // Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + Weight pulumi.IntPtrOutput `pulumi:"weight"` +} + +// NewRecordSet registers a new resource with the given unique name, arguments, and options. +func NewRecordSet(ctx *pulumi.Context, + name string, args *RecordSetArgs, opts ...pulumi.ResourceOption) (*RecordSet, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "hostedZoneId", + "hostedZoneName", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource RecordSet + err := ctx.RegisterResource("aws-native:route53:RecordSet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRecordSet gets an existing RecordSet 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 GetRecordSet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RecordSetState, opts ...pulumi.ResourceOption) (*RecordSet, error) { + var resource RecordSet + err := ctx.ReadResource("aws-native:route53:RecordSet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RecordSet resources. +type recordSetState struct { +} + +type RecordSetState struct { +} + +func (RecordSetState) ElementType() reflect.Type { + return reflect.TypeOf((*recordSetState)(nil)).Elem() +} + +type recordSetArgs struct { + // Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + AliasTarget *RecordSetAliasTarget `pulumi:"aliasTarget"` + // The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + CidrRoutingConfig *RecordSetCidrRoutingConfig `pulumi:"cidrRoutingConfig"` + // Optional: Any comments you want to include about a change batch request. + Comment *string `pulumi:"comment"` + // To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + Failover *RecordSetFailover `pulumi:"failover"` + // A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + GeoLocation *RecordSetGeoLocation `pulumi:"geoLocation"` + // If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + HealthCheckId *string `pulumi:"healthCheckId"` + // The ID of the hosted zone that you want to create records in. + HostedZoneId *string `pulumi:"hostedZoneId"` + // The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + HostedZoneName *string `pulumi:"hostedZoneName"` + // To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + MultiValueAnswer *bool `pulumi:"multiValueAnswer"` + // The name of the record that you want to create, update, or delete. + Name *string `pulumi:"name"` + // The Amazon EC2 Region where you created the resource that this resource record set refers to. + Region *string `pulumi:"region"` + // One or more values that correspond with the value that you specified for the Type property. + ResourceRecords []string `pulumi:"resourceRecords"` + // An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + SetIdentifier *string `pulumi:"setIdentifier"` + // The resource record cache time to live (TTL), in seconds. + Ttl *string `pulumi:"ttl"` + // The DNS record type. + Type string `pulumi:"type"` + // Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + Weight *int `pulumi:"weight"` +} + +// The set of arguments for constructing a RecordSet resource. +type RecordSetArgs struct { + // Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + AliasTarget RecordSetAliasTargetPtrInput + // The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + CidrRoutingConfig RecordSetCidrRoutingConfigPtrInput + // Optional: Any comments you want to include about a change batch request. + Comment pulumi.StringPtrInput + // To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + Failover RecordSetFailoverPtrInput + // A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + GeoLocation RecordSetGeoLocationPtrInput + // If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + HealthCheckId pulumi.StringPtrInput + // The ID of the hosted zone that you want to create records in. + HostedZoneId pulumi.StringPtrInput + // The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + HostedZoneName pulumi.StringPtrInput + // To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + MultiValueAnswer pulumi.BoolPtrInput + // The name of the record that you want to create, update, or delete. + Name pulumi.StringPtrInput + // The Amazon EC2 Region where you created the resource that this resource record set refers to. + Region pulumi.StringPtrInput + // One or more values that correspond with the value that you specified for the Type property. + ResourceRecords pulumi.StringArrayInput + // An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + SetIdentifier pulumi.StringPtrInput + // The resource record cache time to live (TTL), in seconds. + Ttl pulumi.StringPtrInput + // The DNS record type. + Type pulumi.StringInput + // Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + Weight pulumi.IntPtrInput +} + +func (RecordSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*recordSetArgs)(nil)).Elem() +} + +type RecordSetInput interface { + pulumi.Input + + ToRecordSetOutput() RecordSetOutput + ToRecordSetOutputWithContext(ctx context.Context) RecordSetOutput +} + +func (*RecordSet) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSet)(nil)).Elem() +} + +func (i *RecordSet) ToRecordSetOutput() RecordSetOutput { + return i.ToRecordSetOutputWithContext(context.Background()) +} + +func (i *RecordSet) ToRecordSetOutputWithContext(ctx context.Context) RecordSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RecordSetOutput) +} + +type RecordSetOutput struct{ *pulumi.OutputState } + +func (RecordSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RecordSet)(nil)).Elem() +} + +func (o RecordSetOutput) ToRecordSetOutput() RecordSetOutput { + return o +} + +func (o RecordSetOutput) ToRecordSetOutputWithContext(ctx context.Context) RecordSetOutput { + return o +} + +// Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. +func (o RecordSetOutput) AliasTarget() RecordSetAliasTargetPtrOutput { + return o.ApplyT(func(v *RecordSet) RecordSetAliasTargetPtrOutput { return v.AliasTarget }).(RecordSetAliasTargetPtrOutput) +} + +// The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. +func (o RecordSetOutput) CidrRoutingConfig() RecordSetCidrRoutingConfigPtrOutput { + return o.ApplyT(func(v *RecordSet) RecordSetCidrRoutingConfigPtrOutput { return v.CidrRoutingConfig }).(RecordSetCidrRoutingConfigPtrOutput) +} + +// Optional: Any comments you want to include about a change batch request. +func (o RecordSetOutput) Comment() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringPtrOutput { return v.Comment }).(pulumi.StringPtrOutput) +} + +// To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. +func (o RecordSetOutput) Failover() RecordSetFailoverPtrOutput { + return o.ApplyT(func(v *RecordSet) RecordSetFailoverPtrOutput { return v.Failover }).(RecordSetFailoverPtrOutput) +} + +// A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. +func (o RecordSetOutput) GeoLocation() RecordSetGeoLocationPtrOutput { + return o.ApplyT(func(v *RecordSet) RecordSetGeoLocationPtrOutput { return v.GeoLocation }).(RecordSetGeoLocationPtrOutput) +} + +// If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. +func (o RecordSetOutput) HealthCheckId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringPtrOutput { return v.HealthCheckId }).(pulumi.StringPtrOutput) +} + +// The ID of the hosted zone that you want to create records in. +func (o RecordSetOutput) HostedZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringPtrOutput { return v.HostedZoneId }).(pulumi.StringPtrOutput) +} + +// The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. +func (o RecordSetOutput) HostedZoneName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringPtrOutput { return v.HostedZoneName }).(pulumi.StringPtrOutput) +} + +// To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. +func (o RecordSetOutput) MultiValueAnswer() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.BoolPtrOutput { return v.MultiValueAnswer }).(pulumi.BoolPtrOutput) +} + +// The name of the record that you want to create, update, or delete. +func (o RecordSetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The Amazon EC2 Region where you created the resource that this resource record set refers to. +func (o RecordSetOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringPtrOutput { return v.Region }).(pulumi.StringPtrOutput) +} + +// One or more values that correspond with the value that you specified for the Type property. +func (o RecordSetOutput) ResourceRecords() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringArrayOutput { return v.ResourceRecords }).(pulumi.StringArrayOutput) +} + +// An identifier that differentiates among multiple resource record sets that have the same combination of name and type. +func (o RecordSetOutput) SetIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringPtrOutput { return v.SetIdentifier }).(pulumi.StringPtrOutput) +} + +// The resource record cache time to live (TTL), in seconds. +func (o RecordSetOutput) Ttl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringPtrOutput { return v.Ttl }).(pulumi.StringPtrOutput) +} + +// The DNS record type. +func (o RecordSetOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *RecordSet) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. +func (o RecordSetOutput) Weight() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RecordSet) pulumi.IntPtrOutput { return v.Weight }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RecordSetInput)(nil)).Elem(), &RecordSet{}) + pulumi.RegisterOutputType(RecordSetOutput{}) +} diff --git a/sdk/go/aws/sagemaker/endpoint.go b/sdk/go/aws/sagemaker/endpoint.go new file mode 100644 index 0000000000..2d9c682a8c --- /dev/null +++ b/sdk/go/aws/sagemaker/endpoint.go @@ -0,0 +1,199 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sagemaker + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::SageMaker::Endpoint +type Endpoint struct { + pulumi.CustomResourceState + + // Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + DeploymentConfig EndpointDeploymentConfigPtrOutput `pulumi:"deploymentConfig"` + // The Amazon Resource Name (ARN) of the endpoint. + EndpointArn pulumi.StringOutput `pulumi:"endpointArn"` + // The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + EndpointConfigName pulumi.StringOutput `pulumi:"endpointConfigName"` + // The name of the SageMaker endpoint. This name must be unique within an AWS Region. + EndpointName pulumi.StringOutput `pulumi:"endpointName"` + // Specifies a list of variant properties that you want to exclude when updating an endpoint. + ExcludeRetainedVariantProperties EndpointVariantPropertyArrayOutput `pulumi:"excludeRetainedVariantProperties"` + // When set to true, retains all variant properties for an endpoint when it is updated. + RetainAllVariantProperties pulumi.BoolPtrOutput `pulumi:"retainAllVariantProperties"` + // When set to true, retains the deployment configuration during endpoint updates. + RetainDeploymentConfig pulumi.BoolPtrOutput `pulumi:"retainDeploymentConfig"` + // An array of key-value pairs to apply to this resource. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewEndpoint registers a new resource with the given unique name, arguments, and options. +func NewEndpoint(ctx *pulumi.Context, + name string, args *EndpointArgs, opts ...pulumi.ResourceOption) (*Endpoint, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.EndpointConfigName == nil { + return nil, errors.New("invalid value for required argument 'EndpointConfigName'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "endpointName", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Endpoint + err := ctx.RegisterResource("aws-native:sagemaker:Endpoint", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEndpoint gets an existing Endpoint 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 GetEndpoint(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EndpointState, opts ...pulumi.ResourceOption) (*Endpoint, error) { + var resource Endpoint + err := ctx.ReadResource("aws-native:sagemaker:Endpoint", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Endpoint resources. +type endpointState struct { +} + +type EndpointState struct { +} + +func (EndpointState) ElementType() reflect.Type { + return reflect.TypeOf((*endpointState)(nil)).Elem() +} + +type endpointArgs struct { + // Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + DeploymentConfig *EndpointDeploymentConfig `pulumi:"deploymentConfig"` + // The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + EndpointConfigName string `pulumi:"endpointConfigName"` + // The name of the SageMaker endpoint. This name must be unique within an AWS Region. + EndpointName *string `pulumi:"endpointName"` + // Specifies a list of variant properties that you want to exclude when updating an endpoint. + ExcludeRetainedVariantProperties []EndpointVariantProperty `pulumi:"excludeRetainedVariantProperties"` + // When set to true, retains all variant properties for an endpoint when it is updated. + RetainAllVariantProperties *bool `pulumi:"retainAllVariantProperties"` + // When set to true, retains the deployment configuration during endpoint updates. + RetainDeploymentConfig *bool `pulumi:"retainDeploymentConfig"` + // An array of key-value pairs to apply to this resource. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a Endpoint resource. +type EndpointArgs struct { + // Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + DeploymentConfig EndpointDeploymentConfigPtrInput + // The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + EndpointConfigName pulumi.StringInput + // The name of the SageMaker endpoint. This name must be unique within an AWS Region. + EndpointName pulumi.StringPtrInput + // Specifies a list of variant properties that you want to exclude when updating an endpoint. + ExcludeRetainedVariantProperties EndpointVariantPropertyArrayInput + // When set to true, retains all variant properties for an endpoint when it is updated. + RetainAllVariantProperties pulumi.BoolPtrInput + // When set to true, retains the deployment configuration during endpoint updates. + RetainDeploymentConfig pulumi.BoolPtrInput + // An array of key-value pairs to apply to this resource. + Tags aws.TagArrayInput +} + +func (EndpointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*endpointArgs)(nil)).Elem() +} + +type EndpointInput interface { + pulumi.Input + + ToEndpointOutput() EndpointOutput + ToEndpointOutputWithContext(ctx context.Context) EndpointOutput +} + +func (*Endpoint) ElementType() reflect.Type { + return reflect.TypeOf((**Endpoint)(nil)).Elem() +} + +func (i *Endpoint) ToEndpointOutput() EndpointOutput { + return i.ToEndpointOutputWithContext(context.Background()) +} + +func (i *Endpoint) ToEndpointOutputWithContext(ctx context.Context) EndpointOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointOutput) +} + +type EndpointOutput struct{ *pulumi.OutputState } + +func (EndpointOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Endpoint)(nil)).Elem() +} + +func (o EndpointOutput) ToEndpointOutput() EndpointOutput { + return o +} + +func (o EndpointOutput) ToEndpointOutputWithContext(ctx context.Context) EndpointOutput { + return o +} + +// Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. +func (o EndpointOutput) DeploymentConfig() EndpointDeploymentConfigPtrOutput { + return o.ApplyT(func(v *Endpoint) EndpointDeploymentConfigPtrOutput { return v.DeploymentConfig }).(EndpointDeploymentConfigPtrOutput) +} + +// The Amazon Resource Name (ARN) of the endpoint. +func (o EndpointOutput) EndpointArn() pulumi.StringOutput { + return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.EndpointArn }).(pulumi.StringOutput) +} + +// The name of the endpoint configuration for the SageMaker endpoint. This is a required property. +func (o EndpointOutput) EndpointConfigName() pulumi.StringOutput { + return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.EndpointConfigName }).(pulumi.StringOutput) +} + +// The name of the SageMaker endpoint. This name must be unique within an AWS Region. +func (o EndpointOutput) EndpointName() pulumi.StringOutput { + return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.EndpointName }).(pulumi.StringOutput) +} + +// Specifies a list of variant properties that you want to exclude when updating an endpoint. +func (o EndpointOutput) ExcludeRetainedVariantProperties() EndpointVariantPropertyArrayOutput { + return o.ApplyT(func(v *Endpoint) EndpointVariantPropertyArrayOutput { return v.ExcludeRetainedVariantProperties }).(EndpointVariantPropertyArrayOutput) +} + +// When set to true, retains all variant properties for an endpoint when it is updated. +func (o EndpointOutput) RetainAllVariantProperties() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Endpoint) pulumi.BoolPtrOutput { return v.RetainAllVariantProperties }).(pulumi.BoolPtrOutput) +} + +// When set to true, retains the deployment configuration during endpoint updates. +func (o EndpointOutput) RetainDeploymentConfig() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Endpoint) pulumi.BoolPtrOutput { return v.RetainDeploymentConfig }).(pulumi.BoolPtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o EndpointOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *Endpoint) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EndpointInput)(nil)).Elem(), &Endpoint{}) + pulumi.RegisterOutputType(EndpointOutput{}) +} diff --git a/sdk/go/aws/sagemaker/getEndpoint.go b/sdk/go/aws/sagemaker/getEndpoint.go new file mode 100644 index 0000000000..ad66f71c73 --- /dev/null +++ b/sdk/go/aws/sagemaker/getEndpoint.go @@ -0,0 +1,106 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sagemaker + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::SageMaker::Endpoint +func LookupEndpoint(ctx *pulumi.Context, args *LookupEndpointArgs, opts ...pulumi.InvokeOption) (*LookupEndpointResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupEndpointResult + err := ctx.Invoke("aws-native:sagemaker:getEndpoint", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupEndpointArgs struct { + // The Amazon Resource Name (ARN) of the endpoint. + EndpointArn string `pulumi:"endpointArn"` +} + +type LookupEndpointResult struct { + // Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + DeploymentConfig *EndpointDeploymentConfig `pulumi:"deploymentConfig"` + // The Amazon Resource Name (ARN) of the endpoint. + EndpointArn *string `pulumi:"endpointArn"` + // The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + EndpointConfigName *string `pulumi:"endpointConfigName"` + // An array of key-value pairs to apply to this resource. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupEndpointOutput(ctx *pulumi.Context, args LookupEndpointOutputArgs, opts ...pulumi.InvokeOption) LookupEndpointResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupEndpointResultOutput, error) { + args := v.(LookupEndpointArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupEndpointResult + secret, err := ctx.InvokePackageRaw("aws-native:sagemaker:getEndpoint", args, &rv, "", opts...) + if err != nil { + return LookupEndpointResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupEndpointResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupEndpointResultOutput), nil + } + return output, nil + }).(LookupEndpointResultOutput) +} + +type LookupEndpointOutputArgs struct { + // The Amazon Resource Name (ARN) of the endpoint. + EndpointArn pulumi.StringInput `pulumi:"endpointArn"` +} + +func (LookupEndpointOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEndpointArgs)(nil)).Elem() +} + +type LookupEndpointResultOutput struct{ *pulumi.OutputState } + +func (LookupEndpointResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEndpointResult)(nil)).Elem() +} + +func (o LookupEndpointResultOutput) ToLookupEndpointResultOutput() LookupEndpointResultOutput { + return o +} + +func (o LookupEndpointResultOutput) ToLookupEndpointResultOutputWithContext(ctx context.Context) LookupEndpointResultOutput { + return o +} + +// Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. +func (o LookupEndpointResultOutput) DeploymentConfig() EndpointDeploymentConfigPtrOutput { + return o.ApplyT(func(v LookupEndpointResult) *EndpointDeploymentConfig { return v.DeploymentConfig }).(EndpointDeploymentConfigPtrOutput) +} + +// The Amazon Resource Name (ARN) of the endpoint. +func (o LookupEndpointResultOutput) EndpointArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEndpointResult) *string { return v.EndpointArn }).(pulumi.StringPtrOutput) +} + +// The name of the endpoint configuration for the SageMaker endpoint. This is a required property. +func (o LookupEndpointResultOutput) EndpointConfigName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEndpointResult) *string { return v.EndpointConfigName }).(pulumi.StringPtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o LookupEndpointResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupEndpointResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupEndpointResultOutput{}) +} diff --git a/sdk/go/aws/sagemaker/init.go b/sdk/go/aws/sagemaker/init.go index 40434549a3..ca334a634c 100644 --- a/sdk/go/aws/sagemaker/init.go +++ b/sdk/go/aws/sagemaker/init.go @@ -35,6 +35,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DeviceFleet{} case "aws-native:sagemaker:Domain": r = &Domain{} + case "aws-native:sagemaker:Endpoint": + r = &Endpoint{} case "aws-native:sagemaker:FeatureGroup": r = &FeatureGroup{} case "aws-native:sagemaker:Image": diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index d825a7d60e..59d08b0aae 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -8726,6 +8726,1240 @@ func (o DomainUserSettingsPtrOutput) StudioWebPortalSettings() DomainStudioWebPo }).(DomainStudioWebPortalSettingsPtrOutput) } +type EndpointAlarm struct { + // The name of the CloudWatch alarm. + AlarmName string `pulumi:"alarmName"` +} + +// EndpointAlarmInput is an input type that accepts EndpointAlarmArgs and EndpointAlarmOutput values. +// You can construct a concrete instance of `EndpointAlarmInput` via: +// +// EndpointAlarmArgs{...} +type EndpointAlarmInput interface { + pulumi.Input + + ToEndpointAlarmOutput() EndpointAlarmOutput + ToEndpointAlarmOutputWithContext(context.Context) EndpointAlarmOutput +} + +type EndpointAlarmArgs struct { + // The name of the CloudWatch alarm. + AlarmName pulumi.StringInput `pulumi:"alarmName"` +} + +func (EndpointAlarmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointAlarm)(nil)).Elem() +} + +func (i EndpointAlarmArgs) ToEndpointAlarmOutput() EndpointAlarmOutput { + return i.ToEndpointAlarmOutputWithContext(context.Background()) +} + +func (i EndpointAlarmArgs) ToEndpointAlarmOutputWithContext(ctx context.Context) EndpointAlarmOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointAlarmOutput) +} + +// EndpointAlarmArrayInput is an input type that accepts EndpointAlarmArray and EndpointAlarmArrayOutput values. +// You can construct a concrete instance of `EndpointAlarmArrayInput` via: +// +// EndpointAlarmArray{ EndpointAlarmArgs{...} } +type EndpointAlarmArrayInput interface { + pulumi.Input + + ToEndpointAlarmArrayOutput() EndpointAlarmArrayOutput + ToEndpointAlarmArrayOutputWithContext(context.Context) EndpointAlarmArrayOutput +} + +type EndpointAlarmArray []EndpointAlarmInput + +func (EndpointAlarmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]EndpointAlarm)(nil)).Elem() +} + +func (i EndpointAlarmArray) ToEndpointAlarmArrayOutput() EndpointAlarmArrayOutput { + return i.ToEndpointAlarmArrayOutputWithContext(context.Background()) +} + +func (i EndpointAlarmArray) ToEndpointAlarmArrayOutputWithContext(ctx context.Context) EndpointAlarmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointAlarmArrayOutput) +} + +type EndpointAlarmOutput struct{ *pulumi.OutputState } + +func (EndpointAlarmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointAlarm)(nil)).Elem() +} + +func (o EndpointAlarmOutput) ToEndpointAlarmOutput() EndpointAlarmOutput { + return o +} + +func (o EndpointAlarmOutput) ToEndpointAlarmOutputWithContext(ctx context.Context) EndpointAlarmOutput { + return o +} + +// The name of the CloudWatch alarm. +func (o EndpointAlarmOutput) AlarmName() pulumi.StringOutput { + return o.ApplyT(func(v EndpointAlarm) string { return v.AlarmName }).(pulumi.StringOutput) +} + +type EndpointAlarmArrayOutput struct{ *pulumi.OutputState } + +func (EndpointAlarmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EndpointAlarm)(nil)).Elem() +} + +func (o EndpointAlarmArrayOutput) ToEndpointAlarmArrayOutput() EndpointAlarmArrayOutput { + return o +} + +func (o EndpointAlarmArrayOutput) ToEndpointAlarmArrayOutputWithContext(ctx context.Context) EndpointAlarmArrayOutput { + return o +} + +func (o EndpointAlarmArrayOutput) Index(i pulumi.IntInput) EndpointAlarmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EndpointAlarm { + return vs[0].([]EndpointAlarm)[vs[1].(int)] + }).(EndpointAlarmOutput) +} + +type EndpointAutoRollbackConfig struct { + // List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + Alarms []EndpointAlarm `pulumi:"alarms"` +} + +// EndpointAutoRollbackConfigInput is an input type that accepts EndpointAutoRollbackConfigArgs and EndpointAutoRollbackConfigOutput values. +// You can construct a concrete instance of `EndpointAutoRollbackConfigInput` via: +// +// EndpointAutoRollbackConfigArgs{...} +type EndpointAutoRollbackConfigInput interface { + pulumi.Input + + ToEndpointAutoRollbackConfigOutput() EndpointAutoRollbackConfigOutput + ToEndpointAutoRollbackConfigOutputWithContext(context.Context) EndpointAutoRollbackConfigOutput +} + +type EndpointAutoRollbackConfigArgs struct { + // List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + Alarms EndpointAlarmArrayInput `pulumi:"alarms"` +} + +func (EndpointAutoRollbackConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointAutoRollbackConfig)(nil)).Elem() +} + +func (i EndpointAutoRollbackConfigArgs) ToEndpointAutoRollbackConfigOutput() EndpointAutoRollbackConfigOutput { + return i.ToEndpointAutoRollbackConfigOutputWithContext(context.Background()) +} + +func (i EndpointAutoRollbackConfigArgs) ToEndpointAutoRollbackConfigOutputWithContext(ctx context.Context) EndpointAutoRollbackConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointAutoRollbackConfigOutput) +} + +func (i EndpointAutoRollbackConfigArgs) ToEndpointAutoRollbackConfigPtrOutput() EndpointAutoRollbackConfigPtrOutput { + return i.ToEndpointAutoRollbackConfigPtrOutputWithContext(context.Background()) +} + +func (i EndpointAutoRollbackConfigArgs) ToEndpointAutoRollbackConfigPtrOutputWithContext(ctx context.Context) EndpointAutoRollbackConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointAutoRollbackConfigOutput).ToEndpointAutoRollbackConfigPtrOutputWithContext(ctx) +} + +// EndpointAutoRollbackConfigPtrInput is an input type that accepts EndpointAutoRollbackConfigArgs, EndpointAutoRollbackConfigPtr and EndpointAutoRollbackConfigPtrOutput values. +// You can construct a concrete instance of `EndpointAutoRollbackConfigPtrInput` via: +// +// EndpointAutoRollbackConfigArgs{...} +// +// or: +// +// nil +type EndpointAutoRollbackConfigPtrInput interface { + pulumi.Input + + ToEndpointAutoRollbackConfigPtrOutput() EndpointAutoRollbackConfigPtrOutput + ToEndpointAutoRollbackConfigPtrOutputWithContext(context.Context) EndpointAutoRollbackConfigPtrOutput +} + +type endpointAutoRollbackConfigPtrType EndpointAutoRollbackConfigArgs + +func EndpointAutoRollbackConfigPtr(v *EndpointAutoRollbackConfigArgs) EndpointAutoRollbackConfigPtrInput { + return (*endpointAutoRollbackConfigPtrType)(v) +} + +func (*endpointAutoRollbackConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointAutoRollbackConfig)(nil)).Elem() +} + +func (i *endpointAutoRollbackConfigPtrType) ToEndpointAutoRollbackConfigPtrOutput() EndpointAutoRollbackConfigPtrOutput { + return i.ToEndpointAutoRollbackConfigPtrOutputWithContext(context.Background()) +} + +func (i *endpointAutoRollbackConfigPtrType) ToEndpointAutoRollbackConfigPtrOutputWithContext(ctx context.Context) EndpointAutoRollbackConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointAutoRollbackConfigPtrOutput) +} + +type EndpointAutoRollbackConfigOutput struct{ *pulumi.OutputState } + +func (EndpointAutoRollbackConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointAutoRollbackConfig)(nil)).Elem() +} + +func (o EndpointAutoRollbackConfigOutput) ToEndpointAutoRollbackConfigOutput() EndpointAutoRollbackConfigOutput { + return o +} + +func (o EndpointAutoRollbackConfigOutput) ToEndpointAutoRollbackConfigOutputWithContext(ctx context.Context) EndpointAutoRollbackConfigOutput { + return o +} + +func (o EndpointAutoRollbackConfigOutput) ToEndpointAutoRollbackConfigPtrOutput() EndpointAutoRollbackConfigPtrOutput { + return o.ToEndpointAutoRollbackConfigPtrOutputWithContext(context.Background()) +} + +func (o EndpointAutoRollbackConfigOutput) ToEndpointAutoRollbackConfigPtrOutputWithContext(ctx context.Context) EndpointAutoRollbackConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EndpointAutoRollbackConfig) *EndpointAutoRollbackConfig { + return &v + }).(EndpointAutoRollbackConfigPtrOutput) +} + +// List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. +func (o EndpointAutoRollbackConfigOutput) Alarms() EndpointAlarmArrayOutput { + return o.ApplyT(func(v EndpointAutoRollbackConfig) []EndpointAlarm { return v.Alarms }).(EndpointAlarmArrayOutput) +} + +type EndpointAutoRollbackConfigPtrOutput struct{ *pulumi.OutputState } + +func (EndpointAutoRollbackConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointAutoRollbackConfig)(nil)).Elem() +} + +func (o EndpointAutoRollbackConfigPtrOutput) ToEndpointAutoRollbackConfigPtrOutput() EndpointAutoRollbackConfigPtrOutput { + return o +} + +func (o EndpointAutoRollbackConfigPtrOutput) ToEndpointAutoRollbackConfigPtrOutputWithContext(ctx context.Context) EndpointAutoRollbackConfigPtrOutput { + return o +} + +func (o EndpointAutoRollbackConfigPtrOutput) Elem() EndpointAutoRollbackConfigOutput { + return o.ApplyT(func(v *EndpointAutoRollbackConfig) EndpointAutoRollbackConfig { + if v != nil { + return *v + } + var ret EndpointAutoRollbackConfig + return ret + }).(EndpointAutoRollbackConfigOutput) +} + +// List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. +func (o EndpointAutoRollbackConfigPtrOutput) Alarms() EndpointAlarmArrayOutput { + return o.ApplyT(func(v *EndpointAutoRollbackConfig) []EndpointAlarm { + if v == nil { + return nil + } + return v.Alarms + }).(EndpointAlarmArrayOutput) +} + +type EndpointBlueGreenUpdatePolicy struct { + // The maximum time allowed for the blue/green update, in seconds. + MaximumExecutionTimeoutInSeconds *int `pulumi:"maximumExecutionTimeoutInSeconds"` + // The wait time before terminating the old endpoint during a blue/green deployment. + TerminationWaitInSeconds *int `pulumi:"terminationWaitInSeconds"` + // The traffic routing configuration for the blue/green deployment. + TrafficRoutingConfiguration EndpointTrafficRoutingConfig `pulumi:"trafficRoutingConfiguration"` +} + +// EndpointBlueGreenUpdatePolicyInput is an input type that accepts EndpointBlueGreenUpdatePolicyArgs and EndpointBlueGreenUpdatePolicyOutput values. +// You can construct a concrete instance of `EndpointBlueGreenUpdatePolicyInput` via: +// +// EndpointBlueGreenUpdatePolicyArgs{...} +type EndpointBlueGreenUpdatePolicyInput interface { + pulumi.Input + + ToEndpointBlueGreenUpdatePolicyOutput() EndpointBlueGreenUpdatePolicyOutput + ToEndpointBlueGreenUpdatePolicyOutputWithContext(context.Context) EndpointBlueGreenUpdatePolicyOutput +} + +type EndpointBlueGreenUpdatePolicyArgs struct { + // The maximum time allowed for the blue/green update, in seconds. + MaximumExecutionTimeoutInSeconds pulumi.IntPtrInput `pulumi:"maximumExecutionTimeoutInSeconds"` + // The wait time before terminating the old endpoint during a blue/green deployment. + TerminationWaitInSeconds pulumi.IntPtrInput `pulumi:"terminationWaitInSeconds"` + // The traffic routing configuration for the blue/green deployment. + TrafficRoutingConfiguration EndpointTrafficRoutingConfigInput `pulumi:"trafficRoutingConfiguration"` +} + +func (EndpointBlueGreenUpdatePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointBlueGreenUpdatePolicy)(nil)).Elem() +} + +func (i EndpointBlueGreenUpdatePolicyArgs) ToEndpointBlueGreenUpdatePolicyOutput() EndpointBlueGreenUpdatePolicyOutput { + return i.ToEndpointBlueGreenUpdatePolicyOutputWithContext(context.Background()) +} + +func (i EndpointBlueGreenUpdatePolicyArgs) ToEndpointBlueGreenUpdatePolicyOutputWithContext(ctx context.Context) EndpointBlueGreenUpdatePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointBlueGreenUpdatePolicyOutput) +} + +func (i EndpointBlueGreenUpdatePolicyArgs) ToEndpointBlueGreenUpdatePolicyPtrOutput() EndpointBlueGreenUpdatePolicyPtrOutput { + return i.ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(context.Background()) +} + +func (i EndpointBlueGreenUpdatePolicyArgs) ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointBlueGreenUpdatePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointBlueGreenUpdatePolicyOutput).ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(ctx) +} + +// EndpointBlueGreenUpdatePolicyPtrInput is an input type that accepts EndpointBlueGreenUpdatePolicyArgs, EndpointBlueGreenUpdatePolicyPtr and EndpointBlueGreenUpdatePolicyPtrOutput values. +// You can construct a concrete instance of `EndpointBlueGreenUpdatePolicyPtrInput` via: +// +// EndpointBlueGreenUpdatePolicyArgs{...} +// +// or: +// +// nil +type EndpointBlueGreenUpdatePolicyPtrInput interface { + pulumi.Input + + ToEndpointBlueGreenUpdatePolicyPtrOutput() EndpointBlueGreenUpdatePolicyPtrOutput + ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(context.Context) EndpointBlueGreenUpdatePolicyPtrOutput +} + +type endpointBlueGreenUpdatePolicyPtrType EndpointBlueGreenUpdatePolicyArgs + +func EndpointBlueGreenUpdatePolicyPtr(v *EndpointBlueGreenUpdatePolicyArgs) EndpointBlueGreenUpdatePolicyPtrInput { + return (*endpointBlueGreenUpdatePolicyPtrType)(v) +} + +func (*endpointBlueGreenUpdatePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointBlueGreenUpdatePolicy)(nil)).Elem() +} + +func (i *endpointBlueGreenUpdatePolicyPtrType) ToEndpointBlueGreenUpdatePolicyPtrOutput() EndpointBlueGreenUpdatePolicyPtrOutput { + return i.ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(context.Background()) +} + +func (i *endpointBlueGreenUpdatePolicyPtrType) ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointBlueGreenUpdatePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointBlueGreenUpdatePolicyPtrOutput) +} + +type EndpointBlueGreenUpdatePolicyOutput struct{ *pulumi.OutputState } + +func (EndpointBlueGreenUpdatePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointBlueGreenUpdatePolicy)(nil)).Elem() +} + +func (o EndpointBlueGreenUpdatePolicyOutput) ToEndpointBlueGreenUpdatePolicyOutput() EndpointBlueGreenUpdatePolicyOutput { + return o +} + +func (o EndpointBlueGreenUpdatePolicyOutput) ToEndpointBlueGreenUpdatePolicyOutputWithContext(ctx context.Context) EndpointBlueGreenUpdatePolicyOutput { + return o +} + +func (o EndpointBlueGreenUpdatePolicyOutput) ToEndpointBlueGreenUpdatePolicyPtrOutput() EndpointBlueGreenUpdatePolicyPtrOutput { + return o.ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(context.Background()) +} + +func (o EndpointBlueGreenUpdatePolicyOutput) ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointBlueGreenUpdatePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EndpointBlueGreenUpdatePolicy) *EndpointBlueGreenUpdatePolicy { + return &v + }).(EndpointBlueGreenUpdatePolicyPtrOutput) +} + +// The maximum time allowed for the blue/green update, in seconds. +func (o EndpointBlueGreenUpdatePolicyOutput) MaximumExecutionTimeoutInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v EndpointBlueGreenUpdatePolicy) *int { return v.MaximumExecutionTimeoutInSeconds }).(pulumi.IntPtrOutput) +} + +// The wait time before terminating the old endpoint during a blue/green deployment. +func (o EndpointBlueGreenUpdatePolicyOutput) TerminationWaitInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v EndpointBlueGreenUpdatePolicy) *int { return v.TerminationWaitInSeconds }).(pulumi.IntPtrOutput) +} + +// The traffic routing configuration for the blue/green deployment. +func (o EndpointBlueGreenUpdatePolicyOutput) TrafficRoutingConfiguration() EndpointTrafficRoutingConfigOutput { + return o.ApplyT(func(v EndpointBlueGreenUpdatePolicy) EndpointTrafficRoutingConfig { + return v.TrafficRoutingConfiguration + }).(EndpointTrafficRoutingConfigOutput) +} + +type EndpointBlueGreenUpdatePolicyPtrOutput struct{ *pulumi.OutputState } + +func (EndpointBlueGreenUpdatePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointBlueGreenUpdatePolicy)(nil)).Elem() +} + +func (o EndpointBlueGreenUpdatePolicyPtrOutput) ToEndpointBlueGreenUpdatePolicyPtrOutput() EndpointBlueGreenUpdatePolicyPtrOutput { + return o +} + +func (o EndpointBlueGreenUpdatePolicyPtrOutput) ToEndpointBlueGreenUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointBlueGreenUpdatePolicyPtrOutput { + return o +} + +func (o EndpointBlueGreenUpdatePolicyPtrOutput) Elem() EndpointBlueGreenUpdatePolicyOutput { + return o.ApplyT(func(v *EndpointBlueGreenUpdatePolicy) EndpointBlueGreenUpdatePolicy { + if v != nil { + return *v + } + var ret EndpointBlueGreenUpdatePolicy + return ret + }).(EndpointBlueGreenUpdatePolicyOutput) +} + +// The maximum time allowed for the blue/green update, in seconds. +func (o EndpointBlueGreenUpdatePolicyPtrOutput) MaximumExecutionTimeoutInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointBlueGreenUpdatePolicy) *int { + if v == nil { + return nil + } + return v.MaximumExecutionTimeoutInSeconds + }).(pulumi.IntPtrOutput) +} + +// The wait time before terminating the old endpoint during a blue/green deployment. +func (o EndpointBlueGreenUpdatePolicyPtrOutput) TerminationWaitInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointBlueGreenUpdatePolicy) *int { + if v == nil { + return nil + } + return v.TerminationWaitInSeconds + }).(pulumi.IntPtrOutput) +} + +// The traffic routing configuration for the blue/green deployment. +func (o EndpointBlueGreenUpdatePolicyPtrOutput) TrafficRoutingConfiguration() EndpointTrafficRoutingConfigPtrOutput { + return o.ApplyT(func(v *EndpointBlueGreenUpdatePolicy) *EndpointTrafficRoutingConfig { + if v == nil { + return nil + } + return &v.TrafficRoutingConfiguration + }).(EndpointTrafficRoutingConfigPtrOutput) +} + +type EndpointCapacitySize struct { + // Specifies whether the `Value` is an instance count or a capacity unit. + Type string `pulumi:"type"` + // The value representing either the number of instances or the number of capacity units. + Value int `pulumi:"value"` +} + +// EndpointCapacitySizeInput is an input type that accepts EndpointCapacitySizeArgs and EndpointCapacitySizeOutput values. +// You can construct a concrete instance of `EndpointCapacitySizeInput` via: +// +// EndpointCapacitySizeArgs{...} +type EndpointCapacitySizeInput interface { + pulumi.Input + + ToEndpointCapacitySizeOutput() EndpointCapacitySizeOutput + ToEndpointCapacitySizeOutputWithContext(context.Context) EndpointCapacitySizeOutput +} + +type EndpointCapacitySizeArgs struct { + // Specifies whether the `Value` is an instance count or a capacity unit. + Type pulumi.StringInput `pulumi:"type"` + // The value representing either the number of instances or the number of capacity units. + Value pulumi.IntInput `pulumi:"value"` +} + +func (EndpointCapacitySizeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointCapacitySize)(nil)).Elem() +} + +func (i EndpointCapacitySizeArgs) ToEndpointCapacitySizeOutput() EndpointCapacitySizeOutput { + return i.ToEndpointCapacitySizeOutputWithContext(context.Background()) +} + +func (i EndpointCapacitySizeArgs) ToEndpointCapacitySizeOutputWithContext(ctx context.Context) EndpointCapacitySizeOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointCapacitySizeOutput) +} + +func (i EndpointCapacitySizeArgs) ToEndpointCapacitySizePtrOutput() EndpointCapacitySizePtrOutput { + return i.ToEndpointCapacitySizePtrOutputWithContext(context.Background()) +} + +func (i EndpointCapacitySizeArgs) ToEndpointCapacitySizePtrOutputWithContext(ctx context.Context) EndpointCapacitySizePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointCapacitySizeOutput).ToEndpointCapacitySizePtrOutputWithContext(ctx) +} + +// EndpointCapacitySizePtrInput is an input type that accepts EndpointCapacitySizeArgs, EndpointCapacitySizePtr and EndpointCapacitySizePtrOutput values. +// You can construct a concrete instance of `EndpointCapacitySizePtrInput` via: +// +// EndpointCapacitySizeArgs{...} +// +// or: +// +// nil +type EndpointCapacitySizePtrInput interface { + pulumi.Input + + ToEndpointCapacitySizePtrOutput() EndpointCapacitySizePtrOutput + ToEndpointCapacitySizePtrOutputWithContext(context.Context) EndpointCapacitySizePtrOutput +} + +type endpointCapacitySizePtrType EndpointCapacitySizeArgs + +func EndpointCapacitySizePtr(v *EndpointCapacitySizeArgs) EndpointCapacitySizePtrInput { + return (*endpointCapacitySizePtrType)(v) +} + +func (*endpointCapacitySizePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointCapacitySize)(nil)).Elem() +} + +func (i *endpointCapacitySizePtrType) ToEndpointCapacitySizePtrOutput() EndpointCapacitySizePtrOutput { + return i.ToEndpointCapacitySizePtrOutputWithContext(context.Background()) +} + +func (i *endpointCapacitySizePtrType) ToEndpointCapacitySizePtrOutputWithContext(ctx context.Context) EndpointCapacitySizePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointCapacitySizePtrOutput) +} + +type EndpointCapacitySizeOutput struct{ *pulumi.OutputState } + +func (EndpointCapacitySizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointCapacitySize)(nil)).Elem() +} + +func (o EndpointCapacitySizeOutput) ToEndpointCapacitySizeOutput() EndpointCapacitySizeOutput { + return o +} + +func (o EndpointCapacitySizeOutput) ToEndpointCapacitySizeOutputWithContext(ctx context.Context) EndpointCapacitySizeOutput { + return o +} + +func (o EndpointCapacitySizeOutput) ToEndpointCapacitySizePtrOutput() EndpointCapacitySizePtrOutput { + return o.ToEndpointCapacitySizePtrOutputWithContext(context.Background()) +} + +func (o EndpointCapacitySizeOutput) ToEndpointCapacitySizePtrOutputWithContext(ctx context.Context) EndpointCapacitySizePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EndpointCapacitySize) *EndpointCapacitySize { + return &v + }).(EndpointCapacitySizePtrOutput) +} + +// Specifies whether the `Value` is an instance count or a capacity unit. +func (o EndpointCapacitySizeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v EndpointCapacitySize) string { return v.Type }).(pulumi.StringOutput) +} + +// The value representing either the number of instances or the number of capacity units. +func (o EndpointCapacitySizeOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v EndpointCapacitySize) int { return v.Value }).(pulumi.IntOutput) +} + +type EndpointCapacitySizePtrOutput struct{ *pulumi.OutputState } + +func (EndpointCapacitySizePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointCapacitySize)(nil)).Elem() +} + +func (o EndpointCapacitySizePtrOutput) ToEndpointCapacitySizePtrOutput() EndpointCapacitySizePtrOutput { + return o +} + +func (o EndpointCapacitySizePtrOutput) ToEndpointCapacitySizePtrOutputWithContext(ctx context.Context) EndpointCapacitySizePtrOutput { + return o +} + +func (o EndpointCapacitySizePtrOutput) Elem() EndpointCapacitySizeOutput { + return o.ApplyT(func(v *EndpointCapacitySize) EndpointCapacitySize { + if v != nil { + return *v + } + var ret EndpointCapacitySize + return ret + }).(EndpointCapacitySizeOutput) +} + +// Specifies whether the `Value` is an instance count or a capacity unit. +func (o EndpointCapacitySizePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EndpointCapacitySize) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// The value representing either the number of instances or the number of capacity units. +func (o EndpointCapacitySizePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointCapacitySize) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type EndpointDeploymentConfig struct { + // Configuration for automatic rollback if an error occurs during deployment. + AutoRollbackConfiguration *EndpointAutoRollbackConfig `pulumi:"autoRollbackConfiguration"` + // Configuration for blue-green update deployment policies. + BlueGreenUpdatePolicy *EndpointBlueGreenUpdatePolicy `pulumi:"blueGreenUpdatePolicy"` + // Configuration for rolling update deployment policies. + RollingUpdatePolicy *EndpointRollingUpdatePolicy `pulumi:"rollingUpdatePolicy"` +} + +// EndpointDeploymentConfigInput is an input type that accepts EndpointDeploymentConfigArgs and EndpointDeploymentConfigOutput values. +// You can construct a concrete instance of `EndpointDeploymentConfigInput` via: +// +// EndpointDeploymentConfigArgs{...} +type EndpointDeploymentConfigInput interface { + pulumi.Input + + ToEndpointDeploymentConfigOutput() EndpointDeploymentConfigOutput + ToEndpointDeploymentConfigOutputWithContext(context.Context) EndpointDeploymentConfigOutput +} + +type EndpointDeploymentConfigArgs struct { + // Configuration for automatic rollback if an error occurs during deployment. + AutoRollbackConfiguration EndpointAutoRollbackConfigPtrInput `pulumi:"autoRollbackConfiguration"` + // Configuration for blue-green update deployment policies. + BlueGreenUpdatePolicy EndpointBlueGreenUpdatePolicyPtrInput `pulumi:"blueGreenUpdatePolicy"` + // Configuration for rolling update deployment policies. + RollingUpdatePolicy EndpointRollingUpdatePolicyPtrInput `pulumi:"rollingUpdatePolicy"` +} + +func (EndpointDeploymentConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointDeploymentConfig)(nil)).Elem() +} + +func (i EndpointDeploymentConfigArgs) ToEndpointDeploymentConfigOutput() EndpointDeploymentConfigOutput { + return i.ToEndpointDeploymentConfigOutputWithContext(context.Background()) +} + +func (i EndpointDeploymentConfigArgs) ToEndpointDeploymentConfigOutputWithContext(ctx context.Context) EndpointDeploymentConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointDeploymentConfigOutput) +} + +func (i EndpointDeploymentConfigArgs) ToEndpointDeploymentConfigPtrOutput() EndpointDeploymentConfigPtrOutput { + return i.ToEndpointDeploymentConfigPtrOutputWithContext(context.Background()) +} + +func (i EndpointDeploymentConfigArgs) ToEndpointDeploymentConfigPtrOutputWithContext(ctx context.Context) EndpointDeploymentConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointDeploymentConfigOutput).ToEndpointDeploymentConfigPtrOutputWithContext(ctx) +} + +// EndpointDeploymentConfigPtrInput is an input type that accepts EndpointDeploymentConfigArgs, EndpointDeploymentConfigPtr and EndpointDeploymentConfigPtrOutput values. +// You can construct a concrete instance of `EndpointDeploymentConfigPtrInput` via: +// +// EndpointDeploymentConfigArgs{...} +// +// or: +// +// nil +type EndpointDeploymentConfigPtrInput interface { + pulumi.Input + + ToEndpointDeploymentConfigPtrOutput() EndpointDeploymentConfigPtrOutput + ToEndpointDeploymentConfigPtrOutputWithContext(context.Context) EndpointDeploymentConfigPtrOutput +} + +type endpointDeploymentConfigPtrType EndpointDeploymentConfigArgs + +func EndpointDeploymentConfigPtr(v *EndpointDeploymentConfigArgs) EndpointDeploymentConfigPtrInput { + return (*endpointDeploymentConfigPtrType)(v) +} + +func (*endpointDeploymentConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointDeploymentConfig)(nil)).Elem() +} + +func (i *endpointDeploymentConfigPtrType) ToEndpointDeploymentConfigPtrOutput() EndpointDeploymentConfigPtrOutput { + return i.ToEndpointDeploymentConfigPtrOutputWithContext(context.Background()) +} + +func (i *endpointDeploymentConfigPtrType) ToEndpointDeploymentConfigPtrOutputWithContext(ctx context.Context) EndpointDeploymentConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointDeploymentConfigPtrOutput) +} + +type EndpointDeploymentConfigOutput struct{ *pulumi.OutputState } + +func (EndpointDeploymentConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointDeploymentConfig)(nil)).Elem() +} + +func (o EndpointDeploymentConfigOutput) ToEndpointDeploymentConfigOutput() EndpointDeploymentConfigOutput { + return o +} + +func (o EndpointDeploymentConfigOutput) ToEndpointDeploymentConfigOutputWithContext(ctx context.Context) EndpointDeploymentConfigOutput { + return o +} + +func (o EndpointDeploymentConfigOutput) ToEndpointDeploymentConfigPtrOutput() EndpointDeploymentConfigPtrOutput { + return o.ToEndpointDeploymentConfigPtrOutputWithContext(context.Background()) +} + +func (o EndpointDeploymentConfigOutput) ToEndpointDeploymentConfigPtrOutputWithContext(ctx context.Context) EndpointDeploymentConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EndpointDeploymentConfig) *EndpointDeploymentConfig { + return &v + }).(EndpointDeploymentConfigPtrOutput) +} + +// Configuration for automatic rollback if an error occurs during deployment. +func (o EndpointDeploymentConfigOutput) AutoRollbackConfiguration() EndpointAutoRollbackConfigPtrOutput { + return o.ApplyT(func(v EndpointDeploymentConfig) *EndpointAutoRollbackConfig { return v.AutoRollbackConfiguration }).(EndpointAutoRollbackConfigPtrOutput) +} + +// Configuration for blue-green update deployment policies. +func (o EndpointDeploymentConfigOutput) BlueGreenUpdatePolicy() EndpointBlueGreenUpdatePolicyPtrOutput { + return o.ApplyT(func(v EndpointDeploymentConfig) *EndpointBlueGreenUpdatePolicy { return v.BlueGreenUpdatePolicy }).(EndpointBlueGreenUpdatePolicyPtrOutput) +} + +// Configuration for rolling update deployment policies. +func (o EndpointDeploymentConfigOutput) RollingUpdatePolicy() EndpointRollingUpdatePolicyPtrOutput { + return o.ApplyT(func(v EndpointDeploymentConfig) *EndpointRollingUpdatePolicy { return v.RollingUpdatePolicy }).(EndpointRollingUpdatePolicyPtrOutput) +} + +type EndpointDeploymentConfigPtrOutput struct{ *pulumi.OutputState } + +func (EndpointDeploymentConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointDeploymentConfig)(nil)).Elem() +} + +func (o EndpointDeploymentConfigPtrOutput) ToEndpointDeploymentConfigPtrOutput() EndpointDeploymentConfigPtrOutput { + return o +} + +func (o EndpointDeploymentConfigPtrOutput) ToEndpointDeploymentConfigPtrOutputWithContext(ctx context.Context) EndpointDeploymentConfigPtrOutput { + return o +} + +func (o EndpointDeploymentConfigPtrOutput) Elem() EndpointDeploymentConfigOutput { + return o.ApplyT(func(v *EndpointDeploymentConfig) EndpointDeploymentConfig { + if v != nil { + return *v + } + var ret EndpointDeploymentConfig + return ret + }).(EndpointDeploymentConfigOutput) +} + +// Configuration for automatic rollback if an error occurs during deployment. +func (o EndpointDeploymentConfigPtrOutput) AutoRollbackConfiguration() EndpointAutoRollbackConfigPtrOutput { + return o.ApplyT(func(v *EndpointDeploymentConfig) *EndpointAutoRollbackConfig { + if v == nil { + return nil + } + return v.AutoRollbackConfiguration + }).(EndpointAutoRollbackConfigPtrOutput) +} + +// Configuration for blue-green update deployment policies. +func (o EndpointDeploymentConfigPtrOutput) BlueGreenUpdatePolicy() EndpointBlueGreenUpdatePolicyPtrOutput { + return o.ApplyT(func(v *EndpointDeploymentConfig) *EndpointBlueGreenUpdatePolicy { + if v == nil { + return nil + } + return v.BlueGreenUpdatePolicy + }).(EndpointBlueGreenUpdatePolicyPtrOutput) +} + +// Configuration for rolling update deployment policies. +func (o EndpointDeploymentConfigPtrOutput) RollingUpdatePolicy() EndpointRollingUpdatePolicyPtrOutput { + return o.ApplyT(func(v *EndpointDeploymentConfig) *EndpointRollingUpdatePolicy { + if v == nil { + return nil + } + return v.RollingUpdatePolicy + }).(EndpointRollingUpdatePolicyPtrOutput) +} + +type EndpointRollingUpdatePolicy struct { + // Specifies the maximum batch size for each rolling update. + MaximumBatchSize EndpointCapacitySize `pulumi:"maximumBatchSize"` + // The maximum time allowed for the rolling update, in seconds. + MaximumExecutionTimeoutInSeconds *int `pulumi:"maximumExecutionTimeoutInSeconds"` + // The maximum batch size for rollback during an update failure. + RollbackMaximumBatchSize *EndpointCapacitySize `pulumi:"rollbackMaximumBatchSize"` + // The time to wait between steps during the rolling update, in seconds. + WaitIntervalInSeconds int `pulumi:"waitIntervalInSeconds"` +} + +// EndpointRollingUpdatePolicyInput is an input type that accepts EndpointRollingUpdatePolicyArgs and EndpointRollingUpdatePolicyOutput values. +// You can construct a concrete instance of `EndpointRollingUpdatePolicyInput` via: +// +// EndpointRollingUpdatePolicyArgs{...} +type EndpointRollingUpdatePolicyInput interface { + pulumi.Input + + ToEndpointRollingUpdatePolicyOutput() EndpointRollingUpdatePolicyOutput + ToEndpointRollingUpdatePolicyOutputWithContext(context.Context) EndpointRollingUpdatePolicyOutput +} + +type EndpointRollingUpdatePolicyArgs struct { + // Specifies the maximum batch size for each rolling update. + MaximumBatchSize EndpointCapacitySizeInput `pulumi:"maximumBatchSize"` + // The maximum time allowed for the rolling update, in seconds. + MaximumExecutionTimeoutInSeconds pulumi.IntPtrInput `pulumi:"maximumExecutionTimeoutInSeconds"` + // The maximum batch size for rollback during an update failure. + RollbackMaximumBatchSize EndpointCapacitySizePtrInput `pulumi:"rollbackMaximumBatchSize"` + // The time to wait between steps during the rolling update, in seconds. + WaitIntervalInSeconds pulumi.IntInput `pulumi:"waitIntervalInSeconds"` +} + +func (EndpointRollingUpdatePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointRollingUpdatePolicy)(nil)).Elem() +} + +func (i EndpointRollingUpdatePolicyArgs) ToEndpointRollingUpdatePolicyOutput() EndpointRollingUpdatePolicyOutput { + return i.ToEndpointRollingUpdatePolicyOutputWithContext(context.Background()) +} + +func (i EndpointRollingUpdatePolicyArgs) ToEndpointRollingUpdatePolicyOutputWithContext(ctx context.Context) EndpointRollingUpdatePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointRollingUpdatePolicyOutput) +} + +func (i EndpointRollingUpdatePolicyArgs) ToEndpointRollingUpdatePolicyPtrOutput() EndpointRollingUpdatePolicyPtrOutput { + return i.ToEndpointRollingUpdatePolicyPtrOutputWithContext(context.Background()) +} + +func (i EndpointRollingUpdatePolicyArgs) ToEndpointRollingUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointRollingUpdatePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointRollingUpdatePolicyOutput).ToEndpointRollingUpdatePolicyPtrOutputWithContext(ctx) +} + +// EndpointRollingUpdatePolicyPtrInput is an input type that accepts EndpointRollingUpdatePolicyArgs, EndpointRollingUpdatePolicyPtr and EndpointRollingUpdatePolicyPtrOutput values. +// You can construct a concrete instance of `EndpointRollingUpdatePolicyPtrInput` via: +// +// EndpointRollingUpdatePolicyArgs{...} +// +// or: +// +// nil +type EndpointRollingUpdatePolicyPtrInput interface { + pulumi.Input + + ToEndpointRollingUpdatePolicyPtrOutput() EndpointRollingUpdatePolicyPtrOutput + ToEndpointRollingUpdatePolicyPtrOutputWithContext(context.Context) EndpointRollingUpdatePolicyPtrOutput +} + +type endpointRollingUpdatePolicyPtrType EndpointRollingUpdatePolicyArgs + +func EndpointRollingUpdatePolicyPtr(v *EndpointRollingUpdatePolicyArgs) EndpointRollingUpdatePolicyPtrInput { + return (*endpointRollingUpdatePolicyPtrType)(v) +} + +func (*endpointRollingUpdatePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointRollingUpdatePolicy)(nil)).Elem() +} + +func (i *endpointRollingUpdatePolicyPtrType) ToEndpointRollingUpdatePolicyPtrOutput() EndpointRollingUpdatePolicyPtrOutput { + return i.ToEndpointRollingUpdatePolicyPtrOutputWithContext(context.Background()) +} + +func (i *endpointRollingUpdatePolicyPtrType) ToEndpointRollingUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointRollingUpdatePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointRollingUpdatePolicyPtrOutput) +} + +type EndpointRollingUpdatePolicyOutput struct{ *pulumi.OutputState } + +func (EndpointRollingUpdatePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointRollingUpdatePolicy)(nil)).Elem() +} + +func (o EndpointRollingUpdatePolicyOutput) ToEndpointRollingUpdatePolicyOutput() EndpointRollingUpdatePolicyOutput { + return o +} + +func (o EndpointRollingUpdatePolicyOutput) ToEndpointRollingUpdatePolicyOutputWithContext(ctx context.Context) EndpointRollingUpdatePolicyOutput { + return o +} + +func (o EndpointRollingUpdatePolicyOutput) ToEndpointRollingUpdatePolicyPtrOutput() EndpointRollingUpdatePolicyPtrOutput { + return o.ToEndpointRollingUpdatePolicyPtrOutputWithContext(context.Background()) +} + +func (o EndpointRollingUpdatePolicyOutput) ToEndpointRollingUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointRollingUpdatePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EndpointRollingUpdatePolicy) *EndpointRollingUpdatePolicy { + return &v + }).(EndpointRollingUpdatePolicyPtrOutput) +} + +// Specifies the maximum batch size for each rolling update. +func (o EndpointRollingUpdatePolicyOutput) MaximumBatchSize() EndpointCapacitySizeOutput { + return o.ApplyT(func(v EndpointRollingUpdatePolicy) EndpointCapacitySize { return v.MaximumBatchSize }).(EndpointCapacitySizeOutput) +} + +// The maximum time allowed for the rolling update, in seconds. +func (o EndpointRollingUpdatePolicyOutput) MaximumExecutionTimeoutInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v EndpointRollingUpdatePolicy) *int { return v.MaximumExecutionTimeoutInSeconds }).(pulumi.IntPtrOutput) +} + +// The maximum batch size for rollback during an update failure. +func (o EndpointRollingUpdatePolicyOutput) RollbackMaximumBatchSize() EndpointCapacitySizePtrOutput { + return o.ApplyT(func(v EndpointRollingUpdatePolicy) *EndpointCapacitySize { return v.RollbackMaximumBatchSize }).(EndpointCapacitySizePtrOutput) +} + +// The time to wait between steps during the rolling update, in seconds. +func (o EndpointRollingUpdatePolicyOutput) WaitIntervalInSeconds() pulumi.IntOutput { + return o.ApplyT(func(v EndpointRollingUpdatePolicy) int { return v.WaitIntervalInSeconds }).(pulumi.IntOutput) +} + +type EndpointRollingUpdatePolicyPtrOutput struct{ *pulumi.OutputState } + +func (EndpointRollingUpdatePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointRollingUpdatePolicy)(nil)).Elem() +} + +func (o EndpointRollingUpdatePolicyPtrOutput) ToEndpointRollingUpdatePolicyPtrOutput() EndpointRollingUpdatePolicyPtrOutput { + return o +} + +func (o EndpointRollingUpdatePolicyPtrOutput) ToEndpointRollingUpdatePolicyPtrOutputWithContext(ctx context.Context) EndpointRollingUpdatePolicyPtrOutput { + return o +} + +func (o EndpointRollingUpdatePolicyPtrOutput) Elem() EndpointRollingUpdatePolicyOutput { + return o.ApplyT(func(v *EndpointRollingUpdatePolicy) EndpointRollingUpdatePolicy { + if v != nil { + return *v + } + var ret EndpointRollingUpdatePolicy + return ret + }).(EndpointRollingUpdatePolicyOutput) +} + +// Specifies the maximum batch size for each rolling update. +func (o EndpointRollingUpdatePolicyPtrOutput) MaximumBatchSize() EndpointCapacitySizePtrOutput { + return o.ApplyT(func(v *EndpointRollingUpdatePolicy) *EndpointCapacitySize { + if v == nil { + return nil + } + return &v.MaximumBatchSize + }).(EndpointCapacitySizePtrOutput) +} + +// The maximum time allowed for the rolling update, in seconds. +func (o EndpointRollingUpdatePolicyPtrOutput) MaximumExecutionTimeoutInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointRollingUpdatePolicy) *int { + if v == nil { + return nil + } + return v.MaximumExecutionTimeoutInSeconds + }).(pulumi.IntPtrOutput) +} + +// The maximum batch size for rollback during an update failure. +func (o EndpointRollingUpdatePolicyPtrOutput) RollbackMaximumBatchSize() EndpointCapacitySizePtrOutput { + return o.ApplyT(func(v *EndpointRollingUpdatePolicy) *EndpointCapacitySize { + if v == nil { + return nil + } + return v.RollbackMaximumBatchSize + }).(EndpointCapacitySizePtrOutput) +} + +// The time to wait between steps during the rolling update, in seconds. +func (o EndpointRollingUpdatePolicyPtrOutput) WaitIntervalInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointRollingUpdatePolicy) *int { + if v == nil { + return nil + } + return &v.WaitIntervalInSeconds + }).(pulumi.IntPtrOutput) +} + +type EndpointTag struct { + // The key of the tag. + Key string `pulumi:"key"` + // The value of the tag. + Value string `pulumi:"value"` +} + +type EndpointTrafficRoutingConfig struct { + // Specifies the size of the canary traffic in a canary deployment. + CanarySize *EndpointCapacitySize `pulumi:"canarySize"` + // Specifies the step size for linear traffic routing. + LinearStepSize *EndpointCapacitySize `pulumi:"linearStepSize"` + // Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + Type string `pulumi:"type"` + // Specifies the wait interval between traffic shifts, in seconds. + WaitIntervalInSeconds *int `pulumi:"waitIntervalInSeconds"` +} + +// EndpointTrafficRoutingConfigInput is an input type that accepts EndpointTrafficRoutingConfigArgs and EndpointTrafficRoutingConfigOutput values. +// You can construct a concrete instance of `EndpointTrafficRoutingConfigInput` via: +// +// EndpointTrafficRoutingConfigArgs{...} +type EndpointTrafficRoutingConfigInput interface { + pulumi.Input + + ToEndpointTrafficRoutingConfigOutput() EndpointTrafficRoutingConfigOutput + ToEndpointTrafficRoutingConfigOutputWithContext(context.Context) EndpointTrafficRoutingConfigOutput +} + +type EndpointTrafficRoutingConfigArgs struct { + // Specifies the size of the canary traffic in a canary deployment. + CanarySize EndpointCapacitySizePtrInput `pulumi:"canarySize"` + // Specifies the step size for linear traffic routing. + LinearStepSize EndpointCapacitySizePtrInput `pulumi:"linearStepSize"` + // Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + Type pulumi.StringInput `pulumi:"type"` + // Specifies the wait interval between traffic shifts, in seconds. + WaitIntervalInSeconds pulumi.IntPtrInput `pulumi:"waitIntervalInSeconds"` +} + +func (EndpointTrafficRoutingConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointTrafficRoutingConfig)(nil)).Elem() +} + +func (i EndpointTrafficRoutingConfigArgs) ToEndpointTrafficRoutingConfigOutput() EndpointTrafficRoutingConfigOutput { + return i.ToEndpointTrafficRoutingConfigOutputWithContext(context.Background()) +} + +func (i EndpointTrafficRoutingConfigArgs) ToEndpointTrafficRoutingConfigOutputWithContext(ctx context.Context) EndpointTrafficRoutingConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointTrafficRoutingConfigOutput) +} + +func (i EndpointTrafficRoutingConfigArgs) ToEndpointTrafficRoutingConfigPtrOutput() EndpointTrafficRoutingConfigPtrOutput { + return i.ToEndpointTrafficRoutingConfigPtrOutputWithContext(context.Background()) +} + +func (i EndpointTrafficRoutingConfigArgs) ToEndpointTrafficRoutingConfigPtrOutputWithContext(ctx context.Context) EndpointTrafficRoutingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointTrafficRoutingConfigOutput).ToEndpointTrafficRoutingConfigPtrOutputWithContext(ctx) +} + +// EndpointTrafficRoutingConfigPtrInput is an input type that accepts EndpointTrafficRoutingConfigArgs, EndpointTrafficRoutingConfigPtr and EndpointTrafficRoutingConfigPtrOutput values. +// You can construct a concrete instance of `EndpointTrafficRoutingConfigPtrInput` via: +// +// EndpointTrafficRoutingConfigArgs{...} +// +// or: +// +// nil +type EndpointTrafficRoutingConfigPtrInput interface { + pulumi.Input + + ToEndpointTrafficRoutingConfigPtrOutput() EndpointTrafficRoutingConfigPtrOutput + ToEndpointTrafficRoutingConfigPtrOutputWithContext(context.Context) EndpointTrafficRoutingConfigPtrOutput +} + +type endpointTrafficRoutingConfigPtrType EndpointTrafficRoutingConfigArgs + +func EndpointTrafficRoutingConfigPtr(v *EndpointTrafficRoutingConfigArgs) EndpointTrafficRoutingConfigPtrInput { + return (*endpointTrafficRoutingConfigPtrType)(v) +} + +func (*endpointTrafficRoutingConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointTrafficRoutingConfig)(nil)).Elem() +} + +func (i *endpointTrafficRoutingConfigPtrType) ToEndpointTrafficRoutingConfigPtrOutput() EndpointTrafficRoutingConfigPtrOutput { + return i.ToEndpointTrafficRoutingConfigPtrOutputWithContext(context.Background()) +} + +func (i *endpointTrafficRoutingConfigPtrType) ToEndpointTrafficRoutingConfigPtrOutputWithContext(ctx context.Context) EndpointTrafficRoutingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointTrafficRoutingConfigPtrOutput) +} + +type EndpointTrafficRoutingConfigOutput struct{ *pulumi.OutputState } + +func (EndpointTrafficRoutingConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointTrafficRoutingConfig)(nil)).Elem() +} + +func (o EndpointTrafficRoutingConfigOutput) ToEndpointTrafficRoutingConfigOutput() EndpointTrafficRoutingConfigOutput { + return o +} + +func (o EndpointTrafficRoutingConfigOutput) ToEndpointTrafficRoutingConfigOutputWithContext(ctx context.Context) EndpointTrafficRoutingConfigOutput { + return o +} + +func (o EndpointTrafficRoutingConfigOutput) ToEndpointTrafficRoutingConfigPtrOutput() EndpointTrafficRoutingConfigPtrOutput { + return o.ToEndpointTrafficRoutingConfigPtrOutputWithContext(context.Background()) +} + +func (o EndpointTrafficRoutingConfigOutput) ToEndpointTrafficRoutingConfigPtrOutputWithContext(ctx context.Context) EndpointTrafficRoutingConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EndpointTrafficRoutingConfig) *EndpointTrafficRoutingConfig { + return &v + }).(EndpointTrafficRoutingConfigPtrOutput) +} + +// Specifies the size of the canary traffic in a canary deployment. +func (o EndpointTrafficRoutingConfigOutput) CanarySize() EndpointCapacitySizePtrOutput { + return o.ApplyT(func(v EndpointTrafficRoutingConfig) *EndpointCapacitySize { return v.CanarySize }).(EndpointCapacitySizePtrOutput) +} + +// Specifies the step size for linear traffic routing. +func (o EndpointTrafficRoutingConfigOutput) LinearStepSize() EndpointCapacitySizePtrOutput { + return o.ApplyT(func(v EndpointTrafficRoutingConfig) *EndpointCapacitySize { return v.LinearStepSize }).(EndpointCapacitySizePtrOutput) +} + +// Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). +func (o EndpointTrafficRoutingConfigOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v EndpointTrafficRoutingConfig) string { return v.Type }).(pulumi.StringOutput) +} + +// Specifies the wait interval between traffic shifts, in seconds. +func (o EndpointTrafficRoutingConfigOutput) WaitIntervalInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v EndpointTrafficRoutingConfig) *int { return v.WaitIntervalInSeconds }).(pulumi.IntPtrOutput) +} + +type EndpointTrafficRoutingConfigPtrOutput struct{ *pulumi.OutputState } + +func (EndpointTrafficRoutingConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EndpointTrafficRoutingConfig)(nil)).Elem() +} + +func (o EndpointTrafficRoutingConfigPtrOutput) ToEndpointTrafficRoutingConfigPtrOutput() EndpointTrafficRoutingConfigPtrOutput { + return o +} + +func (o EndpointTrafficRoutingConfigPtrOutput) ToEndpointTrafficRoutingConfigPtrOutputWithContext(ctx context.Context) EndpointTrafficRoutingConfigPtrOutput { + return o +} + +func (o EndpointTrafficRoutingConfigPtrOutput) Elem() EndpointTrafficRoutingConfigOutput { + return o.ApplyT(func(v *EndpointTrafficRoutingConfig) EndpointTrafficRoutingConfig { + if v != nil { + return *v + } + var ret EndpointTrafficRoutingConfig + return ret + }).(EndpointTrafficRoutingConfigOutput) +} + +// Specifies the size of the canary traffic in a canary deployment. +func (o EndpointTrafficRoutingConfigPtrOutput) CanarySize() EndpointCapacitySizePtrOutput { + return o.ApplyT(func(v *EndpointTrafficRoutingConfig) *EndpointCapacitySize { + if v == nil { + return nil + } + return v.CanarySize + }).(EndpointCapacitySizePtrOutput) +} + +// Specifies the step size for linear traffic routing. +func (o EndpointTrafficRoutingConfigPtrOutput) LinearStepSize() EndpointCapacitySizePtrOutput { + return o.ApplyT(func(v *EndpointTrafficRoutingConfig) *EndpointCapacitySize { + if v == nil { + return nil + } + return v.LinearStepSize + }).(EndpointCapacitySizePtrOutput) +} + +// Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). +func (o EndpointTrafficRoutingConfigPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EndpointTrafficRoutingConfig) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// Specifies the wait interval between traffic shifts, in seconds. +func (o EndpointTrafficRoutingConfigPtrOutput) WaitIntervalInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointTrafficRoutingConfig) *int { + if v == nil { + return nil + } + return v.WaitIntervalInSeconds + }).(pulumi.IntPtrOutput) +} + +type EndpointVariantProperty struct { + // The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + VariantPropertyType *string `pulumi:"variantPropertyType"` +} + +// EndpointVariantPropertyInput is an input type that accepts EndpointVariantPropertyArgs and EndpointVariantPropertyOutput values. +// You can construct a concrete instance of `EndpointVariantPropertyInput` via: +// +// EndpointVariantPropertyArgs{...} +type EndpointVariantPropertyInput interface { + pulumi.Input + + ToEndpointVariantPropertyOutput() EndpointVariantPropertyOutput + ToEndpointVariantPropertyOutputWithContext(context.Context) EndpointVariantPropertyOutput +} + +type EndpointVariantPropertyArgs struct { + // The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + VariantPropertyType pulumi.StringPtrInput `pulumi:"variantPropertyType"` +} + +func (EndpointVariantPropertyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointVariantProperty)(nil)).Elem() +} + +func (i EndpointVariantPropertyArgs) ToEndpointVariantPropertyOutput() EndpointVariantPropertyOutput { + return i.ToEndpointVariantPropertyOutputWithContext(context.Background()) +} + +func (i EndpointVariantPropertyArgs) ToEndpointVariantPropertyOutputWithContext(ctx context.Context) EndpointVariantPropertyOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointVariantPropertyOutput) +} + +// EndpointVariantPropertyArrayInput is an input type that accepts EndpointVariantPropertyArray and EndpointVariantPropertyArrayOutput values. +// You can construct a concrete instance of `EndpointVariantPropertyArrayInput` via: +// +// EndpointVariantPropertyArray{ EndpointVariantPropertyArgs{...} } +type EndpointVariantPropertyArrayInput interface { + pulumi.Input + + ToEndpointVariantPropertyArrayOutput() EndpointVariantPropertyArrayOutput + ToEndpointVariantPropertyArrayOutputWithContext(context.Context) EndpointVariantPropertyArrayOutput +} + +type EndpointVariantPropertyArray []EndpointVariantPropertyInput + +func (EndpointVariantPropertyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]EndpointVariantProperty)(nil)).Elem() +} + +func (i EndpointVariantPropertyArray) ToEndpointVariantPropertyArrayOutput() EndpointVariantPropertyArrayOutput { + return i.ToEndpointVariantPropertyArrayOutputWithContext(context.Background()) +} + +func (i EndpointVariantPropertyArray) ToEndpointVariantPropertyArrayOutputWithContext(ctx context.Context) EndpointVariantPropertyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EndpointVariantPropertyArrayOutput) +} + +type EndpointVariantPropertyOutput struct{ *pulumi.OutputState } + +func (EndpointVariantPropertyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EndpointVariantProperty)(nil)).Elem() +} + +func (o EndpointVariantPropertyOutput) ToEndpointVariantPropertyOutput() EndpointVariantPropertyOutput { + return o +} + +func (o EndpointVariantPropertyOutput) ToEndpointVariantPropertyOutputWithContext(ctx context.Context) EndpointVariantPropertyOutput { + return o +} + +// The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). +func (o EndpointVariantPropertyOutput) VariantPropertyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v EndpointVariantProperty) *string { return v.VariantPropertyType }).(pulumi.StringPtrOutput) +} + +type EndpointVariantPropertyArrayOutput struct{ *pulumi.OutputState } + +func (EndpointVariantPropertyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EndpointVariantProperty)(nil)).Elem() +} + +func (o EndpointVariantPropertyArrayOutput) ToEndpointVariantPropertyArrayOutput() EndpointVariantPropertyArrayOutput { + return o +} + +func (o EndpointVariantPropertyArrayOutput) ToEndpointVariantPropertyArrayOutputWithContext(ctx context.Context) EndpointVariantPropertyArrayOutput { + return o +} + +func (o EndpointVariantPropertyArrayOutput) Index(i pulumi.IntInput) EndpointVariantPropertyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EndpointVariantProperty { + return vs[0].([]EndpointVariantProperty)[vs[1].(int)] + }).(EndpointVariantPropertyOutput) +} + type FeatureGroupDataCatalogConfig struct { // The name of the Glue table catalog. Catalog string `pulumi:"catalog"` @@ -39016,6 +40250,22 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainStudioWebPortalSettingsInput)(nil)).Elem(), DomainStudioWebPortalSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainStudioWebPortalSettingsPtrInput)(nil)).Elem(), DomainStudioWebPortalSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainUserSettingsInput)(nil)).Elem(), DomainUserSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointAlarmInput)(nil)).Elem(), EndpointAlarmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointAlarmArrayInput)(nil)).Elem(), EndpointAlarmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointAutoRollbackConfigInput)(nil)).Elem(), EndpointAutoRollbackConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointAutoRollbackConfigPtrInput)(nil)).Elem(), EndpointAutoRollbackConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointBlueGreenUpdatePolicyInput)(nil)).Elem(), EndpointBlueGreenUpdatePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointBlueGreenUpdatePolicyPtrInput)(nil)).Elem(), EndpointBlueGreenUpdatePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointCapacitySizeInput)(nil)).Elem(), EndpointCapacitySizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointCapacitySizePtrInput)(nil)).Elem(), EndpointCapacitySizeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointDeploymentConfigInput)(nil)).Elem(), EndpointDeploymentConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointDeploymentConfigPtrInput)(nil)).Elem(), EndpointDeploymentConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointRollingUpdatePolicyInput)(nil)).Elem(), EndpointRollingUpdatePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointRollingUpdatePolicyPtrInput)(nil)).Elem(), EndpointRollingUpdatePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointTrafficRoutingConfigInput)(nil)).Elem(), EndpointTrafficRoutingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointTrafficRoutingConfigPtrInput)(nil)).Elem(), EndpointTrafficRoutingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointVariantPropertyInput)(nil)).Elem(), EndpointVariantPropertyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EndpointVariantPropertyArrayInput)(nil)).Elem(), EndpointVariantPropertyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupDataCatalogConfigInput)(nil)).Elem(), FeatureGroupDataCatalogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupDataCatalogConfigPtrInput)(nil)).Elem(), FeatureGroupDataCatalogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupFeatureDefinitionInput)(nil)).Elem(), FeatureGroupFeatureDefinitionArgs{}) @@ -39481,6 +40731,22 @@ func init() { pulumi.RegisterOutputType(DomainStudioWebPortalSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainUserSettingsOutput{}) pulumi.RegisterOutputType(DomainUserSettingsPtrOutput{}) + pulumi.RegisterOutputType(EndpointAlarmOutput{}) + pulumi.RegisterOutputType(EndpointAlarmArrayOutput{}) + pulumi.RegisterOutputType(EndpointAutoRollbackConfigOutput{}) + pulumi.RegisterOutputType(EndpointAutoRollbackConfigPtrOutput{}) + pulumi.RegisterOutputType(EndpointBlueGreenUpdatePolicyOutput{}) + pulumi.RegisterOutputType(EndpointBlueGreenUpdatePolicyPtrOutput{}) + pulumi.RegisterOutputType(EndpointCapacitySizeOutput{}) + pulumi.RegisterOutputType(EndpointCapacitySizePtrOutput{}) + pulumi.RegisterOutputType(EndpointDeploymentConfigOutput{}) + pulumi.RegisterOutputType(EndpointDeploymentConfigPtrOutput{}) + pulumi.RegisterOutputType(EndpointRollingUpdatePolicyOutput{}) + pulumi.RegisterOutputType(EndpointRollingUpdatePolicyPtrOutput{}) + pulumi.RegisterOutputType(EndpointTrafficRoutingConfigOutput{}) + pulumi.RegisterOutputType(EndpointTrafficRoutingConfigPtrOutput{}) + pulumi.RegisterOutputType(EndpointVariantPropertyOutput{}) + pulumi.RegisterOutputType(EndpointVariantPropertyArrayOutput{}) pulumi.RegisterOutputType(FeatureGroupDataCatalogConfigOutput{}) pulumi.RegisterOutputType(FeatureGroupDataCatalogConfigPtrOutput{}) pulumi.RegisterOutputType(FeatureGroupFeatureDefinitionOutput{}) diff --git a/sdk/nodejs/appsync/getGraphQlApi.ts b/sdk/nodejs/appsync/getGraphQlApi.ts new file mode 100644 index 0000000000..cf7facb3af --- /dev/null +++ b/sdk/nodejs/appsync/getGraphQlApi.ts @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::AppSync::GraphQLApi + */ +export function getGraphQlApi(args: GetGraphQlApiArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:appsync:getGraphQlApi", { + "apiId": args.apiId, + }, opts); +} + +export interface GetGraphQlApiArgs { + /** + * Unique AWS AppSync GraphQL API identifier. + */ + apiId: string; +} + +export interface GetGraphQlApiResult { + /** + * A list of additional authentication providers for the GraphqlApi API. + */ + readonly additionalAuthenticationProviders?: outputs.appsync.GraphQlApiAdditionalAuthenticationProvider[]; + /** + * Unique AWS AppSync GraphQL API identifier. + */ + readonly apiId?: string; + /** + * The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + */ + readonly apiType?: string; + /** + * The Amazon Resource Name (ARN) of the API key + */ + readonly arn?: string; + /** + * Security configuration for your GraphQL API + */ + readonly authenticationType?: string; + /** + * Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + */ + readonly enhancedMetricsConfig?: outputs.appsync.GraphQlApiEnhancedMetricsConfig; + /** + * A map containing the list of resources with their properties and environment variables. + */ + readonly environmentVariables?: {[key: string]: string}; + /** + * The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + */ + readonly graphQlDns?: string; + /** + * The GraphQL endpoint ARN. + */ + readonly graphQlEndpointArn?: string; + /** + * The Endpoint URL of your GraphQL API. + */ + readonly graphQlUrl?: string; + /** + * Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + */ + readonly introspectionConfig?: string; + /** + * A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + */ + readonly lambdaAuthorizerConfig?: outputs.appsync.GraphQlApiLambdaAuthorizerConfig; + /** + * The Amazon CloudWatch Logs configuration. + */ + readonly logConfig?: outputs.appsync.GraphQlApiLogConfig; + /** + * The AWS Identity and Access Management service role ARN for a merged API. + */ + readonly mergedApiExecutionRoleArn?: string; + /** + * The API name + */ + readonly name?: string; + /** + * The OpenID Connect configuration. + */ + readonly openIdConnectConfig?: outputs.appsync.GraphQlApiOpenIdConnectConfig; + /** + * The owner contact information for an API resource. + */ + readonly ownerContact?: string; + /** + * The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + */ + readonly queryDepthLimit?: number; + /** + * The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + */ + readonly realtimeDns?: string; + /** + * The GraphQL API real-time endpoint URL. + */ + readonly realtimeUrl?: string; + /** + * The maximum number of resolvers that can be invoked in a single request. + */ + readonly resolverCountLimit?: number; + /** + * An arbitrary set of tags (key-value pairs) for this GraphQL API. + */ + readonly tags?: outputs.Tag[]; + /** + * Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + */ + readonly userPoolConfig?: outputs.appsync.GraphQlApiUserPoolConfig; + /** + * Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + */ + readonly visibility?: string; + /** + * A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + */ + readonly xrayEnabled?: boolean; +} +/** + * Resource Type definition for AWS::AppSync::GraphQLApi + */ +export function getGraphQlApiOutput(args: GetGraphQlApiOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:appsync:getGraphQlApi", { + "apiId": args.apiId, + }, opts); +} + +export interface GetGraphQlApiOutputArgs { + /** + * Unique AWS AppSync GraphQL API identifier. + */ + apiId: pulumi.Input; +} diff --git a/sdk/nodejs/appsync/graphQlApi.ts b/sdk/nodejs/appsync/graphQlApi.ts new file mode 100644 index 0000000000..31182a3eeb --- /dev/null +++ b/sdk/nodejs/appsync/graphQlApi.ts @@ -0,0 +1,288 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::AppSync::GraphQLApi + */ +export class GraphQlApi extends pulumi.CustomResource { + /** + * Get an existing GraphQlApi 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): GraphQlApi { + return new GraphQlApi(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:appsync:GraphQlApi'; + + /** + * Returns true if the given object is an instance of GraphQlApi. 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 GraphQlApi { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === GraphQlApi.__pulumiType; + } + + /** + * A list of additional authentication providers for the GraphqlApi API. + */ + public readonly additionalAuthenticationProviders!: pulumi.Output; + /** + * Unique AWS AppSync GraphQL API identifier. + */ + public /*out*/ readonly apiId!: pulumi.Output; + /** + * The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + */ + public readonly apiType!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the API key + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Security configuration for your GraphQL API + */ + public readonly authenticationType!: pulumi.Output; + /** + * Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + */ + public readonly enhancedMetricsConfig!: pulumi.Output; + /** + * A map containing the list of resources with their properties and environment variables. + */ + public readonly environmentVariables!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + */ + public /*out*/ readonly graphQlDns!: pulumi.Output; + /** + * The GraphQL endpoint ARN. + */ + public /*out*/ readonly graphQlEndpointArn!: pulumi.Output; + /** + * The Endpoint URL of your GraphQL API. + */ + public /*out*/ readonly graphQlUrl!: pulumi.Output; + /** + * Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + */ + public readonly introspectionConfig!: pulumi.Output; + /** + * A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + */ + public readonly lambdaAuthorizerConfig!: pulumi.Output; + /** + * The Amazon CloudWatch Logs configuration. + */ + public readonly logConfig!: pulumi.Output; + /** + * The AWS Identity and Access Management service role ARN for a merged API. + */ + public readonly mergedApiExecutionRoleArn!: pulumi.Output; + /** + * The API name + */ + public readonly name!: pulumi.Output; + /** + * The OpenID Connect configuration. + */ + public readonly openIdConnectConfig!: pulumi.Output; + /** + * The owner contact information for an API resource. + */ + public readonly ownerContact!: pulumi.Output; + /** + * The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + */ + public readonly queryDepthLimit!: pulumi.Output; + /** + * The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + */ + public /*out*/ readonly realtimeDns!: pulumi.Output; + /** + * The GraphQL API real-time endpoint URL. + */ + public /*out*/ readonly realtimeUrl!: pulumi.Output; + /** + * The maximum number of resolvers that can be invoked in a single request. + */ + public readonly resolverCountLimit!: pulumi.Output; + /** + * An arbitrary set of tags (key-value pairs) for this GraphQL API. + */ + public readonly tags!: pulumi.Output; + /** + * Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + */ + public readonly userPoolConfig!: pulumi.Output; + /** + * Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + */ + public readonly visibility!: pulumi.Output; + /** + * A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + */ + public readonly xrayEnabled!: pulumi.Output; + + /** + * Create a GraphQlApi 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: GraphQlApiArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.authenticationType === undefined) && !opts.urn) { + throw new Error("Missing required property 'authenticationType'"); + } + resourceInputs["additionalAuthenticationProviders"] = args ? args.additionalAuthenticationProviders : undefined; + resourceInputs["apiType"] = args ? args.apiType : undefined; + resourceInputs["authenticationType"] = args ? args.authenticationType : undefined; + resourceInputs["enhancedMetricsConfig"] = args ? args.enhancedMetricsConfig : undefined; + resourceInputs["environmentVariables"] = args ? args.environmentVariables : undefined; + resourceInputs["introspectionConfig"] = args ? args.introspectionConfig : undefined; + resourceInputs["lambdaAuthorizerConfig"] = args ? args.lambdaAuthorizerConfig : undefined; + resourceInputs["logConfig"] = args ? args.logConfig : undefined; + resourceInputs["mergedApiExecutionRoleArn"] = args ? args.mergedApiExecutionRoleArn : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["openIdConnectConfig"] = args ? args.openIdConnectConfig : undefined; + resourceInputs["ownerContact"] = args ? args.ownerContact : undefined; + resourceInputs["queryDepthLimit"] = args ? args.queryDepthLimit : undefined; + resourceInputs["resolverCountLimit"] = args ? args.resolverCountLimit : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userPoolConfig"] = args ? args.userPoolConfig : undefined; + resourceInputs["visibility"] = args ? args.visibility : undefined; + resourceInputs["xrayEnabled"] = args ? args.xrayEnabled : undefined; + resourceInputs["apiId"] = undefined /*out*/; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["graphQlDns"] = undefined /*out*/; + resourceInputs["graphQlEndpointArn"] = undefined /*out*/; + resourceInputs["graphQlUrl"] = undefined /*out*/; + resourceInputs["realtimeDns"] = undefined /*out*/; + resourceInputs["realtimeUrl"] = undefined /*out*/; + } else { + resourceInputs["additionalAuthenticationProviders"] = undefined /*out*/; + resourceInputs["apiId"] = undefined /*out*/; + resourceInputs["apiType"] = undefined /*out*/; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["authenticationType"] = undefined /*out*/; + resourceInputs["enhancedMetricsConfig"] = undefined /*out*/; + resourceInputs["environmentVariables"] = undefined /*out*/; + resourceInputs["graphQlDns"] = undefined /*out*/; + resourceInputs["graphQlEndpointArn"] = undefined /*out*/; + resourceInputs["graphQlUrl"] = undefined /*out*/; + resourceInputs["introspectionConfig"] = undefined /*out*/; + resourceInputs["lambdaAuthorizerConfig"] = undefined /*out*/; + resourceInputs["logConfig"] = undefined /*out*/; + resourceInputs["mergedApiExecutionRoleArn"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["openIdConnectConfig"] = undefined /*out*/; + resourceInputs["ownerContact"] = undefined /*out*/; + resourceInputs["queryDepthLimit"] = undefined /*out*/; + resourceInputs["realtimeDns"] = undefined /*out*/; + resourceInputs["realtimeUrl"] = undefined /*out*/; + resourceInputs["resolverCountLimit"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["userPoolConfig"] = undefined /*out*/; + resourceInputs["visibility"] = undefined /*out*/; + resourceInputs["xrayEnabled"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(GraphQlApi.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a GraphQlApi resource. + */ +export interface GraphQlApiArgs { + /** + * A list of additional authentication providers for the GraphqlApi API. + */ + additionalAuthenticationProviders?: pulumi.Input[]>; + /** + * The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + */ + apiType?: pulumi.Input; + /** + * Security configuration for your GraphQL API + */ + authenticationType: pulumi.Input; + /** + * Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + */ + enhancedMetricsConfig?: pulumi.Input; + /** + * A map containing the list of resources with their properties and environment variables. + */ + environmentVariables?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + */ + introspectionConfig?: pulumi.Input; + /** + * A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + */ + lambdaAuthorizerConfig?: pulumi.Input; + /** + * The Amazon CloudWatch Logs configuration. + */ + logConfig?: pulumi.Input; + /** + * The AWS Identity and Access Management service role ARN for a merged API. + */ + mergedApiExecutionRoleArn?: pulumi.Input; + /** + * The API name + */ + name?: pulumi.Input; + /** + * The OpenID Connect configuration. + */ + openIdConnectConfig?: pulumi.Input; + /** + * The owner contact information for an API resource. + */ + ownerContact?: pulumi.Input; + /** + * The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + */ + queryDepthLimit?: pulumi.Input; + /** + * The maximum number of resolvers that can be invoked in a single request. + */ + resolverCountLimit?: pulumi.Input; + /** + * An arbitrary set of tags (key-value pairs) for this GraphQL API. + */ + tags?: pulumi.Input[]>; + /** + * Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + */ + userPoolConfig?: pulumi.Input; + /** + * Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + */ + visibility?: pulumi.Input; + /** + * A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + */ + xrayEnabled?: pulumi.Input; +} diff --git a/sdk/nodejs/appsync/index.ts b/sdk/nodejs/appsync/index.ts index 549f9c9e5a..f1d3e63878 100644 --- a/sdk/nodejs/appsync/index.ts +++ b/sdk/nodejs/appsync/index.ts @@ -45,6 +45,11 @@ export const getFunctionConfiguration: typeof import("./getFunctionConfiguration export const getFunctionConfigurationOutput: typeof import("./getFunctionConfiguration").getFunctionConfigurationOutput = null as any; utilities.lazyLoad(exports, ["getFunctionConfiguration","getFunctionConfigurationOutput"], () => require("./getFunctionConfiguration")); +export { GetGraphQlApiArgs, GetGraphQlApiResult, GetGraphQlApiOutputArgs } from "./getGraphQlApi"; +export const getGraphQlApi: typeof import("./getGraphQlApi").getGraphQlApi = null as any; +export const getGraphQlApiOutput: typeof import("./getGraphQlApi").getGraphQlApiOutput = null as any; +utilities.lazyLoad(exports, ["getGraphQlApi","getGraphQlApiOutput"], () => require("./getGraphQlApi")); + export { GetResolverArgs, GetResolverResult, GetResolverOutputArgs } from "./getResolver"; export const getResolver: typeof import("./getResolver").getResolver = null as any; export const getResolverOutput: typeof import("./getResolver").getResolverOutput = null as any; @@ -55,6 +60,11 @@ export const getSourceApiAssociation: typeof import("./getSourceApiAssociation") export const getSourceApiAssociationOutput: typeof import("./getSourceApiAssociation").getSourceApiAssociationOutput = null as any; utilities.lazyLoad(exports, ["getSourceApiAssociation","getSourceApiAssociationOutput"], () => require("./getSourceApiAssociation")); +export { GraphQlApiArgs } from "./graphQlApi"; +export type GraphQlApi = import("./graphQlApi").GraphQlApi; +export const GraphQlApi: typeof import("./graphQlApi").GraphQlApi = null as any; +utilities.lazyLoad(exports, ["GraphQlApi"], () => require("./graphQlApi")); + export { ResolverArgs } from "./resolver"; export type Resolver = import("./resolver").Resolver; export const Resolver: typeof import("./resolver").Resolver = null as any; @@ -81,6 +91,8 @@ const _module = { return new DomainNameApiAssociation(name, undefined, { urn }) case "aws-native:appsync:FunctionConfiguration": return new FunctionConfiguration(name, undefined, { urn }) + case "aws-native:appsync:GraphQlApi": + return new GraphQlApi(name, undefined, { urn }) case "aws-native:appsync:Resolver": return new Resolver(name, undefined, { urn }) case "aws-native:appsync:SourceApiAssociation": diff --git a/sdk/nodejs/autoscaling/autoScalingGroup.ts b/sdk/nodejs/autoscaling/autoScalingGroup.ts index 0be9f1e83d..dc1853adb0 100644 --- a/sdk/nodejs/autoscaling/autoScalingGroup.ts +++ b/sdk/nodejs/autoscaling/autoScalingGroup.ts @@ -175,6 +175,9 @@ export class AutoScalingGroup extends pulumi.CustomResource { * Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` */ public readonly terminationPolicies!: pulumi.Output; + /** + * The traffic sources associated with this Auto Scaling group. + */ public readonly trafficSources!: pulumi.Output; /** * A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. @@ -411,6 +414,9 @@ export interface AutoScalingGroupArgs { * Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` */ terminationPolicies?: pulumi.Input[]>; + /** + * The traffic sources associated with this Auto Scaling group. + */ trafficSources?: pulumi.Input[]>; /** * A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. diff --git a/sdk/nodejs/autoscaling/getAutoScalingGroup.ts b/sdk/nodejs/autoscaling/getAutoScalingGroup.ts index 44c9f36ef2..e5562755b9 100644 --- a/sdk/nodejs/autoscaling/getAutoScalingGroup.ts +++ b/sdk/nodejs/autoscaling/getAutoScalingGroup.ts @@ -154,6 +154,9 @@ export interface GetAutoScalingGroupResult { * Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` */ readonly terminationPolicies?: string[]; + /** + * The traffic sources associated with this Auto Scaling group. + */ readonly trafficSources?: outputs.autoscaling.AutoScalingGroupTrafficSourceIdentifier[]; /** * A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. diff --git a/sdk/nodejs/ec2/capacityReservation.ts b/sdk/nodejs/ec2/capacityReservation.ts index 1332f613d7..8241661183 100644 --- a/sdk/nodejs/ec2/capacityReservation.ts +++ b/sdk/nodejs/ec2/capacityReservation.ts @@ -118,6 +118,9 @@ export class CapacityReservation extends pulumi.CustomResource { * Returns the total number of instances for which the Capacity Reservation reserves capacity. For example: `15` . */ public /*out*/ readonly totalInstanceCount!: pulumi.Output; + /** + * The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. + */ public readonly unusedReservationBillingOwnerId!: pulumi.Output; /** @@ -259,5 +262,8 @@ export interface CapacityReservationArgs { * - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . */ tenancy?: pulumi.Input; + /** + * The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. + */ unusedReservationBillingOwnerId?: pulumi.Input; } diff --git a/sdk/nodejs/eks/cluster.ts b/sdk/nodejs/eks/cluster.ts index 275d699283..7c8dfb6162 100644 --- a/sdk/nodejs/eks/cluster.ts +++ b/sdk/nodejs/eks/cluster.ts @@ -115,6 +115,9 @@ export class Cluster extends pulumi.CustomResource { * The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. */ public readonly version!: pulumi.Output; + /** + * The configuration for zonal shift for the cluster. + */ public readonly zonalShiftConfig!: pulumi.Output; /** @@ -237,5 +240,8 @@ export interface ClusterArgs { * The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. */ version?: pulumi.Input; + /** + * The configuration for zonal shift for the cluster. + */ zonalShiftConfig?: pulumi.Input; } diff --git a/sdk/nodejs/eks/getCluster.ts b/sdk/nodejs/eks/getCluster.ts index d979bf4a62..b71517e50e 100644 --- a/sdk/nodejs/eks/getCluster.ts +++ b/sdk/nodejs/eks/getCluster.ts @@ -79,6 +79,9 @@ export interface GetClusterResult { * The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. */ readonly version?: string; + /** + * The configuration for zonal shift for the cluster. + */ readonly zonalShiftConfig?: outputs.eks.ClusterZonalShiftConfig; } /** diff --git a/sdk/nodejs/iot/domainConfiguration.ts b/sdk/nodejs/iot/domainConfiguration.ts index 8fac11b8f4..f8f1c3aca9 100644 --- a/sdk/nodejs/iot/domainConfiguration.ts +++ b/sdk/nodejs/iot/domainConfiguration.ts @@ -39,8 +39,6 @@ export class DomainConfiguration extends pulumi.CustomResource { /** * An enumerated string that specifies the application-layer protocol. - * - * > This property isn't available in China. */ public readonly applicationProtocol!: pulumi.Output; /** @@ -49,8 +47,6 @@ export class DomainConfiguration extends pulumi.CustomResource { public /*out*/ readonly arn!: pulumi.Output; /** * An enumerated string that specifies the authentication type. - * - * > This property isn't available in China. */ public readonly authenticationType!: pulumi.Output; /** @@ -59,8 +55,6 @@ export class DomainConfiguration extends pulumi.CustomResource { public readonly authorizerConfig!: pulumi.Output; /** * An object that specifies the client certificate configuration for a domain. - * - * > This property isn't available in China. */ public readonly clientCertificateConfig!: pulumi.Output; /** @@ -178,14 +172,10 @@ export class DomainConfiguration extends pulumi.CustomResource { export interface DomainConfigurationArgs { /** * An enumerated string that specifies the application-layer protocol. - * - * > This property isn't available in China. */ applicationProtocol?: pulumi.Input; /** * An enumerated string that specifies the authentication type. - * - * > This property isn't available in China. */ authenticationType?: pulumi.Input; /** @@ -194,8 +184,6 @@ export interface DomainConfigurationArgs { authorizerConfig?: pulumi.Input; /** * An object that specifies the client certificate configuration for a domain. - * - * > This property isn't available in China. */ clientCertificateConfig?: pulumi.Input; /** diff --git a/sdk/nodejs/iot/getDomainConfiguration.ts b/sdk/nodejs/iot/getDomainConfiguration.ts index 4a9a55bee7..99c243e7d6 100644 --- a/sdk/nodejs/iot/getDomainConfiguration.ts +++ b/sdk/nodejs/iot/getDomainConfiguration.ts @@ -27,8 +27,6 @@ export interface GetDomainConfigurationArgs { export interface GetDomainConfigurationResult { /** * An enumerated string that specifies the application-layer protocol. - * - * > This property isn't available in China. */ readonly applicationProtocol?: enums.iot.DomainConfigurationApplicationProtocol; /** @@ -37,8 +35,6 @@ export interface GetDomainConfigurationResult { readonly arn?: string; /** * An enumerated string that specifies the authentication type. - * - * > This property isn't available in China. */ readonly authenticationType?: enums.iot.DomainConfigurationAuthenticationType; /** @@ -47,8 +43,6 @@ export interface GetDomainConfigurationResult { readonly authorizerConfig?: outputs.iot.DomainConfigurationAuthorizerConfig; /** * An object that specifies the client certificate configuration for a domain. - * - * > This property isn't available in China. */ readonly clientCertificateConfig?: outputs.iot.DomainConfigurationClientCertificateConfig; /** diff --git a/sdk/nodejs/iot/getSoftwarePackageVersion.ts b/sdk/nodejs/iot/getSoftwarePackageVersion.ts index c5667a209b..3d22b0469a 100644 --- a/sdk/nodejs/iot/getSoftwarePackageVersion.ts +++ b/sdk/nodejs/iot/getSoftwarePackageVersion.ts @@ -19,12 +19,26 @@ export function getSoftwarePackageVersion(args: GetSoftwarePackageVersionArgs, o } export interface GetSoftwarePackageVersionArgs { + /** + * The name of the associated software package. + */ packageName: string; + /** + * The name of the new package version. + */ versionName: string; } export interface GetSoftwarePackageVersionResult { + /** + * Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + * + * The combined size of all the attributes on a package version is limited to 3KB. + */ readonly attributes?: {[key: string]: string}; + /** + * A summary of the package version being created. This can be used to outline the package's contents or purpose. + */ readonly description?: string; /** * Error reason for a package version failure during creation or update. @@ -55,6 +69,12 @@ export function getSoftwarePackageVersionOutput(args: GetSoftwarePackageVersionO } export interface GetSoftwarePackageVersionOutputArgs { + /** + * The name of the associated software package. + */ packageName: pulumi.Input; + /** + * The name of the new package version. + */ versionName: pulumi.Input; } diff --git a/sdk/nodejs/iot/softwarePackageVersion.ts b/sdk/nodejs/iot/softwarePackageVersion.ts index 460cb4790c..685c86bc0b 100644 --- a/sdk/nodejs/iot/softwarePackageVersion.ts +++ b/sdk/nodejs/iot/softwarePackageVersion.ts @@ -37,12 +37,23 @@ export class SoftwarePackageVersion extends pulumi.CustomResource { return obj['__pulumiType'] === SoftwarePackageVersion.__pulumiType; } + /** + * Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + * + * The combined size of all the attributes on a package version is limited to 3KB. + */ public readonly attributes!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A summary of the package version being created. This can be used to outline the package's contents or purpose. + */ public readonly description!: pulumi.Output; /** * Error reason for a package version failure during creation or update. */ public /*out*/ readonly errorReason!: pulumi.Output; + /** + * The name of the associated software package. + */ public readonly packageName!: pulumi.Output; /** * The Amazon Resource Name (ARN) for the package. @@ -56,6 +67,9 @@ export class SoftwarePackageVersion extends pulumi.CustomResource { * An array of key-value pairs to apply to this resource. */ public readonly tags!: pulumi.Output; + /** + * The name of the new package version. + */ public readonly versionName!: pulumi.Output; /** @@ -101,12 +115,26 @@ export class SoftwarePackageVersion extends pulumi.CustomResource { * The set of arguments for constructing a SoftwarePackageVersion resource. */ export interface SoftwarePackageVersionArgs { + /** + * Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + * + * The combined size of all the attributes on a package version is limited to 3KB. + */ attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A summary of the package version being created. This can be used to outline the package's contents or purpose. + */ description?: pulumi.Input; + /** + * The name of the associated software package. + */ packageName: pulumi.Input; /** * An array of key-value pairs to apply to this resource. */ tags?: pulumi.Input[]>; + /** + * The name of the new package version. + */ versionName?: pulumi.Input; } diff --git a/sdk/nodejs/qbusiness/dataSource.ts b/sdk/nodejs/qbusiness/dataSource.ts index 563af6aabb..a72c3bccb9 100644 --- a/sdk/nodejs/qbusiness/dataSource.ts +++ b/sdk/nodejs/qbusiness/dataSource.ts @@ -42,17 +42,17 @@ export class DataSource extends pulumi.CustomResource { */ public readonly applicationId!: pulumi.Output; /** - * Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + * Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . * - * Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + * The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: * - * - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - * - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + * - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + * - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) * - * You can find configuration templates for your specific data source using the following steps: + * Similarly, you can find configuration templates and properties for your specific data source using the following steps: * - * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - * - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + * - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. */ @@ -191,17 +191,17 @@ export interface DataSourceArgs { */ applicationId: pulumi.Input; /** - * Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + * Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . * - * Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + * The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: * - * - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - * - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + * - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + * - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) * - * You can find configuration templates for your specific data source using the following steps: + * Similarly, you can find configuration templates and properties for your specific data source using the following steps: * - * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - * - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + * - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. */ diff --git a/sdk/nodejs/qbusiness/getDataSource.ts b/sdk/nodejs/qbusiness/getDataSource.ts index 49dfd35535..5a938cceee 100644 --- a/sdk/nodejs/qbusiness/getDataSource.ts +++ b/sdk/nodejs/qbusiness/getDataSource.ts @@ -36,17 +36,17 @@ export interface GetDataSourceArgs { export interface GetDataSourceResult { /** - * Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + * Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . * - * Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + * The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: * - * - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - * - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + * - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + * - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) * - * You can find configuration templates for your specific data source using the following steps: + * Similarly, you can find configuration templates and properties for your specific data source using the following steps: * - * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - * - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + * - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. */ diff --git a/sdk/nodejs/redshift/integration.ts b/sdk/nodejs/redshift/integration.ts index 8fef396ce9..ab20021e56 100644 --- a/sdk/nodejs/redshift/integration.ts +++ b/sdk/nodejs/redshift/integration.ts @@ -37,6 +37,9 @@ export class Integration extends pulumi.CustomResource { return obj['__pulumiType'] === Integration.__pulumiType; } + /** + * The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . + */ public readonly additionalEncryptionContext!: pulumi.Output<{[key: string]: string} | undefined>; /** * The time (UTC) when the integration was created. @@ -113,6 +116,9 @@ export class Integration extends pulumi.CustomResource { * The set of arguments for constructing a Integration resource. */ export interface IntegrationArgs { + /** + * The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . + */ additionalEncryptionContext?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The name of the integration. diff --git a/sdk/nodejs/refactorspaces/environment.ts b/sdk/nodejs/refactorspaces/environment.ts index 20669439c2..86655e8f6a 100644 --- a/sdk/nodejs/refactorspaces/environment.ts +++ b/sdk/nodejs/refactorspaces/environment.ts @@ -52,11 +52,11 @@ export class Environment extends pulumi.CustomResource { /** * The name of the environment. */ - public readonly name!: pulumi.Output; + public readonly name!: pulumi.Output; /** * The network fabric type of the environment. */ - public readonly networkFabricType!: pulumi.Output; + public readonly networkFabricType!: pulumi.Output; /** * Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. */ @@ -73,13 +73,10 @@ export class Environment extends pulumi.CustomResource { * @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: EnvironmentArgs, opts?: pulumi.CustomResourceOptions) { + constructor(name: string, args?: EnvironmentArgs, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { - if ((!args || args.networkFabricType === undefined) && !opts.urn) { - throw new Error("Missing required property 'networkFabricType'"); - } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkFabricType"] = args ? args.networkFabricType : undefined; @@ -118,7 +115,7 @@ export interface EnvironmentArgs { /** * The network fabric type of the environment. */ - networkFabricType: pulumi.Input; + networkFabricType?: pulumi.Input; /** * Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. */ diff --git a/sdk/nodejs/route53/getRecordSet.ts b/sdk/nodejs/route53/getRecordSet.ts new file mode 100644 index 0000000000..4be34d0af5 --- /dev/null +++ b/sdk/nodejs/route53/getRecordSet.ts @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::Route53::RecordSet. + */ +export function getRecordSet(args: GetRecordSetArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:route53:getRecordSet", { + "hostedZoneId": args.hostedZoneId, + "name": args.name, + "setIdentifier": args.setIdentifier, + "type": args.type, + }, opts); +} + +export interface GetRecordSetArgs { + /** + * The ID of the hosted zone that you want to create records in. + */ + hostedZoneId: string; + /** + * The name of the record that you want to create, update, or delete. + */ + name: string; + /** + * An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + */ + setIdentifier: string; + /** + * The DNS record type. + */ + type: string; +} + +export interface GetRecordSetResult { + /** + * Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + */ + readonly aliasTarget?: outputs.route53.RecordSetAliasTarget; + /** + * The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + */ + readonly cidrRoutingConfig?: outputs.route53.RecordSetCidrRoutingConfig; + /** + * To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + */ + readonly failover?: enums.route53.RecordSetFailover; + /** + * A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + */ + readonly geoLocation?: outputs.route53.RecordSetGeoLocation; + /** + * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + */ + readonly healthCheckId?: string; + /** + * To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + */ + readonly multiValueAnswer?: boolean; + /** + * The name of the record that you want to create, update, or delete. + */ + readonly name?: string; + /** + * The Amazon EC2 Region where you created the resource that this resource record set refers to. + */ + readonly region?: string; + /** + * One or more values that correspond with the value that you specified for the Type property. + */ + readonly resourceRecords?: string[]; + /** + * An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + */ + readonly setIdentifier?: string; + /** + * The resource record cache time to live (TTL), in seconds. + */ + readonly ttl?: string; + /** + * The DNS record type. + */ + readonly type?: string; + /** + * Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + */ + readonly weight?: number; +} +/** + * Resource Type definition for AWS::Route53::RecordSet. + */ +export function getRecordSetOutput(args: GetRecordSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:route53:getRecordSet", { + "hostedZoneId": args.hostedZoneId, + "name": args.name, + "setIdentifier": args.setIdentifier, + "type": args.type, + }, opts); +} + +export interface GetRecordSetOutputArgs { + /** + * The ID of the hosted zone that you want to create records in. + */ + hostedZoneId: pulumi.Input; + /** + * The name of the record that you want to create, update, or delete. + */ + name: pulumi.Input; + /** + * An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + */ + setIdentifier: pulumi.Input; + /** + * The DNS record type. + */ + type: pulumi.Input; +} diff --git a/sdk/nodejs/route53/index.ts b/sdk/nodejs/route53/index.ts index 6150bbc098..5ac8916bf5 100644 --- a/sdk/nodejs/route53/index.ts +++ b/sdk/nodejs/route53/index.ts @@ -35,6 +35,11 @@ export const getKeySigningKey: typeof import("./getKeySigningKey").getKeySigning export const getKeySigningKeyOutput: typeof import("./getKeySigningKey").getKeySigningKeyOutput = null as any; utilities.lazyLoad(exports, ["getKeySigningKey","getKeySigningKeyOutput"], () => require("./getKeySigningKey")); +export { GetRecordSetArgs, GetRecordSetResult, GetRecordSetOutputArgs } from "./getRecordSet"; +export const getRecordSet: typeof import("./getRecordSet").getRecordSet = null as any; +export const getRecordSetOutput: typeof import("./getRecordSet").getRecordSetOutput = null as any; +utilities.lazyLoad(exports, ["getRecordSet","getRecordSetOutput"], () => require("./getRecordSet")); + export { HealthCheckArgs } from "./healthCheck"; export type HealthCheck = import("./healthCheck").HealthCheck; export const HealthCheck: typeof import("./healthCheck").HealthCheck = null as any; @@ -50,6 +55,11 @@ export type KeySigningKey = import("./keySigningKey").KeySigningKey; export const KeySigningKey: typeof import("./keySigningKey").KeySigningKey = null as any; utilities.lazyLoad(exports, ["KeySigningKey"], () => require("./keySigningKey")); +export { RecordSetArgs } from "./recordSet"; +export type RecordSet = import("./recordSet").RecordSet; +export const RecordSet: typeof import("./recordSet").RecordSet = null as any; +utilities.lazyLoad(exports, ["RecordSet"], () => require("./recordSet")); + // Export enums: export * from "../types/enums/route53"; @@ -68,6 +78,8 @@ const _module = { return new HostedZone(name, undefined, { urn }) case "aws-native:route53:KeySigningKey": return new KeySigningKey(name, undefined, { urn }) + case "aws-native:route53:RecordSet": + return new RecordSet(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } diff --git a/sdk/nodejs/route53/recordSet.ts b/sdk/nodejs/route53/recordSet.ts new file mode 100644 index 0000000000..c74f681f42 --- /dev/null +++ b/sdk/nodejs/route53/recordSet.ts @@ -0,0 +1,228 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::Route53::RecordSet. + */ +export class RecordSet extends pulumi.CustomResource { + /** + * Get an existing RecordSet 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): RecordSet { + return new RecordSet(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:route53:RecordSet'; + + /** + * Returns true if the given object is an instance of RecordSet. 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 RecordSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RecordSet.__pulumiType; + } + + /** + * Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + */ + public readonly aliasTarget!: pulumi.Output; + /** + * The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + */ + public readonly cidrRoutingConfig!: pulumi.Output; + /** + * Optional: Any comments you want to include about a change batch request. + */ + public readonly comment!: pulumi.Output; + /** + * To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + */ + public readonly failover!: pulumi.Output; + /** + * A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + */ + public readonly geoLocation!: pulumi.Output; + /** + * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + */ + public readonly healthCheckId!: pulumi.Output; + /** + * The ID of the hosted zone that you want to create records in. + */ + public readonly hostedZoneId!: pulumi.Output; + /** + * The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + */ + public readonly hostedZoneName!: pulumi.Output; + /** + * To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + */ + public readonly multiValueAnswer!: pulumi.Output; + /** + * The name of the record that you want to create, update, or delete. + */ + public readonly name!: pulumi.Output; + /** + * The Amazon EC2 Region where you created the resource that this resource record set refers to. + */ + public readonly region!: pulumi.Output; + /** + * One or more values that correspond with the value that you specified for the Type property. + */ + public readonly resourceRecords!: pulumi.Output; + /** + * An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + */ + public readonly setIdentifier!: pulumi.Output; + /** + * The resource record cache time to live (TTL), in seconds. + */ + public readonly ttl!: pulumi.Output; + /** + * The DNS record type. + */ + public readonly type!: pulumi.Output; + /** + * Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + */ + public readonly weight!: pulumi.Output; + + /** + * Create a RecordSet 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: RecordSetArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + resourceInputs["aliasTarget"] = args ? args.aliasTarget : undefined; + resourceInputs["cidrRoutingConfig"] = args ? args.cidrRoutingConfig : undefined; + resourceInputs["comment"] = args ? args.comment : undefined; + resourceInputs["failover"] = args ? args.failover : undefined; + resourceInputs["geoLocation"] = args ? args.geoLocation : undefined; + resourceInputs["healthCheckId"] = args ? args.healthCheckId : undefined; + resourceInputs["hostedZoneId"] = args ? args.hostedZoneId : undefined; + resourceInputs["hostedZoneName"] = args ? args.hostedZoneName : undefined; + resourceInputs["multiValueAnswer"] = args ? args.multiValueAnswer : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["resourceRecords"] = args ? args.resourceRecords : undefined; + resourceInputs["setIdentifier"] = args ? args.setIdentifier : undefined; + resourceInputs["ttl"] = args ? args.ttl : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["weight"] = args ? args.weight : undefined; + } else { + resourceInputs["aliasTarget"] = undefined /*out*/; + resourceInputs["cidrRoutingConfig"] = undefined /*out*/; + resourceInputs["comment"] = undefined /*out*/; + resourceInputs["failover"] = undefined /*out*/; + resourceInputs["geoLocation"] = undefined /*out*/; + resourceInputs["healthCheckId"] = undefined /*out*/; + resourceInputs["hostedZoneId"] = undefined /*out*/; + resourceInputs["hostedZoneName"] = undefined /*out*/; + resourceInputs["multiValueAnswer"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["region"] = undefined /*out*/; + resourceInputs["resourceRecords"] = undefined /*out*/; + resourceInputs["setIdentifier"] = undefined /*out*/; + resourceInputs["ttl"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["weight"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["hostedZoneId", "hostedZoneName"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(RecordSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a RecordSet resource. + */ +export interface RecordSetArgs { + /** + * Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + */ + aliasTarget?: pulumi.Input; + /** + * The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + */ + cidrRoutingConfig?: pulumi.Input; + /** + * Optional: Any comments you want to include about a change batch request. + */ + comment?: pulumi.Input; + /** + * To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + */ + failover?: pulumi.Input; + /** + * A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + */ + geoLocation?: pulumi.Input; + /** + * If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + */ + healthCheckId?: pulumi.Input; + /** + * The ID of the hosted zone that you want to create records in. + */ + hostedZoneId?: pulumi.Input; + /** + * The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + */ + hostedZoneName?: pulumi.Input; + /** + * To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + */ + multiValueAnswer?: pulumi.Input; + /** + * The name of the record that you want to create, update, or delete. + */ + name?: pulumi.Input; + /** + * The Amazon EC2 Region where you created the resource that this resource record set refers to. + */ + region?: pulumi.Input; + /** + * One or more values that correspond with the value that you specified for the Type property. + */ + resourceRecords?: pulumi.Input[]>; + /** + * An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + */ + setIdentifier?: pulumi.Input; + /** + * The resource record cache time to live (TTL), in seconds. + */ + ttl?: pulumi.Input; + /** + * The DNS record type. + */ + type: pulumi.Input; + /** + * Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + */ + weight?: pulumi.Input; +} diff --git a/sdk/nodejs/sagemaker/endpoint.ts b/sdk/nodejs/sagemaker/endpoint.ts new file mode 100644 index 0000000000..91f5fdf439 --- /dev/null +++ b/sdk/nodejs/sagemaker/endpoint.ts @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::SageMaker::Endpoint + */ +export class Endpoint extends pulumi.CustomResource { + /** + * Get an existing Endpoint 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Endpoint { + return new Endpoint(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:sagemaker:Endpoint'; + + /** + * Returns true if the given object is an instance of Endpoint. 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 Endpoint { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Endpoint.__pulumiType; + } + + /** + * Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + */ + public readonly deploymentConfig!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the endpoint. + */ + public /*out*/ readonly endpointArn!: pulumi.Output; + /** + * The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + */ + public readonly endpointConfigName!: pulumi.Output; + /** + * The name of the SageMaker endpoint. This name must be unique within an AWS Region. + */ + public readonly endpointName!: pulumi.Output; + /** + * Specifies a list of variant properties that you want to exclude when updating an endpoint. + */ + public readonly excludeRetainedVariantProperties!: pulumi.Output; + /** + * When set to true, retains all variant properties for an endpoint when it is updated. + */ + public readonly retainAllVariantProperties!: pulumi.Output; + /** + * When set to true, retains the deployment configuration during endpoint updates. + */ + public readonly retainDeploymentConfig!: pulumi.Output; + /** + * An array of key-value pairs to apply to this resource. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a Endpoint 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: EndpointArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.endpointConfigName === undefined) && !opts.urn) { + throw new Error("Missing required property 'endpointConfigName'"); + } + resourceInputs["deploymentConfig"] = args ? args.deploymentConfig : undefined; + resourceInputs["endpointConfigName"] = args ? args.endpointConfigName : undefined; + resourceInputs["endpointName"] = args ? args.endpointName : undefined; + resourceInputs["excludeRetainedVariantProperties"] = args ? args.excludeRetainedVariantProperties : undefined; + resourceInputs["retainAllVariantProperties"] = args ? args.retainAllVariantProperties : undefined; + resourceInputs["retainDeploymentConfig"] = args ? args.retainDeploymentConfig : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["endpointArn"] = undefined /*out*/; + } else { + resourceInputs["deploymentConfig"] = undefined /*out*/; + resourceInputs["endpointArn"] = undefined /*out*/; + resourceInputs["endpointConfigName"] = undefined /*out*/; + resourceInputs["endpointName"] = undefined /*out*/; + resourceInputs["excludeRetainedVariantProperties"] = undefined /*out*/; + resourceInputs["retainAllVariantProperties"] = undefined /*out*/; + resourceInputs["retainDeploymentConfig"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["endpointName"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Endpoint.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Endpoint resource. + */ +export interface EndpointArgs { + /** + * Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + */ + deploymentConfig?: pulumi.Input; + /** + * The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + */ + endpointConfigName: pulumi.Input; + /** + * The name of the SageMaker endpoint. This name must be unique within an AWS Region. + */ + endpointName?: pulumi.Input; + /** + * Specifies a list of variant properties that you want to exclude when updating an endpoint. + */ + excludeRetainedVariantProperties?: pulumi.Input[]>; + /** + * When set to true, retains all variant properties for an endpoint when it is updated. + */ + retainAllVariantProperties?: pulumi.Input; + /** + * When set to true, retains the deployment configuration during endpoint updates. + */ + retainDeploymentConfig?: pulumi.Input; + /** + * An array of key-value pairs to apply to this resource. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/sagemaker/getEndpoint.ts b/sdk/nodejs/sagemaker/getEndpoint.ts new file mode 100644 index 0000000000..97f677fead --- /dev/null +++ b/sdk/nodejs/sagemaker/getEndpoint.ts @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::SageMaker::Endpoint + */ +export function getEndpoint(args: GetEndpointArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:sagemaker:getEndpoint", { + "endpointArn": args.endpointArn, + }, opts); +} + +export interface GetEndpointArgs { + /** + * The Amazon Resource Name (ARN) of the endpoint. + */ + endpointArn: string; +} + +export interface GetEndpointResult { + /** + * Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + */ + readonly deploymentConfig?: outputs.sagemaker.EndpointDeploymentConfig; + /** + * The Amazon Resource Name (ARN) of the endpoint. + */ + readonly endpointArn?: string; + /** + * The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + */ + readonly endpointConfigName?: string; + /** + * An array of key-value pairs to apply to this resource. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Resource Type definition for AWS::SageMaker::Endpoint + */ +export function getEndpointOutput(args: GetEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:sagemaker:getEndpoint", { + "endpointArn": args.endpointArn, + }, opts); +} + +export interface GetEndpointOutputArgs { + /** + * The Amazon Resource Name (ARN) of the endpoint. + */ + endpointArn: pulumi.Input; +} diff --git a/sdk/nodejs/sagemaker/index.ts b/sdk/nodejs/sagemaker/index.ts index 9983b47d3a..cf12d4faeb 100644 --- a/sdk/nodejs/sagemaker/index.ts +++ b/sdk/nodejs/sagemaker/index.ts @@ -40,6 +40,11 @@ export type Domain = import("./domain").Domain; export const Domain: typeof import("./domain").Domain = null as any; utilities.lazyLoad(exports, ["Domain"], () => require("./domain")); +export { EndpointArgs } from "./endpoint"; +export type Endpoint = import("./endpoint").Endpoint; +export const Endpoint: typeof import("./endpoint").Endpoint = null as any; +utilities.lazyLoad(exports, ["Endpoint"], () => require("./endpoint")); + export { FeatureGroupArgs } from "./featureGroup"; export type FeatureGroup = import("./featureGroup").FeatureGroup; export const FeatureGroup: typeof import("./featureGroup").FeatureGroup = null as any; @@ -75,6 +80,11 @@ export const getDomain: typeof import("./getDomain").getDomain = null as any; export const getDomainOutput: typeof import("./getDomain").getDomainOutput = null as any; utilities.lazyLoad(exports, ["getDomain","getDomainOutput"], () => require("./getDomain")); +export { GetEndpointArgs, GetEndpointResult, GetEndpointOutputArgs } from "./getEndpoint"; +export const getEndpoint: typeof import("./getEndpoint").getEndpoint = null as any; +export const getEndpointOutput: typeof import("./getEndpoint").getEndpointOutput = null as any; +utilities.lazyLoad(exports, ["getEndpoint","getEndpointOutput"], () => require("./getEndpoint")); + export { GetFeatureGroupArgs, GetFeatureGroupResult, GetFeatureGroupOutputArgs } from "./getFeatureGroup"; export const getFeatureGroup: typeof import("./getFeatureGroup").getFeatureGroup = null as any; export const getFeatureGroupOutput: typeof import("./getFeatureGroup").getFeatureGroupOutput = null as any; @@ -272,6 +282,8 @@ const _module = { return new DeviceFleet(name, undefined, { urn }) case "aws-native:sagemaker:Domain": return new Domain(name, undefined, { urn }) + case "aws-native:sagemaker:Endpoint": + return new Endpoint(name, undefined, { urn }) case "aws-native:sagemaker:FeatureGroup": return new FeatureGroup(name, undefined, { urn }) case "aws-native:sagemaker:Image": diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index b125fccefc..de1d65b76d 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -175,8 +175,10 @@ "appsync/getDomainName.ts", "appsync/getDomainNameApiAssociation.ts", "appsync/getFunctionConfiguration.ts", + "appsync/getGraphQlApi.ts", "appsync/getResolver.ts", "appsync/getSourceApiAssociation.ts", + "appsync/graphQlApi.ts", "appsync/index.ts", "appsync/resolver.ts", "appsync/sourceApiAssociation.ts", @@ -1890,10 +1892,12 @@ "route53/getHealthCheck.ts", "route53/getHostedZone.ts", "route53/getKeySigningKey.ts", + "route53/getRecordSet.ts", "route53/healthCheck.ts", "route53/hostedZone.ts", "route53/index.ts", "route53/keySigningKey.ts", + "route53/recordSet.ts", "route53profiles/getProfile.ts", "route53profiles/getProfileAssociation.ts", "route53profiles/getProfileResourceAssociation.ts", @@ -1989,6 +1993,7 @@ "sagemaker/device.ts", "sagemaker/deviceFleet.ts", "sagemaker/domain.ts", + "sagemaker/endpoint.ts", "sagemaker/featureGroup.ts", "sagemaker/getApp.ts", "sagemaker/getAppImageConfig.ts", @@ -1996,6 +2001,7 @@ "sagemaker/getDataQualityJobDefinition.ts", "sagemaker/getDeviceFleet.ts", "sagemaker/getDomain.ts", + "sagemaker/getEndpoint.ts", "sagemaker/getFeatureGroup.ts", "sagemaker/getImage.ts", "sagemaker/getImageVersion.ts", diff --git a/sdk/nodejs/types/enums/bedrock/index.ts b/sdk/nodejs/types/enums/bedrock/index.ts index f357e340ed..7f049b6b21 100644 --- a/sdk/nodejs/types/enums/bedrock/index.ts +++ b/sdk/nodejs/types/enums/bedrock/index.ts @@ -4,6 +4,7 @@ export const AgentActionGroupSignature = { AmazonUserInput: "AMAZON.UserInput", + AmazonCodeInterpreter: "AMAZON.CodeInterpreter", } as const; /** diff --git a/sdk/nodejs/types/enums/ec2/index.ts b/sdk/nodejs/types/enums/ec2/index.ts index b4760dc26c..37dc5e4baf 100644 --- a/sdk/nodejs/types/enums/ec2/index.ts +++ b/sdk/nodejs/types/enums/ec2/index.ts @@ -818,9 +818,8 @@ export const VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat = { } as const; /** - * Set log format. Default format is `json` . - * - * Valid values: `json` | `text` + * Set log format. Default format is ``json``. + * Valid values: ``json`` | ``text`` */ export type VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat = (typeof VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat)[keyof typeof VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat]; @@ -889,11 +888,9 @@ export const VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction = { } as const; /** - * The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - * - * Valid Values: `clear` | `none` | `restart` - * - * Default: `clear` + * The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + * Valid Values: ``clear`` | ``none`` | ``restart`` + * Default: ``clear`` */ export type VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction = (typeof VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction)[keyof typeof VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction]; @@ -903,10 +900,8 @@ export const VpnConnectionVpnTunnelOptionsSpecificationStartupAction = { } as const; /** - * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - * - * Valid Values: `add` | `start` - * - * Default: `add` + * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + * Valid Values: ``add`` | ``start`` + * Default: ``add`` */ export type VpnConnectionVpnTunnelOptionsSpecificationStartupAction = (typeof VpnConnectionVpnTunnelOptionsSpecificationStartupAction)[keyof typeof VpnConnectionVpnTunnelOptionsSpecificationStartupAction]; diff --git a/sdk/nodejs/types/enums/iot/index.ts b/sdk/nodejs/types/enums/iot/index.ts index b054d72f4d..bd60b486dd 100644 --- a/sdk/nodejs/types/enums/iot/index.ts +++ b/sdk/nodejs/types/enums/iot/index.ts @@ -117,8 +117,6 @@ export const DomainConfigurationApplicationProtocol = { /** * An enumerated string that specifies the application-layer protocol. - * - * > This property isn't available in China. */ export type DomainConfigurationApplicationProtocol = (typeof DomainConfigurationApplicationProtocol)[keyof typeof DomainConfigurationApplicationProtocol]; @@ -132,8 +130,6 @@ export const DomainConfigurationAuthenticationType = { /** * An enumerated string that specifies the authentication type. - * - * > This property isn't available in China. */ export type DomainConfigurationAuthenticationType = (typeof DomainConfigurationAuthenticationType)[keyof typeof DomainConfigurationAuthenticationType]; diff --git a/sdk/nodejs/types/enums/route53/index.ts b/sdk/nodejs/types/enums/route53/index.ts index 14e1da083b..743f522b50 100644 --- a/sdk/nodejs/types/enums/route53/index.ts +++ b/sdk/nodejs/types/enums/route53/index.ts @@ -64,3 +64,10 @@ export const KeySigningKeyStatus = { * A string specifying the initial status of the key signing key (KSK). You can set the value to ACTIVE or INACTIVE. */ export type KeySigningKeyStatus = (typeof KeySigningKeyStatus)[keyof typeof KeySigningKeyStatus]; + +export const RecordSetFailover = { + Primary: "PRIMARY", + Secondary: "SECONDARY", +} as const; + +export type RecordSetFailover = (typeof RecordSetFailover)[keyof typeof RecordSetFailover]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 29f8b77ccc..038c5a5cfc 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -5626,6 +5626,123 @@ export namespace appsync { lambdaConflictHandlerConfig?: pulumi.Input; } + export interface GraphQlApiAdditionalAuthenticationProviderArgs { + /** + * The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + */ + authenticationType: pulumi.Input; + /** + * Configuration for AWS Lambda function authorization. + */ + lambdaAuthorizerConfig?: pulumi.Input; + /** + * The OIDC configuration. + */ + openIdConnectConfig?: pulumi.Input; + /** + * The Amazon Cognito user pool configuration. + */ + userPoolConfig?: pulumi.Input; + } + + export interface GraphQlApiCognitoUserPoolConfigArgs { + /** + * A regular expression for validating the incoming Amazon Cognito user pool app client ID. + */ + appIdClientRegex?: pulumi.Input; + /** + * The AWS Region in which the user pool was created. + */ + awsRegion?: pulumi.Input; + /** + * The user pool ID + */ + userPoolId?: pulumi.Input; + } + + export interface GraphQlApiEnhancedMetricsConfigArgs { + /** + * Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + */ + dataSourceLevelMetricsBehavior: pulumi.Input; + /** + * Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + */ + operationLevelMetricsConfig: pulumi.Input; + /** + * Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + */ + resolverLevelMetricsBehavior: pulumi.Input; + } + + export interface GraphQlApiLambdaAuthorizerConfigArgs { + /** + * The number of seconds a response should be cached for. + */ + authorizerResultTtlInSeconds?: pulumi.Input; + /** + * The ARN of the Lambda function to be called for authorization. + */ + authorizerUri?: pulumi.Input; + /** + * A regular expression for validation of tokens before the Lambda function is called. + */ + identityValidationExpression?: pulumi.Input; + } + + export interface GraphQlApiLogConfigArgs { + /** + * The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + */ + cloudWatchLogsRoleArn?: pulumi.Input; + /** + * Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + */ + excludeVerboseContent?: pulumi.Input; + /** + * The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + */ + fieldLogLevel?: pulumi.Input; + } + + export interface GraphQlApiOpenIdConnectConfigArgs { + /** + * The number of milliseconds that a token is valid after being authenticated. + */ + authTtl?: pulumi.Input; + /** + * The client identifier of the Relying party at the OpenID identity provider. + */ + clientId?: pulumi.Input; + /** + * The number of milliseconds that a token is valid after it's issued to a user. + */ + iatTtl?: pulumi.Input; + /** + * The issuer for the OIDC configuration. + */ + issuer?: pulumi.Input; + } + + export interface GraphQlApiUserPoolConfigArgs { + /** + * A regular expression for validating the incoming Amazon Cognito user pool app client ID. + */ + appIdClientRegex?: pulumi.Input; + /** + * The AWS Region in which the user pool was created. + */ + awsRegion?: pulumi.Input; + /** + * The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + */ + defaultAction?: pulumi.Input; + /** + * The user pool ID. + */ + userPoolId?: pulumi.Input; + } + /** * Describes a runtime used by an APSYlong resolver or APSYlong function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. */ @@ -6718,7 +6835,33 @@ export namespace autoscaling { } export interface AutoScalingGroupTrafficSourceIdentifierArgs { + /** + * Identifies the traffic source. + * + * For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + * + * For example: + * + * - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + * - Classic Load Balancer name: `my-classic-load-balancer` + * - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + * + * To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + * + * To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + */ identifier: pulumi.Input; + /** + * Provides additional context for the value of `Identifier` . + * + * The following lists the valid values: + * + * - `elb` if `Identifier` is the name of a Classic Load Balancer. + * - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + * - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + * + * Required if the identifier is the name of a Classic Load Balancer. + */ type: pulumi.Input; } @@ -23532,11 +23675,13 @@ export namespace ec2 { userInfoEndpoint?: pulumi.Input; } + /** + * Options for sending VPN tunnel logs to CloudWatch. + */ export interface VpnConnectionCloudwatchLogOptionsSpecificationArgs { /** - * Enable or disable VPN tunnel logging feature. Default value is `False` . - * - * Valid values: `True` | `False` + * Enable or disable VPN tunnel logging feature. Default value is ``False``. + * Valid values: ``True`` | ``False`` */ logEnabled?: pulumi.Input; /** @@ -23544,13 +23689,15 @@ export namespace ec2 { */ logGroupArn?: pulumi.Input; /** - * Set log format. Default format is `json` . - * - * Valid values: `json` | `text` + * Set log format. Default format is ``json``. + * Valid values: ``json`` | ``text`` */ logOutputFormat?: pulumi.Input; } + /** + * The IKE version that is permitted for the VPN tunnel. + */ export interface VpnConnectionIkeVersionsRequestListValueArgs { /** * The IKE version. @@ -23558,6 +23705,9 @@ export namespace ec2 { value?: pulumi.Input; } + /** + * Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. + */ export interface VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs { /** * The value for the encryption algorithm. @@ -23565,6 +23715,9 @@ export namespace ec2 { value?: pulumi.Input; } + /** + * Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. + */ export interface VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs { /** * The value for the integrity algorithm. @@ -23572,6 +23725,9 @@ export namespace ec2 { value?: pulumi.Input; } + /** + * Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. + */ export interface VpnConnectionPhase1dhGroupNumbersRequestListValueArgs { /** * The Diffie-Hellmann group number. @@ -23579,6 +23735,9 @@ export namespace ec2 { value?: pulumi.Input; } + /** + * Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. + */ export interface VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs { /** * The encryption algorithm. @@ -23586,6 +23745,9 @@ export namespace ec2 { value?: pulumi.Input; } + /** + * Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. + */ export interface VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs { /** * The integrity algorithm. @@ -23593,6 +23755,9 @@ export namespace ec2 { value?: pulumi.Input; } + /** + * Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. + */ export interface VpnConnectionPhase2dhGroupNumbersRequestListValueArgs { /** * The Diffie-Hellmann group number. @@ -23600,6 +23765,9 @@ export namespace ec2 { value?: pulumi.Input; } + /** + * Options for logging VPN tunnel activity. + */ export interface VpnConnectionVpnTunnelLogOptionsSpecificationArgs { /** * Options for sending VPN tunnel logs to CloudWatch. @@ -23612,19 +23780,15 @@ export namespace ec2 { */ export interface VpnConnectionVpnTunnelOptionsSpecificationArgs { /** - * The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - * - * Valid Values: `clear` | `none` | `restart` - * - * Default: `clear` + * The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + * Valid Values: ``clear`` | ``none`` | ``restart`` + * Default: ``clear`` */ dpdTimeoutAction?: pulumi.Input; /** * The number of seconds after which a DPD timeout occurs. - * - * Constraints: A value greater than or equal to 30. - * - * Default: `30` + * Constraints: A value greater than or equal to 30. + * Default: ``30`` */ dpdTimeoutSeconds?: pulumi.Input; /** @@ -23633,8 +23797,7 @@ export namespace ec2 { enableTunnelLifecycleControl?: pulumi.Input; /** * The IKE versions that are permitted for the VPN tunnel. - * - * Valid values: `ikev1` | `ikev2` + * Valid values: ``ikev1`` | ``ikev2`` */ ikeVersions?: pulumi.Input[]>; /** @@ -23643,54 +23806,44 @@ export namespace ec2 { logOptions?: pulumi.Input; /** * One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - * - * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + * Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` */ phase1EncryptionAlgorithms?: pulumi.Input[]>; /** * One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - * - * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + * Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` */ phase1IntegrityAlgorithms?: pulumi.Input[]>; /** * The lifetime for phase 1 of the IKE negotiation, in seconds. - * - * Constraints: A value between 900 and 28,800. - * - * Default: `28800` + * Constraints: A value between 900 and 28,800. + * Default: ``28800`` */ phase1LifetimeSeconds?: pulumi.Input; /** * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - * - * Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + * Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` */ phase1dhGroupNumbers?: pulumi.Input[]>; /** * One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - * - * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + * Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` */ phase2EncryptionAlgorithms?: pulumi.Input[]>; /** * One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - * - * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + * Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` */ phase2IntegrityAlgorithms?: pulumi.Input[]>; /** * The lifetime for phase 2 of the IKE negotiation, in seconds. - * - * Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - * - * Default: `3600` + * Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + * Default: ``3600`` */ phase2LifetimeSeconds?: pulumi.Input; /** * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - * - * Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + * Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` */ phase2dhGroupNumbers?: pulumi.Input[]>; /** @@ -23699,35 +23852,27 @@ export namespace ec2 { */ preSharedKey?: pulumi.Input; /** - * The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - * - * Constraints: A value between 0 and 100. - * - * Default: `100` + * The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + * Constraints: A value between 0 and 100. + * Default: ``100`` */ rekeyFuzzPercentage?: pulumi.Input; /** - * The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - * - * Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - * - * Default: `270` + * The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + * Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + * Default: ``270`` */ rekeyMarginTimeSeconds?: pulumi.Input; /** * The number of packets in an IKE replay window. - * - * Constraints: A value between 64 and 2048. - * - * Default: `1024` + * Constraints: A value between 64 and 2048. + * Default: ``1024`` */ replayWindowSize?: pulumi.Input; /** - * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - * - * Valid Values: `add` | `start` - * - * Default: `add` + * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + * Valid Values: ``add`` | ``start`` + * Default: ``add`` */ startupAction?: pulumi.Input; /** @@ -23744,8 +23889,7 @@ export namespace ec2 { tunnelInsideCidr?: pulumi.Input; /** * The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - * - * Constraints: A size /126 CIDR block from the local `fd00::/8` range. + * Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. */ tunnelInsideIpv6Cidr?: pulumi.Input; } @@ -33177,8 +33321,6 @@ export namespace iot { export interface DomainConfigurationClientCertificateConfigArgs { /** * The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - * - * > This property isn't available in China. */ clientCertificateCallbackArn?: pulumi.Input; } @@ -79381,6 +79523,47 @@ export namespace route53 { */ vpcRegion: pulumi.Input; } + + export interface RecordSetAliasTargetArgs { + /** + * The value that you specify depends on where you want to route queries. + */ + dnsName: pulumi.Input; + /** + * When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + */ + evaluateTargetHealth?: pulumi.Input; + /** + * The value used depends on where you want to route traffic. + */ + hostedZoneId: pulumi.Input; + } + + export interface RecordSetCidrRoutingConfigArgs { + /** + * The CIDR collection ID. + */ + collectionId: pulumi.Input; + /** + * The CIDR collection location name. + */ + locationName: pulumi.Input; + } + + export interface RecordSetGeoLocationArgs { + /** + * For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + */ + continentCode?: pulumi.Input; + /** + * For geolocation resource record sets, the two-letter code for a country. + */ + countryCode?: pulumi.Input; + /** + * For geolocation resource record sets, the two-letter code for a state of the United States. + */ + subdivisionCode?: pulumi.Input; + } } export namespace route53profiles { @@ -82399,6 +82582,106 @@ export namespace sagemaker { studioWebPortalSettings?: pulumi.Input; } + export interface EndpointAlarmArgs { + /** + * The name of the CloudWatch alarm. + */ + alarmName: pulumi.Input; + } + + export interface EndpointAutoRollbackConfigArgs { + /** + * List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + */ + alarms: pulumi.Input[]>; + } + + export interface EndpointBlueGreenUpdatePolicyArgs { + /** + * The maximum time allowed for the blue/green update, in seconds. + */ + maximumExecutionTimeoutInSeconds?: pulumi.Input; + /** + * The wait time before terminating the old endpoint during a blue/green deployment. + */ + terminationWaitInSeconds?: pulumi.Input; + /** + * The traffic routing configuration for the blue/green deployment. + */ + trafficRoutingConfiguration: pulumi.Input; + } + + export interface EndpointCapacitySizeArgs { + /** + * Specifies whether the `Value` is an instance count or a capacity unit. + */ + type: pulumi.Input; + /** + * The value representing either the number of instances or the number of capacity units. + */ + value: pulumi.Input; + } + + export interface EndpointDeploymentConfigArgs { + /** + * Configuration for automatic rollback if an error occurs during deployment. + */ + autoRollbackConfiguration?: pulumi.Input; + /** + * Configuration for blue-green update deployment policies. + */ + blueGreenUpdatePolicy?: pulumi.Input; + /** + * Configuration for rolling update deployment policies. + */ + rollingUpdatePolicy?: pulumi.Input; + } + + export interface EndpointRollingUpdatePolicyArgs { + /** + * Specifies the maximum batch size for each rolling update. + */ + maximumBatchSize: pulumi.Input; + /** + * The maximum time allowed for the rolling update, in seconds. + */ + maximumExecutionTimeoutInSeconds?: pulumi.Input; + /** + * The maximum batch size for rollback during an update failure. + */ + rollbackMaximumBatchSize?: pulumi.Input; + /** + * The time to wait between steps during the rolling update, in seconds. + */ + waitIntervalInSeconds: pulumi.Input; + } + + export interface EndpointTrafficRoutingConfigArgs { + /** + * Specifies the size of the canary traffic in a canary deployment. + */ + canarySize?: pulumi.Input; + /** + * Specifies the step size for linear traffic routing. + */ + linearStepSize?: pulumi.Input; + /** + * Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + */ + type: pulumi.Input; + /** + * Specifies the wait interval between traffic shifts, in seconds. + */ + waitIntervalInSeconds?: pulumi.Input; + } + + export interface EndpointVariantPropertyArgs { + /** + * The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + */ + variantPropertyType?: pulumi.Input; + } + export interface FeatureGroupDataCatalogConfigArgs { /** * The name of the Glue table catalog. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 7d26b8c380..6fec45553d 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5551,6 +5551,123 @@ export namespace appsync { lambdaConflictHandlerConfig?: outputs.appsync.FunctionConfigurationLambdaConflictHandlerConfig; } + export interface GraphQlApiAdditionalAuthenticationProvider { + /** + * The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + */ + authenticationType: string; + /** + * Configuration for AWS Lambda function authorization. + */ + lambdaAuthorizerConfig?: outputs.appsync.GraphQlApiLambdaAuthorizerConfig; + /** + * The OIDC configuration. + */ + openIdConnectConfig?: outputs.appsync.GraphQlApiOpenIdConnectConfig; + /** + * The Amazon Cognito user pool configuration. + */ + userPoolConfig?: outputs.appsync.GraphQlApiCognitoUserPoolConfig; + } + + export interface GraphQlApiCognitoUserPoolConfig { + /** + * A regular expression for validating the incoming Amazon Cognito user pool app client ID. + */ + appIdClientRegex?: string; + /** + * The AWS Region in which the user pool was created. + */ + awsRegion?: string; + /** + * The user pool ID + */ + userPoolId?: string; + } + + export interface GraphQlApiEnhancedMetricsConfig { + /** + * Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + */ + dataSourceLevelMetricsBehavior: string; + /** + * Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + */ + operationLevelMetricsConfig: string; + /** + * Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + */ + resolverLevelMetricsBehavior: string; + } + + export interface GraphQlApiLambdaAuthorizerConfig { + /** + * The number of seconds a response should be cached for. + */ + authorizerResultTtlInSeconds?: number; + /** + * The ARN of the Lambda function to be called for authorization. + */ + authorizerUri?: string; + /** + * A regular expression for validation of tokens before the Lambda function is called. + */ + identityValidationExpression?: string; + } + + export interface GraphQlApiLogConfig { + /** + * The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + */ + cloudWatchLogsRoleArn?: string; + /** + * Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + */ + excludeVerboseContent?: boolean; + /** + * The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + */ + fieldLogLevel?: string; + } + + export interface GraphQlApiOpenIdConnectConfig { + /** + * The number of milliseconds that a token is valid after being authenticated. + */ + authTtl?: number; + /** + * The client identifier of the Relying party at the OpenID identity provider. + */ + clientId?: string; + /** + * The number of milliseconds that a token is valid after it's issued to a user. + */ + iatTtl?: number; + /** + * The issuer for the OIDC configuration. + */ + issuer?: string; + } + + export interface GraphQlApiUserPoolConfig { + /** + * A regular expression for validating the incoming Amazon Cognito user pool app client ID. + */ + appIdClientRegex?: string; + /** + * The AWS Region in which the user pool was created. + */ + awsRegion?: string; + /** + * The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + */ + defaultAction?: string; + /** + * The user pool ID. + */ + userPoolId?: string; + } + /** * Describes a runtime used by an APSYlong resolver or APSYlong function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. */ @@ -6645,7 +6762,33 @@ export namespace autoscaling { } export interface AutoScalingGroupTrafficSourceIdentifier { + /** + * Identifies the traffic source. + * + * For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + * + * For example: + * + * - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + * - Classic Load Balancer name: `my-classic-load-balancer` + * - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + * + * To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + * + * To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + */ identifier: string; + /** + * Provides additional context for the value of `Identifier` . + * + * The following lists the valid values: + * + * - `elb` if `Identifier` is the name of a Classic Load Balancer. + * - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + * - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + * + * Required if the identifier is the name of a Classic Load Balancer. + */ type: string; } @@ -24856,11 +24999,13 @@ export namespace ec2 { userInfoEndpoint?: string; } + /** + * Options for sending VPN tunnel logs to CloudWatch. + */ export interface VpnConnectionCloudwatchLogOptionsSpecification { /** - * Enable or disable VPN tunnel logging feature. Default value is `False` . - * - * Valid values: `True` | `False` + * Enable or disable VPN tunnel logging feature. Default value is ``False``. + * Valid values: ``True`` | ``False`` */ logEnabled?: boolean; /** @@ -24868,13 +25013,15 @@ export namespace ec2 { */ logGroupArn?: string; /** - * Set log format. Default format is `json` . - * - * Valid values: `json` | `text` + * Set log format. Default format is ``json``. + * Valid values: ``json`` | ``text`` */ logOutputFormat?: enums.ec2.VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat; } + /** + * The IKE version that is permitted for the VPN tunnel. + */ export interface VpnConnectionIkeVersionsRequestListValue { /** * The IKE version. @@ -24882,6 +25029,9 @@ export namespace ec2 { value?: enums.ec2.VpnConnectionIkeVersionsRequestListValueValue; } + /** + * Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. + */ export interface VpnConnectionPhase1EncryptionAlgorithmsRequestListValue { /** * The value for the encryption algorithm. @@ -24889,6 +25039,9 @@ export namespace ec2 { value?: enums.ec2.VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue; } + /** + * Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. + */ export interface VpnConnectionPhase1IntegrityAlgorithmsRequestListValue { /** * The value for the integrity algorithm. @@ -24896,6 +25049,9 @@ export namespace ec2 { value?: enums.ec2.VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue; } + /** + * Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. + */ export interface VpnConnectionPhase1dhGroupNumbersRequestListValue { /** * The Diffie-Hellmann group number. @@ -24903,6 +25059,9 @@ export namespace ec2 { value?: number; } + /** + * Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. + */ export interface VpnConnectionPhase2EncryptionAlgorithmsRequestListValue { /** * The encryption algorithm. @@ -24910,6 +25069,9 @@ export namespace ec2 { value?: enums.ec2.VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue; } + /** + * Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. + */ export interface VpnConnectionPhase2IntegrityAlgorithmsRequestListValue { /** * The integrity algorithm. @@ -24917,6 +25079,9 @@ export namespace ec2 { value?: enums.ec2.VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue; } + /** + * Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. + */ export interface VpnConnectionPhase2dhGroupNumbersRequestListValue { /** * The Diffie-Hellmann group number. @@ -24924,6 +25089,9 @@ export namespace ec2 { value?: number; } + /** + * Options for logging VPN tunnel activity. + */ export interface VpnConnectionVpnTunnelLogOptionsSpecification { /** * Options for sending VPN tunnel logs to CloudWatch. @@ -24936,19 +25104,15 @@ export namespace ec2 { */ export interface VpnConnectionVpnTunnelOptionsSpecification { /** - * The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - * - * Valid Values: `clear` | `none` | `restart` - * - * Default: `clear` + * The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + * Valid Values: ``clear`` | ``none`` | ``restart`` + * Default: ``clear`` */ dpdTimeoutAction?: enums.ec2.VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction; /** * The number of seconds after which a DPD timeout occurs. - * - * Constraints: A value greater than or equal to 30. - * - * Default: `30` + * Constraints: A value greater than or equal to 30. + * Default: ``30`` */ dpdTimeoutSeconds?: number; /** @@ -24957,8 +25121,7 @@ export namespace ec2 { enableTunnelLifecycleControl?: boolean; /** * The IKE versions that are permitted for the VPN tunnel. - * - * Valid values: `ikev1` | `ikev2` + * Valid values: ``ikev1`` | ``ikev2`` */ ikeVersions?: outputs.ec2.VpnConnectionIkeVersionsRequestListValue[]; /** @@ -24967,54 +25130,44 @@ export namespace ec2 { logOptions?: outputs.ec2.VpnConnectionVpnTunnelLogOptionsSpecification; /** * One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - * - * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + * Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` */ phase1EncryptionAlgorithms?: outputs.ec2.VpnConnectionPhase1EncryptionAlgorithmsRequestListValue[]; /** * One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - * - * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + * Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` */ phase1IntegrityAlgorithms?: outputs.ec2.VpnConnectionPhase1IntegrityAlgorithmsRequestListValue[]; /** * The lifetime for phase 1 of the IKE negotiation, in seconds. - * - * Constraints: A value between 900 and 28,800. - * - * Default: `28800` + * Constraints: A value between 900 and 28,800. + * Default: ``28800`` */ phase1LifetimeSeconds?: number; /** * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - * - * Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + * Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` */ phase1dhGroupNumbers?: outputs.ec2.VpnConnectionPhase1dhGroupNumbersRequestListValue[]; /** * One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - * - * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + * Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` */ phase2EncryptionAlgorithms?: outputs.ec2.VpnConnectionPhase2EncryptionAlgorithmsRequestListValue[]; /** * One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - * - * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + * Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` */ phase2IntegrityAlgorithms?: outputs.ec2.VpnConnectionPhase2IntegrityAlgorithmsRequestListValue[]; /** * The lifetime for phase 2 of the IKE negotiation, in seconds. - * - * Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - * - * Default: `3600` + * Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + * Default: ``3600`` */ phase2LifetimeSeconds?: number; /** * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - * - * Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + * Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` */ phase2dhGroupNumbers?: outputs.ec2.VpnConnectionPhase2dhGroupNumbersRequestListValue[]; /** @@ -25023,35 +25176,27 @@ export namespace ec2 { */ preSharedKey?: string; /** - * The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - * - * Constraints: A value between 0 and 100. - * - * Default: `100` + * The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + * Constraints: A value between 0 and 100. + * Default: ``100`` */ rekeyFuzzPercentage?: number; /** - * The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - * - * Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - * - * Default: `270` + * The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + * Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + * Default: ``270`` */ rekeyMarginTimeSeconds?: number; /** * The number of packets in an IKE replay window. - * - * Constraints: A value between 64 and 2048. - * - * Default: `1024` + * Constraints: A value between 64 and 2048. + * Default: ``1024`` */ replayWindowSize?: number; /** - * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - * - * Valid Values: `add` | `start` - * - * Default: `add` + * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + * Valid Values: ``add`` | ``start`` + * Default: ``add`` */ startupAction?: enums.ec2.VpnConnectionVpnTunnelOptionsSpecificationStartupAction; /** @@ -25068,8 +25213,7 @@ export namespace ec2 { tunnelInsideCidr?: string; /** * The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - * - * Constraints: A size /126 CIDR block from the local `fd00::/8` range. + * Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. */ tunnelInsideIpv6Cidr?: string; } @@ -34557,8 +34701,6 @@ export namespace iot { export interface DomainConfigurationClientCertificateConfig { /** * The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - * - * > This property isn't available in China. */ clientCertificateCallbackArn?: string; } @@ -81654,6 +81796,47 @@ export namespace route53 { vpcRegion: string; } + export interface RecordSetAliasTarget { + /** + * The value that you specify depends on where you want to route queries. + */ + dnsName: string; + /** + * When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + */ + evaluateTargetHealth?: boolean; + /** + * The value used depends on where you want to route traffic. + */ + hostedZoneId: string; + } + + export interface RecordSetCidrRoutingConfig { + /** + * The CIDR collection ID. + */ + collectionId: string; + /** + * The CIDR collection location name. + */ + locationName: string; + } + + export interface RecordSetGeoLocation { + /** + * For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + */ + continentCode?: string; + /** + * For geolocation resource record sets, the two-letter code for a country. + */ + countryCode?: string; + /** + * For geolocation resource record sets, the two-letter code for a state of the United States. + */ + subdivisionCode?: string; + } + } export namespace route53profiles { @@ -84752,6 +84935,106 @@ export namespace sagemaker { studioWebPortalSettings?: outputs.sagemaker.DomainStudioWebPortalSettings; } + export interface EndpointAlarm { + /** + * The name of the CloudWatch alarm. + */ + alarmName: string; + } + + export interface EndpointAutoRollbackConfig { + /** + * List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + */ + alarms: outputs.sagemaker.EndpointAlarm[]; + } + + export interface EndpointBlueGreenUpdatePolicy { + /** + * The maximum time allowed for the blue/green update, in seconds. + */ + maximumExecutionTimeoutInSeconds?: number; + /** + * The wait time before terminating the old endpoint during a blue/green deployment. + */ + terminationWaitInSeconds?: number; + /** + * The traffic routing configuration for the blue/green deployment. + */ + trafficRoutingConfiguration: outputs.sagemaker.EndpointTrafficRoutingConfig; + } + + export interface EndpointCapacitySize { + /** + * Specifies whether the `Value` is an instance count or a capacity unit. + */ + type: string; + /** + * The value representing either the number of instances or the number of capacity units. + */ + value: number; + } + + export interface EndpointDeploymentConfig { + /** + * Configuration for automatic rollback if an error occurs during deployment. + */ + autoRollbackConfiguration?: outputs.sagemaker.EndpointAutoRollbackConfig; + /** + * Configuration for blue-green update deployment policies. + */ + blueGreenUpdatePolicy?: outputs.sagemaker.EndpointBlueGreenUpdatePolicy; + /** + * Configuration for rolling update deployment policies. + */ + rollingUpdatePolicy?: outputs.sagemaker.EndpointRollingUpdatePolicy; + } + + export interface EndpointRollingUpdatePolicy { + /** + * Specifies the maximum batch size for each rolling update. + */ + maximumBatchSize: outputs.sagemaker.EndpointCapacitySize; + /** + * The maximum time allowed for the rolling update, in seconds. + */ + maximumExecutionTimeoutInSeconds?: number; + /** + * The maximum batch size for rollback during an update failure. + */ + rollbackMaximumBatchSize?: outputs.sagemaker.EndpointCapacitySize; + /** + * The time to wait between steps during the rolling update, in seconds. + */ + waitIntervalInSeconds: number; + } + + export interface EndpointTrafficRoutingConfig { + /** + * Specifies the size of the canary traffic in a canary deployment. + */ + canarySize?: outputs.sagemaker.EndpointCapacitySize; + /** + * Specifies the step size for linear traffic routing. + */ + linearStepSize?: outputs.sagemaker.EndpointCapacitySize; + /** + * Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + */ + type: string; + /** + * Specifies the wait interval between traffic shifts, in seconds. + */ + waitIntervalInSeconds?: number; + } + + export interface EndpointVariantProperty { + /** + * The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + */ + variantPropertyType?: string; + } + export interface FeatureGroupDataCatalogConfig { /** * The name of the Glue table catalog. diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index a38a308965..71381d19a0 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -863,6 +863,7 @@ "aws-native:appsync:DomainName": "DomainName", "aws-native:appsync:DomainNameApiAssociation": "DomainNameApiAssociation", "aws-native:appsync:FunctionConfiguration": "FunctionConfiguration", + "aws-native:appsync:GraphQlApi": "GraphQlApi", "aws-native:appsync:Resolver": "Resolver", "aws-native:appsync:SourceApiAssociation": "SourceApiAssociation" } @@ -2764,7 +2765,8 @@ "aws-native:route53:Dnssec": "Dnssec", "aws-native:route53:HealthCheck": "HealthCheck", "aws-native:route53:HostedZone": "HostedZone", - "aws-native:route53:KeySigningKey": "KeySigningKey" + "aws-native:route53:KeySigningKey": "KeySigningKey", + "aws-native:route53:RecordSet": "RecordSet" } }, { @@ -2882,6 +2884,7 @@ "aws-native:sagemaker:Device": "Device", "aws-native:sagemaker:DeviceFleet": "DeviceFleet", "aws-native:sagemaker:Domain": "Domain", + "aws-native:sagemaker:Endpoint": "Endpoint", "aws-native:sagemaker:FeatureGroup": "FeatureGroup", "aws-native:sagemaker:Image": "Image", "aws-native:sagemaker:ImageVersion": "ImageVersion", diff --git a/sdk/python/pulumi_aws_native/appsync/__init__.py b/sdk/python/pulumi_aws_native/appsync/__init__.py index 7b557fadb1..c8fd125c6b 100644 --- a/sdk/python/pulumi_aws_native/appsync/__init__.py +++ b/sdk/python/pulumi_aws_native/appsync/__init__.py @@ -14,8 +14,10 @@ from .get_domain_name import * from .get_domain_name_api_association import * from .get_function_configuration import * +from .get_graph_ql_api import * from .get_resolver import * from .get_source_api_association import * +from .graph_ql_api import * from .resolver import * from .source_api_association import * from ._inputs import * diff --git a/sdk/python/pulumi_aws_native/appsync/_inputs.py b/sdk/python/pulumi_aws_native/appsync/_inputs.py index 622855b739..5ee911e96f 100644 --- a/sdk/python/pulumi_aws_native/appsync/_inputs.py +++ b/sdk/python/pulumi_aws_native/appsync/_inputs.py @@ -44,6 +44,20 @@ 'FunctionConfigurationLambdaConflictHandlerConfigArgsDict', 'FunctionConfigurationSyncConfigArgs', 'FunctionConfigurationSyncConfigArgsDict', + 'GraphQlApiAdditionalAuthenticationProviderArgs', + 'GraphQlApiAdditionalAuthenticationProviderArgsDict', + 'GraphQlApiCognitoUserPoolConfigArgs', + 'GraphQlApiCognitoUserPoolConfigArgsDict', + 'GraphQlApiEnhancedMetricsConfigArgs', + 'GraphQlApiEnhancedMetricsConfigArgsDict', + 'GraphQlApiLambdaAuthorizerConfigArgs', + 'GraphQlApiLambdaAuthorizerConfigArgsDict', + 'GraphQlApiLogConfigArgs', + 'GraphQlApiLogConfigArgsDict', + 'GraphQlApiOpenIdConnectConfigArgs', + 'GraphQlApiOpenIdConnectConfigArgsDict', + 'GraphQlApiUserPoolConfigArgs', + 'GraphQlApiUserPoolConfigArgsDict', 'ResolverAppSyncRuntimeArgs', 'ResolverAppSyncRuntimeArgsDict', 'ResolverCachingConfigArgs', @@ -880,6 +894,566 @@ def lambda_conflict_handler_config(self, value: Optional[pulumi.Input['FunctionC pulumi.set(self, "lambda_conflict_handler_config", value) +if not MYPY: + class GraphQlApiAdditionalAuthenticationProviderArgsDict(TypedDict): + authentication_type: pulumi.Input[str] + """ + The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + """ + lambda_authorizer_config: NotRequired[pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgsDict']] + """ + Configuration for AWS Lambda function authorization. + """ + open_id_connect_config: NotRequired[pulumi.Input['GraphQlApiOpenIdConnectConfigArgsDict']] + """ + The OIDC configuration. + """ + user_pool_config: NotRequired[pulumi.Input['GraphQlApiCognitoUserPoolConfigArgsDict']] + """ + The Amazon Cognito user pool configuration. + """ +elif False: + GraphQlApiAdditionalAuthenticationProviderArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GraphQlApiAdditionalAuthenticationProviderArgs: + def __init__(__self__, *, + authentication_type: pulumi.Input[str], + lambda_authorizer_config: Optional[pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs']] = None, + open_id_connect_config: Optional[pulumi.Input['GraphQlApiOpenIdConnectConfigArgs']] = None, + user_pool_config: Optional[pulumi.Input['GraphQlApiCognitoUserPoolConfigArgs']] = None): + """ + :param pulumi.Input[str] authentication_type: The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + :param pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs'] lambda_authorizer_config: Configuration for AWS Lambda function authorization. + :param pulumi.Input['GraphQlApiOpenIdConnectConfigArgs'] open_id_connect_config: The OIDC configuration. + :param pulumi.Input['GraphQlApiCognitoUserPoolConfigArgs'] user_pool_config: The Amazon Cognito user pool configuration. + """ + pulumi.set(__self__, "authentication_type", authentication_type) + if lambda_authorizer_config is not None: + pulumi.set(__self__, "lambda_authorizer_config", lambda_authorizer_config) + if open_id_connect_config is not None: + pulumi.set(__self__, "open_id_connect_config", open_id_connect_config) + if user_pool_config is not None: + pulumi.set(__self__, "user_pool_config", user_pool_config) + + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> pulumi.Input[str]: + """ + The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + """ + return pulumi.get(self, "authentication_type") + + @authentication_type.setter + def authentication_type(self, value: pulumi.Input[str]): + pulumi.set(self, "authentication_type", value) + + @property + @pulumi.getter(name="lambdaAuthorizerConfig") + def lambda_authorizer_config(self) -> Optional[pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs']]: + """ + Configuration for AWS Lambda function authorization. + """ + return pulumi.get(self, "lambda_authorizer_config") + + @lambda_authorizer_config.setter + def lambda_authorizer_config(self, value: Optional[pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs']]): + pulumi.set(self, "lambda_authorizer_config", value) + + @property + @pulumi.getter(name="openIdConnectConfig") + def open_id_connect_config(self) -> Optional[pulumi.Input['GraphQlApiOpenIdConnectConfigArgs']]: + """ + The OIDC configuration. + """ + return pulumi.get(self, "open_id_connect_config") + + @open_id_connect_config.setter + def open_id_connect_config(self, value: Optional[pulumi.Input['GraphQlApiOpenIdConnectConfigArgs']]): + pulumi.set(self, "open_id_connect_config", value) + + @property + @pulumi.getter(name="userPoolConfig") + def user_pool_config(self) -> Optional[pulumi.Input['GraphQlApiCognitoUserPoolConfigArgs']]: + """ + The Amazon Cognito user pool configuration. + """ + return pulumi.get(self, "user_pool_config") + + @user_pool_config.setter + def user_pool_config(self, value: Optional[pulumi.Input['GraphQlApiCognitoUserPoolConfigArgs']]): + pulumi.set(self, "user_pool_config", value) + + +if not MYPY: + class GraphQlApiCognitoUserPoolConfigArgsDict(TypedDict): + app_id_client_regex: NotRequired[pulumi.Input[str]] + """ + A regular expression for validating the incoming Amazon Cognito user pool app client ID. + """ + aws_region: NotRequired[pulumi.Input[str]] + """ + The AWS Region in which the user pool was created. + """ + user_pool_id: NotRequired[pulumi.Input[str]] + """ + The user pool ID + """ +elif False: + GraphQlApiCognitoUserPoolConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GraphQlApiCognitoUserPoolConfigArgs: + def __init__(__self__, *, + app_id_client_regex: Optional[pulumi.Input[str]] = None, + aws_region: Optional[pulumi.Input[str]] = None, + user_pool_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] app_id_client_regex: A regular expression for validating the incoming Amazon Cognito user pool app client ID. + :param pulumi.Input[str] aws_region: The AWS Region in which the user pool was created. + :param pulumi.Input[str] user_pool_id: The user pool ID + """ + if app_id_client_regex is not None: + pulumi.set(__self__, "app_id_client_regex", app_id_client_regex) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if user_pool_id is not None: + pulumi.set(__self__, "user_pool_id", user_pool_id) + + @property + @pulumi.getter(name="appIdClientRegex") + def app_id_client_regex(self) -> Optional[pulumi.Input[str]]: + """ + A regular expression for validating the incoming Amazon Cognito user pool app client ID. + """ + return pulumi.get(self, "app_id_client_regex") + + @app_id_client_regex.setter + def app_id_client_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_id_client_regex", value) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Region in which the user pool was created. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter(name="userPoolId") + def user_pool_id(self) -> Optional[pulumi.Input[str]]: + """ + The user pool ID + """ + return pulumi.get(self, "user_pool_id") + + @user_pool_id.setter + def user_pool_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_pool_id", value) + + +if not MYPY: + class GraphQlApiEnhancedMetricsConfigArgsDict(TypedDict): + data_source_level_metrics_behavior: pulumi.Input[str] + """ + Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + """ + operation_level_metrics_config: pulumi.Input[str] + """ + Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + """ + resolver_level_metrics_behavior: pulumi.Input[str] + """ + Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + """ +elif False: + GraphQlApiEnhancedMetricsConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GraphQlApiEnhancedMetricsConfigArgs: + def __init__(__self__, *, + data_source_level_metrics_behavior: pulumi.Input[str], + operation_level_metrics_config: pulumi.Input[str], + resolver_level_metrics_behavior: pulumi.Input[str]): + """ + :param pulumi.Input[str] data_source_level_metrics_behavior: Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + :param pulumi.Input[str] operation_level_metrics_config: Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + :param pulumi.Input[str] resolver_level_metrics_behavior: Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + """ + pulumi.set(__self__, "data_source_level_metrics_behavior", data_source_level_metrics_behavior) + pulumi.set(__self__, "operation_level_metrics_config", operation_level_metrics_config) + pulumi.set(__self__, "resolver_level_metrics_behavior", resolver_level_metrics_behavior) + + @property + @pulumi.getter(name="dataSourceLevelMetricsBehavior") + def data_source_level_metrics_behavior(self) -> pulumi.Input[str]: + """ + Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + """ + return pulumi.get(self, "data_source_level_metrics_behavior") + + @data_source_level_metrics_behavior.setter + def data_source_level_metrics_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "data_source_level_metrics_behavior", value) + + @property + @pulumi.getter(name="operationLevelMetricsConfig") + def operation_level_metrics_config(self) -> pulumi.Input[str]: + """ + Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + """ + return pulumi.get(self, "operation_level_metrics_config") + + @operation_level_metrics_config.setter + def operation_level_metrics_config(self, value: pulumi.Input[str]): + pulumi.set(self, "operation_level_metrics_config", value) + + @property + @pulumi.getter(name="resolverLevelMetricsBehavior") + def resolver_level_metrics_behavior(self) -> pulumi.Input[str]: + """ + Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + """ + return pulumi.get(self, "resolver_level_metrics_behavior") + + @resolver_level_metrics_behavior.setter + def resolver_level_metrics_behavior(self, value: pulumi.Input[str]): + pulumi.set(self, "resolver_level_metrics_behavior", value) + + +if not MYPY: + class GraphQlApiLambdaAuthorizerConfigArgsDict(TypedDict): + authorizer_result_ttl_in_seconds: NotRequired[pulumi.Input[int]] + """ + The number of seconds a response should be cached for. + """ + authorizer_uri: NotRequired[pulumi.Input[str]] + """ + The ARN of the Lambda function to be called for authorization. + """ + identity_validation_expression: NotRequired[pulumi.Input[str]] + """ + A regular expression for validation of tokens before the Lambda function is called. + """ +elif False: + GraphQlApiLambdaAuthorizerConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GraphQlApiLambdaAuthorizerConfigArgs: + def __init__(__self__, *, + authorizer_result_ttl_in_seconds: Optional[pulumi.Input[int]] = None, + authorizer_uri: Optional[pulumi.Input[str]] = None, + identity_validation_expression: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] authorizer_result_ttl_in_seconds: The number of seconds a response should be cached for. + :param pulumi.Input[str] authorizer_uri: The ARN of the Lambda function to be called for authorization. + :param pulumi.Input[str] identity_validation_expression: A regular expression for validation of tokens before the Lambda function is called. + """ + if authorizer_result_ttl_in_seconds is not None: + pulumi.set(__self__, "authorizer_result_ttl_in_seconds", authorizer_result_ttl_in_seconds) + if authorizer_uri is not None: + pulumi.set(__self__, "authorizer_uri", authorizer_uri) + if identity_validation_expression is not None: + pulumi.set(__self__, "identity_validation_expression", identity_validation_expression) + + @property + @pulumi.getter(name="authorizerResultTtlInSeconds") + def authorizer_result_ttl_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The number of seconds a response should be cached for. + """ + return pulumi.get(self, "authorizer_result_ttl_in_seconds") + + @authorizer_result_ttl_in_seconds.setter + def authorizer_result_ttl_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "authorizer_result_ttl_in_seconds", value) + + @property + @pulumi.getter(name="authorizerUri") + def authorizer_uri(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the Lambda function to be called for authorization. + """ + return pulumi.get(self, "authorizer_uri") + + @authorizer_uri.setter + def authorizer_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorizer_uri", value) + + @property + @pulumi.getter(name="identityValidationExpression") + def identity_validation_expression(self) -> Optional[pulumi.Input[str]]: + """ + A regular expression for validation of tokens before the Lambda function is called. + """ + return pulumi.get(self, "identity_validation_expression") + + @identity_validation_expression.setter + def identity_validation_expression(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "identity_validation_expression", value) + + +if not MYPY: + class GraphQlApiLogConfigArgsDict(TypedDict): + cloud_watch_logs_role_arn: NotRequired[pulumi.Input[str]] + """ + The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + """ + exclude_verbose_content: NotRequired[pulumi.Input[bool]] + """ + Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + """ + field_log_level: NotRequired[pulumi.Input[str]] + """ + The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + """ +elif False: + GraphQlApiLogConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GraphQlApiLogConfigArgs: + def __init__(__self__, *, + cloud_watch_logs_role_arn: Optional[pulumi.Input[str]] = None, + exclude_verbose_content: Optional[pulumi.Input[bool]] = None, + field_log_level: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] cloud_watch_logs_role_arn: The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + :param pulumi.Input[bool] exclude_verbose_content: Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + :param pulumi.Input[str] field_log_level: The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + """ + if cloud_watch_logs_role_arn is not None: + pulumi.set(__self__, "cloud_watch_logs_role_arn", cloud_watch_logs_role_arn) + if exclude_verbose_content is not None: + pulumi.set(__self__, "exclude_verbose_content", exclude_verbose_content) + if field_log_level is not None: + pulumi.set(__self__, "field_log_level", field_log_level) + + @property + @pulumi.getter(name="cloudWatchLogsRoleArn") + def cloud_watch_logs_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + """ + return pulumi.get(self, "cloud_watch_logs_role_arn") + + @cloud_watch_logs_role_arn.setter + def cloud_watch_logs_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cloud_watch_logs_role_arn", value) + + @property + @pulumi.getter(name="excludeVerboseContent") + def exclude_verbose_content(self) -> Optional[pulumi.Input[bool]]: + """ + Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + """ + return pulumi.get(self, "exclude_verbose_content") + + @exclude_verbose_content.setter + def exclude_verbose_content(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "exclude_verbose_content", value) + + @property + @pulumi.getter(name="fieldLogLevel") + def field_log_level(self) -> Optional[pulumi.Input[str]]: + """ + The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + """ + return pulumi.get(self, "field_log_level") + + @field_log_level.setter + def field_log_level(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "field_log_level", value) + + +if not MYPY: + class GraphQlApiOpenIdConnectConfigArgsDict(TypedDict): + auth_ttl: NotRequired[pulumi.Input[float]] + """ + The number of milliseconds that a token is valid after being authenticated. + """ + client_id: NotRequired[pulumi.Input[str]] + """ + The client identifier of the Relying party at the OpenID identity provider. + """ + iat_ttl: NotRequired[pulumi.Input[float]] + """ + The number of milliseconds that a token is valid after it's issued to a user. + """ + issuer: NotRequired[pulumi.Input[str]] + """ + The issuer for the OIDC configuration. + """ +elif False: + GraphQlApiOpenIdConnectConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GraphQlApiOpenIdConnectConfigArgs: + def __init__(__self__, *, + auth_ttl: Optional[pulumi.Input[float]] = None, + client_id: Optional[pulumi.Input[str]] = None, + iat_ttl: Optional[pulumi.Input[float]] = None, + issuer: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[float] auth_ttl: The number of milliseconds that a token is valid after being authenticated. + :param pulumi.Input[str] client_id: The client identifier of the Relying party at the OpenID identity provider. + :param pulumi.Input[float] iat_ttl: The number of milliseconds that a token is valid after it's issued to a user. + :param pulumi.Input[str] issuer: The issuer for the OIDC configuration. + """ + if auth_ttl is not None: + pulumi.set(__self__, "auth_ttl", auth_ttl) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if iat_ttl is not None: + pulumi.set(__self__, "iat_ttl", iat_ttl) + if issuer is not None: + pulumi.set(__self__, "issuer", issuer) + + @property + @pulumi.getter(name="authTtl") + def auth_ttl(self) -> Optional[pulumi.Input[float]]: + """ + The number of milliseconds that a token is valid after being authenticated. + """ + return pulumi.get(self, "auth_ttl") + + @auth_ttl.setter + def auth_ttl(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "auth_ttl", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + """ + The client identifier of the Relying party at the OpenID identity provider. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter(name="iatTtl") + def iat_ttl(self) -> Optional[pulumi.Input[float]]: + """ + The number of milliseconds that a token is valid after it's issued to a user. + """ + return pulumi.get(self, "iat_ttl") + + @iat_ttl.setter + def iat_ttl(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "iat_ttl", value) + + @property + @pulumi.getter + def issuer(self) -> Optional[pulumi.Input[str]]: + """ + The issuer for the OIDC configuration. + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "issuer", value) + + +if not MYPY: + class GraphQlApiUserPoolConfigArgsDict(TypedDict): + app_id_client_regex: NotRequired[pulumi.Input[str]] + """ + A regular expression for validating the incoming Amazon Cognito user pool app client ID. + """ + aws_region: NotRequired[pulumi.Input[str]] + """ + The AWS Region in which the user pool was created. + """ + default_action: NotRequired[pulumi.Input[str]] + """ + The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + """ + user_pool_id: NotRequired[pulumi.Input[str]] + """ + The user pool ID. + """ +elif False: + GraphQlApiUserPoolConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GraphQlApiUserPoolConfigArgs: + def __init__(__self__, *, + app_id_client_regex: Optional[pulumi.Input[str]] = None, + aws_region: Optional[pulumi.Input[str]] = None, + default_action: Optional[pulumi.Input[str]] = None, + user_pool_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] app_id_client_regex: A regular expression for validating the incoming Amazon Cognito user pool app client ID. + :param pulumi.Input[str] aws_region: The AWS Region in which the user pool was created. + :param pulumi.Input[str] default_action: The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + :param pulumi.Input[str] user_pool_id: The user pool ID. + """ + if app_id_client_regex is not None: + pulumi.set(__self__, "app_id_client_regex", app_id_client_regex) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if default_action is not None: + pulumi.set(__self__, "default_action", default_action) + if user_pool_id is not None: + pulumi.set(__self__, "user_pool_id", user_pool_id) + + @property + @pulumi.getter(name="appIdClientRegex") + def app_id_client_regex(self) -> Optional[pulumi.Input[str]]: + """ + A regular expression for validating the incoming Amazon Cognito user pool app client ID. + """ + return pulumi.get(self, "app_id_client_regex") + + @app_id_client_regex.setter + def app_id_client_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "app_id_client_regex", value) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Region in which the user pool was created. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> Optional[pulumi.Input[str]]: + """ + The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + """ + return pulumi.get(self, "default_action") + + @default_action.setter + def default_action(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_action", value) + + @property + @pulumi.getter(name="userPoolId") + def user_pool_id(self) -> Optional[pulumi.Input[str]]: + """ + The user pool ID. + """ + return pulumi.get(self, "user_pool_id") + + @user_pool_id.setter + def user_pool_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_pool_id", value) + + if not MYPY: class ResolverAppSyncRuntimeArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/appsync/get_graph_ql_api.py b/sdk/python/pulumi_aws_native/appsync/get_graph_ql_api.py new file mode 100644 index 0000000000..d99246bbaa --- /dev/null +++ b/sdk/python/pulumi_aws_native/appsync/get_graph_ql_api.py @@ -0,0 +1,415 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 +from . import outputs +from .. import outputs as _root_outputs + +__all__ = [ + 'GetGraphQlApiResult', + 'AwaitableGetGraphQlApiResult', + 'get_graph_ql_api', + 'get_graph_ql_api_output', +] + +@pulumi.output_type +class GetGraphQlApiResult: + def __init__(__self__, additional_authentication_providers=None, api_id=None, api_type=None, arn=None, authentication_type=None, enhanced_metrics_config=None, environment_variables=None, graph_ql_dns=None, graph_ql_endpoint_arn=None, graph_ql_url=None, introspection_config=None, lambda_authorizer_config=None, log_config=None, merged_api_execution_role_arn=None, name=None, open_id_connect_config=None, owner_contact=None, query_depth_limit=None, realtime_dns=None, realtime_url=None, resolver_count_limit=None, tags=None, user_pool_config=None, visibility=None, xray_enabled=None): + if additional_authentication_providers and not isinstance(additional_authentication_providers, list): + raise TypeError("Expected argument 'additional_authentication_providers' to be a list") + pulumi.set(__self__, "additional_authentication_providers", additional_authentication_providers) + if api_id and not isinstance(api_id, str): + raise TypeError("Expected argument 'api_id' to be a str") + pulumi.set(__self__, "api_id", api_id) + if api_type and not isinstance(api_type, str): + raise TypeError("Expected argument 'api_type' to be a str") + pulumi.set(__self__, "api_type", api_type) + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if authentication_type and not isinstance(authentication_type, str): + raise TypeError("Expected argument 'authentication_type' to be a str") + pulumi.set(__self__, "authentication_type", authentication_type) + if enhanced_metrics_config and not isinstance(enhanced_metrics_config, dict): + raise TypeError("Expected argument 'enhanced_metrics_config' to be a dict") + pulumi.set(__self__, "enhanced_metrics_config", enhanced_metrics_config) + if environment_variables and not isinstance(environment_variables, dict): + raise TypeError("Expected argument 'environment_variables' to be a dict") + pulumi.set(__self__, "environment_variables", environment_variables) + if graph_ql_dns and not isinstance(graph_ql_dns, str): + raise TypeError("Expected argument 'graph_ql_dns' to be a str") + pulumi.set(__self__, "graph_ql_dns", graph_ql_dns) + if graph_ql_endpoint_arn and not isinstance(graph_ql_endpoint_arn, str): + raise TypeError("Expected argument 'graph_ql_endpoint_arn' to be a str") + pulumi.set(__self__, "graph_ql_endpoint_arn", graph_ql_endpoint_arn) + if graph_ql_url and not isinstance(graph_ql_url, str): + raise TypeError("Expected argument 'graph_ql_url' to be a str") + pulumi.set(__self__, "graph_ql_url", graph_ql_url) + if introspection_config and not isinstance(introspection_config, str): + raise TypeError("Expected argument 'introspection_config' to be a str") + pulumi.set(__self__, "introspection_config", introspection_config) + if lambda_authorizer_config and not isinstance(lambda_authorizer_config, dict): + raise TypeError("Expected argument 'lambda_authorizer_config' to be a dict") + pulumi.set(__self__, "lambda_authorizer_config", lambda_authorizer_config) + if log_config and not isinstance(log_config, dict): + raise TypeError("Expected argument 'log_config' to be a dict") + pulumi.set(__self__, "log_config", log_config) + if merged_api_execution_role_arn and not isinstance(merged_api_execution_role_arn, str): + raise TypeError("Expected argument 'merged_api_execution_role_arn' to be a str") + pulumi.set(__self__, "merged_api_execution_role_arn", merged_api_execution_role_arn) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if open_id_connect_config and not isinstance(open_id_connect_config, dict): + raise TypeError("Expected argument 'open_id_connect_config' to be a dict") + pulumi.set(__self__, "open_id_connect_config", open_id_connect_config) + if owner_contact and not isinstance(owner_contact, str): + raise TypeError("Expected argument 'owner_contact' to be a str") + pulumi.set(__self__, "owner_contact", owner_contact) + if query_depth_limit and not isinstance(query_depth_limit, int): + raise TypeError("Expected argument 'query_depth_limit' to be a int") + pulumi.set(__self__, "query_depth_limit", query_depth_limit) + if realtime_dns and not isinstance(realtime_dns, str): + raise TypeError("Expected argument 'realtime_dns' to be a str") + pulumi.set(__self__, "realtime_dns", realtime_dns) + if realtime_url and not isinstance(realtime_url, str): + raise TypeError("Expected argument 'realtime_url' to be a str") + pulumi.set(__self__, "realtime_url", realtime_url) + if resolver_count_limit and not isinstance(resolver_count_limit, int): + raise TypeError("Expected argument 'resolver_count_limit' to be a int") + pulumi.set(__self__, "resolver_count_limit", resolver_count_limit) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + if user_pool_config and not isinstance(user_pool_config, dict): + raise TypeError("Expected argument 'user_pool_config' to be a dict") + pulumi.set(__self__, "user_pool_config", user_pool_config) + if visibility and not isinstance(visibility, str): + raise TypeError("Expected argument 'visibility' to be a str") + pulumi.set(__self__, "visibility", visibility) + if xray_enabled and not isinstance(xray_enabled, bool): + raise TypeError("Expected argument 'xray_enabled' to be a bool") + pulumi.set(__self__, "xray_enabled", xray_enabled) + + @property + @pulumi.getter(name="additionalAuthenticationProviders") + def additional_authentication_providers(self) -> Optional[Sequence['outputs.GraphQlApiAdditionalAuthenticationProvider']]: + """ + A list of additional authentication providers for the GraphqlApi API. + """ + return pulumi.get(self, "additional_authentication_providers") + + @property + @pulumi.getter(name="apiId") + def api_id(self) -> Optional[str]: + """ + Unique AWS AppSync GraphQL API identifier. + """ + return pulumi.get(self, "api_id") + + @property + @pulumi.getter(name="apiType") + def api_type(self) -> Optional[str]: + """ + The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + """ + return pulumi.get(self, "api_type") + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the API key + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional[str]: + """ + Security configuration for your GraphQL API + """ + return pulumi.get(self, "authentication_type") + + @property + @pulumi.getter(name="enhancedMetricsConfig") + def enhanced_metrics_config(self) -> Optional['outputs.GraphQlApiEnhancedMetricsConfig']: + """ + Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + """ + return pulumi.get(self, "enhanced_metrics_config") + + @property + @pulumi.getter(name="environmentVariables") + def environment_variables(self) -> Optional[Mapping[str, str]]: + """ + A map containing the list of resources with their properties and environment variables. + """ + return pulumi.get(self, "environment_variables") + + @property + @pulumi.getter(name="graphQlDns") + def graph_ql_dns(self) -> Optional[str]: + """ + The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + """ + return pulumi.get(self, "graph_ql_dns") + + @property + @pulumi.getter(name="graphQlEndpointArn") + def graph_ql_endpoint_arn(self) -> Optional[str]: + """ + The GraphQL endpoint ARN. + """ + return pulumi.get(self, "graph_ql_endpoint_arn") + + @property + @pulumi.getter(name="graphQlUrl") + def graph_ql_url(self) -> Optional[str]: + """ + The Endpoint URL of your GraphQL API. + """ + return pulumi.get(self, "graph_ql_url") + + @property + @pulumi.getter(name="introspectionConfig") + def introspection_config(self) -> Optional[str]: + """ + Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + """ + return pulumi.get(self, "introspection_config") + + @property + @pulumi.getter(name="lambdaAuthorizerConfig") + def lambda_authorizer_config(self) -> Optional['outputs.GraphQlApiLambdaAuthorizerConfig']: + """ + A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + """ + return pulumi.get(self, "lambda_authorizer_config") + + @property + @pulumi.getter(name="logConfig") + def log_config(self) -> Optional['outputs.GraphQlApiLogConfig']: + """ + The Amazon CloudWatch Logs configuration. + """ + return pulumi.get(self, "log_config") + + @property + @pulumi.getter(name="mergedApiExecutionRoleArn") + def merged_api_execution_role_arn(self) -> Optional[str]: + """ + The AWS Identity and Access Management service role ARN for a merged API. + """ + return pulumi.get(self, "merged_api_execution_role_arn") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The API name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="openIdConnectConfig") + def open_id_connect_config(self) -> Optional['outputs.GraphQlApiOpenIdConnectConfig']: + """ + The OpenID Connect configuration. + """ + return pulumi.get(self, "open_id_connect_config") + + @property + @pulumi.getter(name="ownerContact") + def owner_contact(self) -> Optional[str]: + """ + The owner contact information for an API resource. + """ + return pulumi.get(self, "owner_contact") + + @property + @pulumi.getter(name="queryDepthLimit") + def query_depth_limit(self) -> Optional[int]: + """ + The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + """ + return pulumi.get(self, "query_depth_limit") + + @property + @pulumi.getter(name="realtimeDns") + def realtime_dns(self) -> Optional[str]: + """ + The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + """ + return pulumi.get(self, "realtime_dns") + + @property + @pulumi.getter(name="realtimeUrl") + def realtime_url(self) -> Optional[str]: + """ + The GraphQL API real-time endpoint URL. + """ + return pulumi.get(self, "realtime_url") + + @property + @pulumi.getter(name="resolverCountLimit") + def resolver_count_limit(self) -> Optional[int]: + """ + The maximum number of resolvers that can be invoked in a single request. + """ + return pulumi.get(self, "resolver_count_limit") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + An arbitrary set of tags (key-value pairs) for this GraphQL API. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="userPoolConfig") + def user_pool_config(self) -> Optional['outputs.GraphQlApiUserPoolConfig']: + """ + Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + """ + return pulumi.get(self, "user_pool_config") + + @property + @pulumi.getter + def visibility(self) -> Optional[str]: + """ + Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + """ + return pulumi.get(self, "visibility") + + @property + @pulumi.getter(name="xrayEnabled") + def xray_enabled(self) -> Optional[bool]: + """ + A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + """ + return pulumi.get(self, "xray_enabled") + + +class AwaitableGetGraphQlApiResult(GetGraphQlApiResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetGraphQlApiResult( + additional_authentication_providers=self.additional_authentication_providers, + api_id=self.api_id, + api_type=self.api_type, + arn=self.arn, + authentication_type=self.authentication_type, + enhanced_metrics_config=self.enhanced_metrics_config, + environment_variables=self.environment_variables, + graph_ql_dns=self.graph_ql_dns, + graph_ql_endpoint_arn=self.graph_ql_endpoint_arn, + graph_ql_url=self.graph_ql_url, + introspection_config=self.introspection_config, + lambda_authorizer_config=self.lambda_authorizer_config, + log_config=self.log_config, + merged_api_execution_role_arn=self.merged_api_execution_role_arn, + name=self.name, + open_id_connect_config=self.open_id_connect_config, + owner_contact=self.owner_contact, + query_depth_limit=self.query_depth_limit, + realtime_dns=self.realtime_dns, + realtime_url=self.realtime_url, + resolver_count_limit=self.resolver_count_limit, + tags=self.tags, + user_pool_config=self.user_pool_config, + visibility=self.visibility, + xray_enabled=self.xray_enabled) + + +def get_graph_ql_api(api_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGraphQlApiResult: + """ + Resource Type definition for AWS::AppSync::GraphQLApi + + + :param str api_id: Unique AWS AppSync GraphQL API identifier. + """ + __args__ = dict() + __args__['apiId'] = api_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:appsync:getGraphQlApi', __args__, opts=opts, typ=GetGraphQlApiResult).value + + return AwaitableGetGraphQlApiResult( + additional_authentication_providers=pulumi.get(__ret__, 'additional_authentication_providers'), + api_id=pulumi.get(__ret__, 'api_id'), + api_type=pulumi.get(__ret__, 'api_type'), + arn=pulumi.get(__ret__, 'arn'), + authentication_type=pulumi.get(__ret__, 'authentication_type'), + enhanced_metrics_config=pulumi.get(__ret__, 'enhanced_metrics_config'), + environment_variables=pulumi.get(__ret__, 'environment_variables'), + graph_ql_dns=pulumi.get(__ret__, 'graph_ql_dns'), + graph_ql_endpoint_arn=pulumi.get(__ret__, 'graph_ql_endpoint_arn'), + graph_ql_url=pulumi.get(__ret__, 'graph_ql_url'), + introspection_config=pulumi.get(__ret__, 'introspection_config'), + lambda_authorizer_config=pulumi.get(__ret__, 'lambda_authorizer_config'), + log_config=pulumi.get(__ret__, 'log_config'), + merged_api_execution_role_arn=pulumi.get(__ret__, 'merged_api_execution_role_arn'), + name=pulumi.get(__ret__, 'name'), + open_id_connect_config=pulumi.get(__ret__, 'open_id_connect_config'), + owner_contact=pulumi.get(__ret__, 'owner_contact'), + query_depth_limit=pulumi.get(__ret__, 'query_depth_limit'), + realtime_dns=pulumi.get(__ret__, 'realtime_dns'), + realtime_url=pulumi.get(__ret__, 'realtime_url'), + resolver_count_limit=pulumi.get(__ret__, 'resolver_count_limit'), + tags=pulumi.get(__ret__, 'tags'), + user_pool_config=pulumi.get(__ret__, 'user_pool_config'), + visibility=pulumi.get(__ret__, 'visibility'), + xray_enabled=pulumi.get(__ret__, 'xray_enabled')) +def get_graph_ql_api_output(api_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGraphQlApiResult]: + """ + Resource Type definition for AWS::AppSync::GraphQLApi + + + :param str api_id: Unique AWS AppSync GraphQL API identifier. + """ + __args__ = dict() + __args__['apiId'] = api_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:appsync:getGraphQlApi', __args__, opts=opts, typ=GetGraphQlApiResult) + return __ret__.apply(lambda __response__: GetGraphQlApiResult( + additional_authentication_providers=pulumi.get(__response__, 'additional_authentication_providers'), + api_id=pulumi.get(__response__, 'api_id'), + api_type=pulumi.get(__response__, 'api_type'), + arn=pulumi.get(__response__, 'arn'), + authentication_type=pulumi.get(__response__, 'authentication_type'), + enhanced_metrics_config=pulumi.get(__response__, 'enhanced_metrics_config'), + environment_variables=pulumi.get(__response__, 'environment_variables'), + graph_ql_dns=pulumi.get(__response__, 'graph_ql_dns'), + graph_ql_endpoint_arn=pulumi.get(__response__, 'graph_ql_endpoint_arn'), + graph_ql_url=pulumi.get(__response__, 'graph_ql_url'), + introspection_config=pulumi.get(__response__, 'introspection_config'), + lambda_authorizer_config=pulumi.get(__response__, 'lambda_authorizer_config'), + log_config=pulumi.get(__response__, 'log_config'), + merged_api_execution_role_arn=pulumi.get(__response__, 'merged_api_execution_role_arn'), + name=pulumi.get(__response__, 'name'), + open_id_connect_config=pulumi.get(__response__, 'open_id_connect_config'), + owner_contact=pulumi.get(__response__, 'owner_contact'), + query_depth_limit=pulumi.get(__response__, 'query_depth_limit'), + realtime_dns=pulumi.get(__response__, 'realtime_dns'), + realtime_url=pulumi.get(__response__, 'realtime_url'), + resolver_count_limit=pulumi.get(__response__, 'resolver_count_limit'), + tags=pulumi.get(__response__, 'tags'), + user_pool_config=pulumi.get(__response__, 'user_pool_config'), + visibility=pulumi.get(__response__, 'visibility'), + xray_enabled=pulumi.get(__response__, 'xray_enabled'))) diff --git a/sdk/python/pulumi_aws_native/appsync/graph_ql_api.py b/sdk/python/pulumi_aws_native/appsync/graph_ql_api.py new file mode 100644 index 0000000000..7c36c12917 --- /dev/null +++ b/sdk/python/pulumi_aws_native/appsync/graph_ql_api.py @@ -0,0 +1,692 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._inputs import * + +__all__ = ['GraphQlApiArgs', 'GraphQlApi'] + +@pulumi.input_type +class GraphQlApiArgs: + def __init__(__self__, *, + authentication_type: pulumi.Input[str], + additional_authentication_providers: Optional[pulumi.Input[Sequence[pulumi.Input['GraphQlApiAdditionalAuthenticationProviderArgs']]]] = None, + api_type: Optional[pulumi.Input[str]] = None, + enhanced_metrics_config: Optional[pulumi.Input['GraphQlApiEnhancedMetricsConfigArgs']] = None, + environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + introspection_config: Optional[pulumi.Input[str]] = None, + lambda_authorizer_config: Optional[pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs']] = None, + log_config: Optional[pulumi.Input['GraphQlApiLogConfigArgs']] = None, + merged_api_execution_role_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + open_id_connect_config: Optional[pulumi.Input['GraphQlApiOpenIdConnectConfigArgs']] = None, + owner_contact: Optional[pulumi.Input[str]] = None, + query_depth_limit: Optional[pulumi.Input[int]] = None, + resolver_count_limit: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None, + user_pool_config: Optional[pulumi.Input['GraphQlApiUserPoolConfigArgs']] = None, + visibility: Optional[pulumi.Input[str]] = None, + xray_enabled: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a GraphQlApi resource. + :param pulumi.Input[str] authentication_type: Security configuration for your GraphQL API + :param pulumi.Input[Sequence[pulumi.Input['GraphQlApiAdditionalAuthenticationProviderArgs']]] additional_authentication_providers: A list of additional authentication providers for the GraphqlApi API. + :param pulumi.Input[str] api_type: The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + :param pulumi.Input['GraphQlApiEnhancedMetricsConfigArgs'] enhanced_metrics_config: Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: A map containing the list of resources with their properties and environment variables. + :param pulumi.Input[str] introspection_config: Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + :param pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs'] lambda_authorizer_config: A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + :param pulumi.Input['GraphQlApiLogConfigArgs'] log_config: The Amazon CloudWatch Logs configuration. + :param pulumi.Input[str] merged_api_execution_role_arn: The AWS Identity and Access Management service role ARN for a merged API. + :param pulumi.Input[str] name: The API name + :param pulumi.Input['GraphQlApiOpenIdConnectConfigArgs'] open_id_connect_config: The OpenID Connect configuration. + :param pulumi.Input[str] owner_contact: The owner contact information for an API resource. + :param pulumi.Input[int] query_depth_limit: The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + :param pulumi.Input[int] resolver_count_limit: The maximum number of resolvers that can be invoked in a single request. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An arbitrary set of tags (key-value pairs) for this GraphQL API. + :param pulumi.Input['GraphQlApiUserPoolConfigArgs'] user_pool_config: Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + :param pulumi.Input[str] visibility: Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + :param pulumi.Input[bool] xray_enabled: A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + """ + pulumi.set(__self__, "authentication_type", authentication_type) + if additional_authentication_providers is not None: + pulumi.set(__self__, "additional_authentication_providers", additional_authentication_providers) + if api_type is not None: + pulumi.set(__self__, "api_type", api_type) + if enhanced_metrics_config is not None: + pulumi.set(__self__, "enhanced_metrics_config", enhanced_metrics_config) + if environment_variables is not None: + pulumi.set(__self__, "environment_variables", environment_variables) + if introspection_config is not None: + pulumi.set(__self__, "introspection_config", introspection_config) + if lambda_authorizer_config is not None: + pulumi.set(__self__, "lambda_authorizer_config", lambda_authorizer_config) + if log_config is not None: + pulumi.set(__self__, "log_config", log_config) + if merged_api_execution_role_arn is not None: + pulumi.set(__self__, "merged_api_execution_role_arn", merged_api_execution_role_arn) + if name is not None: + pulumi.set(__self__, "name", name) + if open_id_connect_config is not None: + pulumi.set(__self__, "open_id_connect_config", open_id_connect_config) + if owner_contact is not None: + pulumi.set(__self__, "owner_contact", owner_contact) + if query_depth_limit is not None: + pulumi.set(__self__, "query_depth_limit", query_depth_limit) + if resolver_count_limit is not None: + pulumi.set(__self__, "resolver_count_limit", resolver_count_limit) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_pool_config is not None: + pulumi.set(__self__, "user_pool_config", user_pool_config) + if visibility is not None: + pulumi.set(__self__, "visibility", visibility) + if xray_enabled is not None: + pulumi.set(__self__, "xray_enabled", xray_enabled) + + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> pulumi.Input[str]: + """ + Security configuration for your GraphQL API + """ + return pulumi.get(self, "authentication_type") + + @authentication_type.setter + def authentication_type(self, value: pulumi.Input[str]): + pulumi.set(self, "authentication_type", value) + + @property + @pulumi.getter(name="additionalAuthenticationProviders") + def additional_authentication_providers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GraphQlApiAdditionalAuthenticationProviderArgs']]]]: + """ + A list of additional authentication providers for the GraphqlApi API. + """ + return pulumi.get(self, "additional_authentication_providers") + + @additional_authentication_providers.setter + def additional_authentication_providers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GraphQlApiAdditionalAuthenticationProviderArgs']]]]): + pulumi.set(self, "additional_authentication_providers", value) + + @property + @pulumi.getter(name="apiType") + def api_type(self) -> Optional[pulumi.Input[str]]: + """ + The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + """ + return pulumi.get(self, "api_type") + + @api_type.setter + def api_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_type", value) + + @property + @pulumi.getter(name="enhancedMetricsConfig") + def enhanced_metrics_config(self) -> Optional[pulumi.Input['GraphQlApiEnhancedMetricsConfigArgs']]: + """ + Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + """ + return pulumi.get(self, "enhanced_metrics_config") + + @enhanced_metrics_config.setter + def enhanced_metrics_config(self, value: Optional[pulumi.Input['GraphQlApiEnhancedMetricsConfigArgs']]): + pulumi.set(self, "enhanced_metrics_config", value) + + @property + @pulumi.getter(name="environmentVariables") + def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map containing the list of resources with their properties and environment variables. + """ + return pulumi.get(self, "environment_variables") + + @environment_variables.setter + def environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "environment_variables", value) + + @property + @pulumi.getter(name="introspectionConfig") + def introspection_config(self) -> Optional[pulumi.Input[str]]: + """ + Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + """ + return pulumi.get(self, "introspection_config") + + @introspection_config.setter + def introspection_config(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "introspection_config", value) + + @property + @pulumi.getter(name="lambdaAuthorizerConfig") + def lambda_authorizer_config(self) -> Optional[pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs']]: + """ + A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + """ + return pulumi.get(self, "lambda_authorizer_config") + + @lambda_authorizer_config.setter + def lambda_authorizer_config(self, value: Optional[pulumi.Input['GraphQlApiLambdaAuthorizerConfigArgs']]): + pulumi.set(self, "lambda_authorizer_config", value) + + @property + @pulumi.getter(name="logConfig") + def log_config(self) -> Optional[pulumi.Input['GraphQlApiLogConfigArgs']]: + """ + The Amazon CloudWatch Logs configuration. + """ + return pulumi.get(self, "log_config") + + @log_config.setter + def log_config(self, value: Optional[pulumi.Input['GraphQlApiLogConfigArgs']]): + pulumi.set(self, "log_config", value) + + @property + @pulumi.getter(name="mergedApiExecutionRoleArn") + def merged_api_execution_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Identity and Access Management service role ARN for a merged API. + """ + return pulumi.get(self, "merged_api_execution_role_arn") + + @merged_api_execution_role_arn.setter + def merged_api_execution_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "merged_api_execution_role_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The API name + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="openIdConnectConfig") + def open_id_connect_config(self) -> Optional[pulumi.Input['GraphQlApiOpenIdConnectConfigArgs']]: + """ + The OpenID Connect configuration. + """ + return pulumi.get(self, "open_id_connect_config") + + @open_id_connect_config.setter + def open_id_connect_config(self, value: Optional[pulumi.Input['GraphQlApiOpenIdConnectConfigArgs']]): + pulumi.set(self, "open_id_connect_config", value) + + @property + @pulumi.getter(name="ownerContact") + def owner_contact(self) -> Optional[pulumi.Input[str]]: + """ + The owner contact information for an API resource. + """ + return pulumi.get(self, "owner_contact") + + @owner_contact.setter + def owner_contact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner_contact", value) + + @property + @pulumi.getter(name="queryDepthLimit") + def query_depth_limit(self) -> Optional[pulumi.Input[int]]: + """ + The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + """ + return pulumi.get(self, "query_depth_limit") + + @query_depth_limit.setter + def query_depth_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "query_depth_limit", value) + + @property + @pulumi.getter(name="resolverCountLimit") + def resolver_count_limit(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of resolvers that can be invoked in a single request. + """ + return pulumi.get(self, "resolver_count_limit") + + @resolver_count_limit.setter + def resolver_count_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "resolver_count_limit", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + An arbitrary set of tags (key-value pairs) for this GraphQL API. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userPoolConfig") + def user_pool_config(self) -> Optional[pulumi.Input['GraphQlApiUserPoolConfigArgs']]: + """ + Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + """ + return pulumi.get(self, "user_pool_config") + + @user_pool_config.setter + def user_pool_config(self, value: Optional[pulumi.Input['GraphQlApiUserPoolConfigArgs']]): + pulumi.set(self, "user_pool_config", value) + + @property + @pulumi.getter + def visibility(self) -> Optional[pulumi.Input[str]]: + """ + Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + """ + return pulumi.get(self, "visibility") + + @visibility.setter + def visibility(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "visibility", value) + + @property + @pulumi.getter(name="xrayEnabled") + def xray_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + """ + return pulumi.get(self, "xray_enabled") + + @xray_enabled.setter + def xray_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "xray_enabled", value) + + +class GraphQlApi(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_authentication_providers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GraphQlApiAdditionalAuthenticationProviderArgs', 'GraphQlApiAdditionalAuthenticationProviderArgsDict']]]]] = None, + api_type: Optional[pulumi.Input[str]] = None, + authentication_type: Optional[pulumi.Input[str]] = None, + enhanced_metrics_config: Optional[pulumi.Input[Union['GraphQlApiEnhancedMetricsConfigArgs', 'GraphQlApiEnhancedMetricsConfigArgsDict']]] = None, + environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + introspection_config: Optional[pulumi.Input[str]] = None, + lambda_authorizer_config: Optional[pulumi.Input[Union['GraphQlApiLambdaAuthorizerConfigArgs', 'GraphQlApiLambdaAuthorizerConfigArgsDict']]] = None, + log_config: Optional[pulumi.Input[Union['GraphQlApiLogConfigArgs', 'GraphQlApiLogConfigArgsDict']]] = None, + merged_api_execution_role_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + open_id_connect_config: Optional[pulumi.Input[Union['GraphQlApiOpenIdConnectConfigArgs', 'GraphQlApiOpenIdConnectConfigArgsDict']]] = None, + owner_contact: Optional[pulumi.Input[str]] = None, + query_depth_limit: Optional[pulumi.Input[int]] = None, + resolver_count_limit: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + user_pool_config: Optional[pulumi.Input[Union['GraphQlApiUserPoolConfigArgs', 'GraphQlApiUserPoolConfigArgsDict']]] = None, + visibility: Optional[pulumi.Input[str]] = None, + xray_enabled: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource Type definition for AWS::AppSync::GraphQLApi + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['GraphQlApiAdditionalAuthenticationProviderArgs', 'GraphQlApiAdditionalAuthenticationProviderArgsDict']]]] additional_authentication_providers: A list of additional authentication providers for the GraphqlApi API. + :param pulumi.Input[str] api_type: The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + :param pulumi.Input[str] authentication_type: Security configuration for your GraphQL API + :param pulumi.Input[Union['GraphQlApiEnhancedMetricsConfigArgs', 'GraphQlApiEnhancedMetricsConfigArgsDict']] enhanced_metrics_config: Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: A map containing the list of resources with their properties and environment variables. + :param pulumi.Input[str] introspection_config: Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + :param pulumi.Input[Union['GraphQlApiLambdaAuthorizerConfigArgs', 'GraphQlApiLambdaAuthorizerConfigArgsDict']] lambda_authorizer_config: A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + :param pulumi.Input[Union['GraphQlApiLogConfigArgs', 'GraphQlApiLogConfigArgsDict']] log_config: The Amazon CloudWatch Logs configuration. + :param pulumi.Input[str] merged_api_execution_role_arn: The AWS Identity and Access Management service role ARN for a merged API. + :param pulumi.Input[str] name: The API name + :param pulumi.Input[Union['GraphQlApiOpenIdConnectConfigArgs', 'GraphQlApiOpenIdConnectConfigArgsDict']] open_id_connect_config: The OpenID Connect configuration. + :param pulumi.Input[str] owner_contact: The owner contact information for an API resource. + :param pulumi.Input[int] query_depth_limit: The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + :param pulumi.Input[int] resolver_count_limit: The maximum number of resolvers that can be invoked in a single request. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: An arbitrary set of tags (key-value pairs) for this GraphQL API. + :param pulumi.Input[Union['GraphQlApiUserPoolConfigArgs', 'GraphQlApiUserPoolConfigArgsDict']] user_pool_config: Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + :param pulumi.Input[str] visibility: Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + :param pulumi.Input[bool] xray_enabled: A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: GraphQlApiArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::AppSync::GraphQLApi + + :param str resource_name: The name of the resource. + :param GraphQlApiArgs 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(GraphQlApiArgs, 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, + additional_authentication_providers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GraphQlApiAdditionalAuthenticationProviderArgs', 'GraphQlApiAdditionalAuthenticationProviderArgsDict']]]]] = None, + api_type: Optional[pulumi.Input[str]] = None, + authentication_type: Optional[pulumi.Input[str]] = None, + enhanced_metrics_config: Optional[pulumi.Input[Union['GraphQlApiEnhancedMetricsConfigArgs', 'GraphQlApiEnhancedMetricsConfigArgsDict']]] = None, + environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + introspection_config: Optional[pulumi.Input[str]] = None, + lambda_authorizer_config: Optional[pulumi.Input[Union['GraphQlApiLambdaAuthorizerConfigArgs', 'GraphQlApiLambdaAuthorizerConfigArgsDict']]] = None, + log_config: Optional[pulumi.Input[Union['GraphQlApiLogConfigArgs', 'GraphQlApiLogConfigArgsDict']]] = None, + merged_api_execution_role_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + open_id_connect_config: Optional[pulumi.Input[Union['GraphQlApiOpenIdConnectConfigArgs', 'GraphQlApiOpenIdConnectConfigArgsDict']]] = None, + owner_contact: Optional[pulumi.Input[str]] = None, + query_depth_limit: Optional[pulumi.Input[int]] = None, + resolver_count_limit: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + user_pool_config: Optional[pulumi.Input[Union['GraphQlApiUserPoolConfigArgs', 'GraphQlApiUserPoolConfigArgsDict']]] = None, + visibility: Optional[pulumi.Input[str]] = None, + xray_enabled: Optional[pulumi.Input[bool]] = 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__ = GraphQlApiArgs.__new__(GraphQlApiArgs) + + __props__.__dict__["additional_authentication_providers"] = additional_authentication_providers + __props__.__dict__["api_type"] = api_type + if authentication_type is None and not opts.urn: + raise TypeError("Missing required property 'authentication_type'") + __props__.__dict__["authentication_type"] = authentication_type + __props__.__dict__["enhanced_metrics_config"] = enhanced_metrics_config + __props__.__dict__["environment_variables"] = environment_variables + __props__.__dict__["introspection_config"] = introspection_config + __props__.__dict__["lambda_authorizer_config"] = lambda_authorizer_config + __props__.__dict__["log_config"] = log_config + __props__.__dict__["merged_api_execution_role_arn"] = merged_api_execution_role_arn + __props__.__dict__["name"] = name + __props__.__dict__["open_id_connect_config"] = open_id_connect_config + __props__.__dict__["owner_contact"] = owner_contact + __props__.__dict__["query_depth_limit"] = query_depth_limit + __props__.__dict__["resolver_count_limit"] = resolver_count_limit + __props__.__dict__["tags"] = tags + __props__.__dict__["user_pool_config"] = user_pool_config + __props__.__dict__["visibility"] = visibility + __props__.__dict__["xray_enabled"] = xray_enabled + __props__.__dict__["api_id"] = None + __props__.__dict__["arn"] = None + __props__.__dict__["graph_ql_dns"] = None + __props__.__dict__["graph_ql_endpoint_arn"] = None + __props__.__dict__["graph_ql_url"] = None + __props__.__dict__["realtime_dns"] = None + __props__.__dict__["realtime_url"] = None + super(GraphQlApi, __self__).__init__( + 'aws-native:appsync:GraphQlApi', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'GraphQlApi': + """ + Get an existing GraphQlApi 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = GraphQlApiArgs.__new__(GraphQlApiArgs) + + __props__.__dict__["additional_authentication_providers"] = None + __props__.__dict__["api_id"] = None + __props__.__dict__["api_type"] = None + __props__.__dict__["arn"] = None + __props__.__dict__["authentication_type"] = None + __props__.__dict__["enhanced_metrics_config"] = None + __props__.__dict__["environment_variables"] = None + __props__.__dict__["graph_ql_dns"] = None + __props__.__dict__["graph_ql_endpoint_arn"] = None + __props__.__dict__["graph_ql_url"] = None + __props__.__dict__["introspection_config"] = None + __props__.__dict__["lambda_authorizer_config"] = None + __props__.__dict__["log_config"] = None + __props__.__dict__["merged_api_execution_role_arn"] = None + __props__.__dict__["name"] = None + __props__.__dict__["open_id_connect_config"] = None + __props__.__dict__["owner_contact"] = None + __props__.__dict__["query_depth_limit"] = None + __props__.__dict__["realtime_dns"] = None + __props__.__dict__["realtime_url"] = None + __props__.__dict__["resolver_count_limit"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["user_pool_config"] = None + __props__.__dict__["visibility"] = None + __props__.__dict__["xray_enabled"] = None + return GraphQlApi(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="additionalAuthenticationProviders") + def additional_authentication_providers(self) -> pulumi.Output[Optional[Sequence['outputs.GraphQlApiAdditionalAuthenticationProvider']]]: + """ + A list of additional authentication providers for the GraphqlApi API. + """ + return pulumi.get(self, "additional_authentication_providers") + + @property + @pulumi.getter(name="apiId") + def api_id(self) -> pulumi.Output[str]: + """ + Unique AWS AppSync GraphQL API identifier. + """ + return pulumi.get(self, "api_id") + + @property + @pulumi.getter(name="apiType") + def api_type(self) -> pulumi.Output[Optional[str]]: + """ + The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED). + """ + return pulumi.get(self, "api_type") + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the API key + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> pulumi.Output[str]: + """ + Security configuration for your GraphQL API + """ + return pulumi.get(self, "authentication_type") + + @property + @pulumi.getter(name="enhancedMetricsConfig") + def enhanced_metrics_config(self) -> pulumi.Output[Optional['outputs.GraphQlApiEnhancedMetricsConfig']]: + """ + Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent. + """ + return pulumi.get(self, "enhanced_metrics_config") + + @property + @pulumi.getter(name="environmentVariables") + def environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map containing the list of resources with their properties and environment variables. + """ + return pulumi.get(self, "environment_variables") + + @property + @pulumi.getter(name="graphQlDns") + def graph_ql_dns(self) -> pulumi.Output[str]: + """ + The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API. + """ + return pulumi.get(self, "graph_ql_dns") + + @property + @pulumi.getter(name="graphQlEndpointArn") + def graph_ql_endpoint_arn(self) -> pulumi.Output[str]: + """ + The GraphQL endpoint ARN. + """ + return pulumi.get(self, "graph_ql_endpoint_arn") + + @property + @pulumi.getter(name="graphQlUrl") + def graph_ql_url(self) -> pulumi.Output[str]: + """ + The Endpoint URL of your GraphQL API. + """ + return pulumi.get(self, "graph_ql_url") + + @property + @pulumi.getter(name="introspectionConfig") + def introspection_config(self) -> pulumi.Output[Optional[str]]: + """ + Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled. + """ + return pulumi.get(self, "introspection_config") + + @property + @pulumi.getter(name="lambdaAuthorizerConfig") + def lambda_authorizer_config(self) -> pulumi.Output[Optional['outputs.GraphQlApiLambdaAuthorizerConfig']]: + """ + A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time. + """ + return pulumi.get(self, "lambda_authorizer_config") + + @property + @pulumi.getter(name="logConfig") + def log_config(self) -> pulumi.Output[Optional['outputs.GraphQlApiLogConfig']]: + """ + The Amazon CloudWatch Logs configuration. + """ + return pulumi.get(self, "log_config") + + @property + @pulumi.getter(name="mergedApiExecutionRoleArn") + def merged_api_execution_role_arn(self) -> pulumi.Output[Optional[str]]: + """ + The AWS Identity and Access Management service role ARN for a merged API. + """ + return pulumi.get(self, "merged_api_execution_role_arn") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The API name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="openIdConnectConfig") + def open_id_connect_config(self) -> pulumi.Output[Optional['outputs.GraphQlApiOpenIdConnectConfig']]: + """ + The OpenID Connect configuration. + """ + return pulumi.get(self, "open_id_connect_config") + + @property + @pulumi.getter(name="ownerContact") + def owner_contact(self) -> pulumi.Output[Optional[str]]: + """ + The owner contact information for an API resource. + """ + return pulumi.get(self, "owner_contact") + + @property + @pulumi.getter(name="queryDepthLimit") + def query_depth_limit(self) -> pulumi.Output[Optional[int]]: + """ + The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query. + """ + return pulumi.get(self, "query_depth_limit") + + @property + @pulumi.getter(name="realtimeDns") + def realtime_dns(self) -> pulumi.Output[str]: + """ + The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API. + """ + return pulumi.get(self, "realtime_dns") + + @property + @pulumi.getter(name="realtimeUrl") + def realtime_url(self) -> pulumi.Output[str]: + """ + The GraphQL API real-time endpoint URL. + """ + return pulumi.get(self, "realtime_url") + + @property + @pulumi.getter(name="resolverCountLimit") + def resolver_count_limit(self) -> pulumi.Output[Optional[int]]: + """ + The maximum number of resolvers that can be invoked in a single request. + """ + return pulumi.get(self, "resolver_count_limit") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + An arbitrary set of tags (key-value pairs) for this GraphQL API. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="userPoolConfig") + def user_pool_config(self) -> pulumi.Output[Optional['outputs.GraphQlApiUserPoolConfig']]: + """ + Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint. + """ + return pulumi.get(self, "user_pool_config") + + @property + @pulumi.getter + def visibility(self) -> pulumi.Output[Optional[str]]: + """ + Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided. + """ + return pulumi.get(self, "visibility") + + @property + @pulumi.getter(name="xrayEnabled") + def xray_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi. + """ + return pulumi.get(self, "xray_enabled") + diff --git a/sdk/python/pulumi_aws_native/appsync/outputs.py b/sdk/python/pulumi_aws_native/appsync/outputs.py index 7d161cf65d..ab43582676 100644 --- a/sdk/python/pulumi_aws_native/appsync/outputs.py +++ b/sdk/python/pulumi_aws_native/appsync/outputs.py @@ -31,6 +31,13 @@ 'FunctionConfigurationAppSyncRuntime', 'FunctionConfigurationLambdaConflictHandlerConfig', 'FunctionConfigurationSyncConfig', + 'GraphQlApiAdditionalAuthenticationProvider', + 'GraphQlApiCognitoUserPoolConfig', + 'GraphQlApiEnhancedMetricsConfig', + 'GraphQlApiLambdaAuthorizerConfig', + 'GraphQlApiLogConfig', + 'GraphQlApiOpenIdConnectConfig', + 'GraphQlApiUserPoolConfig', 'ResolverAppSyncRuntime', 'ResolverCachingConfig', 'ResolverLambdaConflictHandlerConfig', @@ -789,6 +796,490 @@ def lambda_conflict_handler_config(self) -> Optional['outputs.FunctionConfigurat return pulumi.get(self, "lambda_conflict_handler_config") +@pulumi.output_type +class GraphQlApiAdditionalAuthenticationProvider(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authenticationType": + suggest = "authentication_type" + elif key == "lambdaAuthorizerConfig": + suggest = "lambda_authorizer_config" + elif key == "openIdConnectConfig": + suggest = "open_id_connect_config" + elif key == "userPoolConfig": + suggest = "user_pool_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GraphQlApiAdditionalAuthenticationProvider. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GraphQlApiAdditionalAuthenticationProvider.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GraphQlApiAdditionalAuthenticationProvider.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + authentication_type: str, + lambda_authorizer_config: Optional['outputs.GraphQlApiLambdaAuthorizerConfig'] = None, + open_id_connect_config: Optional['outputs.GraphQlApiOpenIdConnectConfig'] = None, + user_pool_config: Optional['outputs.GraphQlApiCognitoUserPoolConfig'] = None): + """ + :param str authentication_type: The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + :param 'GraphQlApiLambdaAuthorizerConfig' lambda_authorizer_config: Configuration for AWS Lambda function authorization. + :param 'GraphQlApiOpenIdConnectConfig' open_id_connect_config: The OIDC configuration. + :param 'GraphQlApiCognitoUserPoolConfig' user_pool_config: The Amazon Cognito user pool configuration. + """ + pulumi.set(__self__, "authentication_type", authentication_type) + if lambda_authorizer_config is not None: + pulumi.set(__self__, "lambda_authorizer_config", lambda_authorizer_config) + if open_id_connect_config is not None: + pulumi.set(__self__, "open_id_connect_config", open_id_connect_config) + if user_pool_config is not None: + pulumi.set(__self__, "user_pool_config", user_pool_config) + + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> str: + """ + The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda. + """ + return pulumi.get(self, "authentication_type") + + @property + @pulumi.getter(name="lambdaAuthorizerConfig") + def lambda_authorizer_config(self) -> Optional['outputs.GraphQlApiLambdaAuthorizerConfig']: + """ + Configuration for AWS Lambda function authorization. + """ + return pulumi.get(self, "lambda_authorizer_config") + + @property + @pulumi.getter(name="openIdConnectConfig") + def open_id_connect_config(self) -> Optional['outputs.GraphQlApiOpenIdConnectConfig']: + """ + The OIDC configuration. + """ + return pulumi.get(self, "open_id_connect_config") + + @property + @pulumi.getter(name="userPoolConfig") + def user_pool_config(self) -> Optional['outputs.GraphQlApiCognitoUserPoolConfig']: + """ + The Amazon Cognito user pool configuration. + """ + return pulumi.get(self, "user_pool_config") + + +@pulumi.output_type +class GraphQlApiCognitoUserPoolConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "appIdClientRegex": + suggest = "app_id_client_regex" + elif key == "awsRegion": + suggest = "aws_region" + elif key == "userPoolId": + suggest = "user_pool_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GraphQlApiCognitoUserPoolConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GraphQlApiCognitoUserPoolConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GraphQlApiCognitoUserPoolConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + app_id_client_regex: Optional[str] = None, + aws_region: Optional[str] = None, + user_pool_id: Optional[str] = None): + """ + :param str app_id_client_regex: A regular expression for validating the incoming Amazon Cognito user pool app client ID. + :param str aws_region: The AWS Region in which the user pool was created. + :param str user_pool_id: The user pool ID + """ + if app_id_client_regex is not None: + pulumi.set(__self__, "app_id_client_regex", app_id_client_regex) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if user_pool_id is not None: + pulumi.set(__self__, "user_pool_id", user_pool_id) + + @property + @pulumi.getter(name="appIdClientRegex") + def app_id_client_regex(self) -> Optional[str]: + """ + A regular expression for validating the incoming Amazon Cognito user pool app client ID. + """ + return pulumi.get(self, "app_id_client_regex") + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[str]: + """ + The AWS Region in which the user pool was created. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter(name="userPoolId") + def user_pool_id(self) -> Optional[str]: + """ + The user pool ID + """ + return pulumi.get(self, "user_pool_id") + + +@pulumi.output_type +class GraphQlApiEnhancedMetricsConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataSourceLevelMetricsBehavior": + suggest = "data_source_level_metrics_behavior" + elif key == "operationLevelMetricsConfig": + suggest = "operation_level_metrics_config" + elif key == "resolverLevelMetricsBehavior": + suggest = "resolver_level_metrics_behavior" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GraphQlApiEnhancedMetricsConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GraphQlApiEnhancedMetricsConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GraphQlApiEnhancedMetricsConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_source_level_metrics_behavior: str, + operation_level_metrics_config: str, + resolver_level_metrics_behavior: str): + """ + :param str data_source_level_metrics_behavior: Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + :param str operation_level_metrics_config: Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + :param str resolver_level_metrics_behavior: Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + """ + pulumi.set(__self__, "data_source_level_metrics_behavior", data_source_level_metrics_behavior) + pulumi.set(__self__, "operation_level_metrics_config", operation_level_metrics_config) + pulumi.set(__self__, "resolver_level_metrics_behavior", resolver_level_metrics_behavior) + + @property + @pulumi.getter(name="dataSourceLevelMetricsBehavior") + def data_source_level_metrics_behavior(self) -> str: + """ + Controls how data source metrics will be emitted to CloudWatch. Data source metrics include: + """ + return pulumi.get(self, "data_source_level_metrics_behavior") + + @property + @pulumi.getter(name="operationLevelMetricsConfig") + def operation_level_metrics_config(self) -> str: + """ + Controls how operation metrics will be emitted to CloudWatch. Operation metrics include: + """ + return pulumi.get(self, "operation_level_metrics_config") + + @property + @pulumi.getter(name="resolverLevelMetricsBehavior") + def resolver_level_metrics_behavior(self) -> str: + """ + Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include: + """ + return pulumi.get(self, "resolver_level_metrics_behavior") + + +@pulumi.output_type +class GraphQlApiLambdaAuthorizerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authorizerResultTtlInSeconds": + suggest = "authorizer_result_ttl_in_seconds" + elif key == "authorizerUri": + suggest = "authorizer_uri" + elif key == "identityValidationExpression": + suggest = "identity_validation_expression" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GraphQlApiLambdaAuthorizerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GraphQlApiLambdaAuthorizerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GraphQlApiLambdaAuthorizerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + authorizer_result_ttl_in_seconds: Optional[int] = None, + authorizer_uri: Optional[str] = None, + identity_validation_expression: Optional[str] = None): + """ + :param int authorizer_result_ttl_in_seconds: The number of seconds a response should be cached for. + :param str authorizer_uri: The ARN of the Lambda function to be called for authorization. + :param str identity_validation_expression: A regular expression for validation of tokens before the Lambda function is called. + """ + if authorizer_result_ttl_in_seconds is not None: + pulumi.set(__self__, "authorizer_result_ttl_in_seconds", authorizer_result_ttl_in_seconds) + if authorizer_uri is not None: + pulumi.set(__self__, "authorizer_uri", authorizer_uri) + if identity_validation_expression is not None: + pulumi.set(__self__, "identity_validation_expression", identity_validation_expression) + + @property + @pulumi.getter(name="authorizerResultTtlInSeconds") + def authorizer_result_ttl_in_seconds(self) -> Optional[int]: + """ + The number of seconds a response should be cached for. + """ + return pulumi.get(self, "authorizer_result_ttl_in_seconds") + + @property + @pulumi.getter(name="authorizerUri") + def authorizer_uri(self) -> Optional[str]: + """ + The ARN of the Lambda function to be called for authorization. + """ + return pulumi.get(self, "authorizer_uri") + + @property + @pulumi.getter(name="identityValidationExpression") + def identity_validation_expression(self) -> Optional[str]: + """ + A regular expression for validation of tokens before the Lambda function is called. + """ + return pulumi.get(self, "identity_validation_expression") + + +@pulumi.output_type +class GraphQlApiLogConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cloudWatchLogsRoleArn": + suggest = "cloud_watch_logs_role_arn" + elif key == "excludeVerboseContent": + suggest = "exclude_verbose_content" + elif key == "fieldLogLevel": + suggest = "field_log_level" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GraphQlApiLogConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GraphQlApiLogConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GraphQlApiLogConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cloud_watch_logs_role_arn: Optional[str] = None, + exclude_verbose_content: Optional[bool] = None, + field_log_level: Optional[str] = None): + """ + :param str cloud_watch_logs_role_arn: The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + :param bool exclude_verbose_content: Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + :param str field_log_level: The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + """ + if cloud_watch_logs_role_arn is not None: + pulumi.set(__self__, "cloud_watch_logs_role_arn", cloud_watch_logs_role_arn) + if exclude_verbose_content is not None: + pulumi.set(__self__, "exclude_verbose_content", exclude_verbose_content) + if field_log_level is not None: + pulumi.set(__self__, "field_log_level", field_log_level) + + @property + @pulumi.getter(name="cloudWatchLogsRoleArn") + def cloud_watch_logs_role_arn(self) -> Optional[str]: + """ + The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account. + """ + return pulumi.get(self, "cloud_watch_logs_role_arn") + + @property + @pulumi.getter(name="excludeVerboseContent") + def exclude_verbose_content(self) -> Optional[bool]: + """ + Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level. + """ + return pulumi.get(self, "exclude_verbose_content") + + @property + @pulumi.getter(name="fieldLogLevel") + def field_log_level(self) -> Optional[str]: + """ + The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL. + """ + return pulumi.get(self, "field_log_level") + + +@pulumi.output_type +class GraphQlApiOpenIdConnectConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authTtl": + suggest = "auth_ttl" + elif key == "clientId": + suggest = "client_id" + elif key == "iatTtl": + suggest = "iat_ttl" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GraphQlApiOpenIdConnectConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GraphQlApiOpenIdConnectConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GraphQlApiOpenIdConnectConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auth_ttl: Optional[float] = None, + client_id: Optional[str] = None, + iat_ttl: Optional[float] = None, + issuer: Optional[str] = None): + """ + :param float auth_ttl: The number of milliseconds that a token is valid after being authenticated. + :param str client_id: The client identifier of the Relying party at the OpenID identity provider. + :param float iat_ttl: The number of milliseconds that a token is valid after it's issued to a user. + :param str issuer: The issuer for the OIDC configuration. + """ + if auth_ttl is not None: + pulumi.set(__self__, "auth_ttl", auth_ttl) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if iat_ttl is not None: + pulumi.set(__self__, "iat_ttl", iat_ttl) + if issuer is not None: + pulumi.set(__self__, "issuer", issuer) + + @property + @pulumi.getter(name="authTtl") + def auth_ttl(self) -> Optional[float]: + """ + The number of milliseconds that a token is valid after being authenticated. + """ + return pulumi.get(self, "auth_ttl") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[str]: + """ + The client identifier of the Relying party at the OpenID identity provider. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="iatTtl") + def iat_ttl(self) -> Optional[float]: + """ + The number of milliseconds that a token is valid after it's issued to a user. + """ + return pulumi.get(self, "iat_ttl") + + @property + @pulumi.getter + def issuer(self) -> Optional[str]: + """ + The issuer for the OIDC configuration. + """ + return pulumi.get(self, "issuer") + + +@pulumi.output_type +class GraphQlApiUserPoolConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "appIdClientRegex": + suggest = "app_id_client_regex" + elif key == "awsRegion": + suggest = "aws_region" + elif key == "defaultAction": + suggest = "default_action" + elif key == "userPoolId": + suggest = "user_pool_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GraphQlApiUserPoolConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GraphQlApiUserPoolConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GraphQlApiUserPoolConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + app_id_client_regex: Optional[str] = None, + aws_region: Optional[str] = None, + default_action: Optional[str] = None, + user_pool_id: Optional[str] = None): + """ + :param str app_id_client_regex: A regular expression for validating the incoming Amazon Cognito user pool app client ID. + :param str aws_region: The AWS Region in which the user pool was created. + :param str default_action: The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + :param str user_pool_id: The user pool ID. + """ + if app_id_client_regex is not None: + pulumi.set(__self__, "app_id_client_regex", app_id_client_regex) + if aws_region is not None: + pulumi.set(__self__, "aws_region", aws_region) + if default_action is not None: + pulumi.set(__self__, "default_action", default_action) + if user_pool_id is not None: + pulumi.set(__self__, "user_pool_id", user_pool_id) + + @property + @pulumi.getter(name="appIdClientRegex") + def app_id_client_regex(self) -> Optional[str]: + """ + A regular expression for validating the incoming Amazon Cognito user pool app client ID. + """ + return pulumi.get(self, "app_id_client_regex") + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> Optional[str]: + """ + The AWS Region in which the user pool was created. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter(name="defaultAction") + def default_action(self) -> Optional[str]: + """ + The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration. + """ + return pulumi.get(self, "default_action") + + @property + @pulumi.getter(name="userPoolId") + def user_pool_id(self) -> Optional[str]: + """ + The user pool ID. + """ + return pulumi.get(self, "user_pool_id") + + @pulumi.output_type class ResolverAppSyncRuntime(dict): """ diff --git a/sdk/python/pulumi_aws_native/autoscaling/_inputs.py b/sdk/python/pulumi_aws_native/autoscaling/_inputs.py index 49091f3e8f..a5d2aa8b60 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/_inputs.py +++ b/sdk/python/pulumi_aws_native/autoscaling/_inputs.py @@ -2308,7 +2308,33 @@ def min(self, value: Optional[pulumi.Input[float]]): if not MYPY: class AutoScalingGroupTrafficSourceIdentifierArgsDict(TypedDict): identifier: pulumi.Input[str] + """ + Identifies the traffic source. + + For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + + For example: + + - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + - Classic Load Balancer name: `my-classic-load-balancer` + - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + + To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + + To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + """ type: pulumi.Input[str] + """ + Provides additional context for the value of `Identifier` . + + The following lists the valid values: + + - `elb` if `Identifier` is the name of a Classic Load Balancer. + - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + + Required if the identifier is the name of a Classic Load Balancer. + """ elif False: AutoScalingGroupTrafficSourceIdentifierArgsDict: TypeAlias = Mapping[str, Any] @@ -2317,12 +2343,51 @@ class AutoScalingGroupTrafficSourceIdentifierArgs: def __init__(__self__, *, identifier: pulumi.Input[str], type: pulumi.Input[str]): + """ + :param pulumi.Input[str] identifier: Identifies the traffic source. + + For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + + For example: + + - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + - Classic Load Balancer name: `my-classic-load-balancer` + - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + + To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + + To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + :param pulumi.Input[str] type: Provides additional context for the value of `Identifier` . + + The following lists the valid values: + + - `elb` if `Identifier` is the name of a Classic Load Balancer. + - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + + Required if the identifier is the name of a Classic Load Balancer. + """ pulumi.set(__self__, "identifier", identifier) pulumi.set(__self__, "type", type) @property @pulumi.getter def identifier(self) -> pulumi.Input[str]: + """ + Identifies the traffic source. + + For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + + For example: + + - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + - Classic Load Balancer name: `my-classic-load-balancer` + - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + + To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + + To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + """ return pulumi.get(self, "identifier") @identifier.setter @@ -2332,6 +2397,17 @@ def identifier(self, value: pulumi.Input[str]): @property @pulumi.getter def type(self) -> pulumi.Input[str]: + """ + Provides additional context for the value of `Identifier` . + + The following lists the valid values: + + - `elb` if `Identifier` is the name of a Classic Load Balancer. + - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + + Required if the identifier is the name of a Classic Load Balancer. + """ return pulumi.get(self, "type") @type.setter diff --git a/sdk/python/pulumi_aws_native/autoscaling/auto_scaling_group.py b/sdk/python/pulumi_aws_native/autoscaling/auto_scaling_group.py index 31d57674f5..69e344f0fb 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/auto_scaling_group.py +++ b/sdk/python/pulumi_aws_native/autoscaling/auto_scaling_group.py @@ -104,6 +104,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] target_group_arns: The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*. :param pulumi.Input[Sequence[pulumi.Input[str]]] termination_policies: A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` + :param pulumi.Input[Sequence[pulumi.Input['AutoScalingGroupTrafficSourceIdentifierArgs']]] traffic_sources: The traffic sources associated with this Auto Scaling group. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_zone_identifier: A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). @@ -540,6 +541,9 @@ def termination_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Inpu @property @pulumi.getter(name="trafficSources") def traffic_sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AutoScalingGroupTrafficSourceIdentifierArgs']]]]: + """ + The traffic sources associated with this Auto Scaling group. + """ return pulumi.get(self, "traffic_sources") @traffic_sources.setter @@ -657,6 +661,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] target_group_arns: The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*. :param pulumi.Input[Sequence[pulumi.Input[str]]] termination_policies: A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias`` + :param pulumi.Input[Sequence[pulumi.Input[Union['AutoScalingGroupTrafficSourceIdentifierArgs', 'AutoScalingGroupTrafficSourceIdentifierArgsDict']]]] traffic_sources: The traffic sources associated with this Auto Scaling group. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_zone_identifier: A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). @@ -1075,6 +1080,9 @@ def termination_policies(self) -> pulumi.Output[Optional[Sequence[str]]]: @property @pulumi.getter(name="trafficSources") def traffic_sources(self) -> pulumi.Output[Optional[Sequence['outputs.AutoScalingGroupTrafficSourceIdentifier']]]: + """ + The traffic sources associated with this Auto Scaling group. + """ return pulumi.get(self, "traffic_sources") @property diff --git a/sdk/python/pulumi_aws_native/autoscaling/get_auto_scaling_group.py b/sdk/python/pulumi_aws_native/autoscaling/get_auto_scaling_group.py index 08a9c57359..ef7cca5486 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/get_auto_scaling_group.py +++ b/sdk/python/pulumi_aws_native/autoscaling/get_auto_scaling_group.py @@ -348,6 +348,9 @@ def termination_policies(self) -> Optional[Sequence[str]]: @property @pulumi.getter(name="trafficSources") def traffic_sources(self) -> Optional[Sequence['outputs.AutoScalingGroupTrafficSourceIdentifier']]: + """ + The traffic sources associated with this Auto Scaling group. + """ return pulumi.get(self, "traffic_sources") @property diff --git a/sdk/python/pulumi_aws_native/autoscaling/outputs.py b/sdk/python/pulumi_aws_native/autoscaling/outputs.py index d92ab869d0..cb28af4d19 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/outputs.py +++ b/sdk/python/pulumi_aws_native/autoscaling/outputs.py @@ -1719,17 +1719,67 @@ class AutoScalingGroupTrafficSourceIdentifier(dict): def __init__(__self__, *, identifier: str, type: str): + """ + :param str identifier: Identifies the traffic source. + + For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + + For example: + + - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + - Classic Load Balancer name: `my-classic-load-balancer` + - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + + To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + + To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + :param str type: Provides additional context for the value of `Identifier` . + + The following lists the valid values: + + - `elb` if `Identifier` is the name of a Classic Load Balancer. + - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + + Required if the identifier is the name of a Classic Load Balancer. + """ pulumi.set(__self__, "identifier", identifier) pulumi.set(__self__, "type", type) @property @pulumi.getter def identifier(self) -> str: + """ + Identifies the traffic source. + + For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + + For example: + + - Application Load Balancer ARN: `arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456` + - Classic Load Balancer name: `my-classic-load-balancer` + - VPC Lattice ARN: `arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456` + + To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations. + + To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation. + """ return pulumi.get(self, "identifier") @property @pulumi.getter def type(self) -> str: + """ + Provides additional context for the value of `Identifier` . + + The following lists the valid values: + + - `elb` if `Identifier` is the name of a Classic Load Balancer. + - `elbv2` if `Identifier` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + - `vpc-lattice` if `Identifier` is the ARN of a VPC Lattice target group. + + Required if the identifier is the name of a Classic Load Balancer. + """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws_native/bedrock/_enums.py b/sdk/python/pulumi_aws_native/bedrock/_enums.py index ac644d6f67..71b94e236c 100644 --- a/sdk/python/pulumi_aws_native/bedrock/_enums.py +++ b/sdk/python/pulumi_aws_native/bedrock/_enums.py @@ -59,6 +59,7 @@ class AgentActionGroupSignature(str, Enum): Action Group Signature for a BuiltIn Action """ AMAZON_USER_INPUT = "AMAZON.UserInput" + AMAZON_CODE_INTERPRETER = "AMAZON.CodeInterpreter" class AgentActionGroupState(str, Enum): diff --git a/sdk/python/pulumi_aws_native/ec2/_enums.py b/sdk/python/pulumi_aws_native/ec2/_enums.py index f2ddda4f84..85d673d638 100644 --- a/sdk/python/pulumi_aws_native/ec2/_enums.py +++ b/sdk/python/pulumi_aws_native/ec2/_enums.py @@ -767,9 +767,8 @@ class VpcEndpointType(str, Enum): class VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat(str, Enum): """ - Set log format. Default format is `json` . - - Valid values: `json` | `text` + Set log format. Default format is ``json``. + Valid values: ``json`` | ``text`` """ JSON = "json" TEXT = "text" @@ -825,11 +824,9 @@ class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue(str, Enum): class VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction(str, Enum): """ - The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - - Valid Values: `clear` | `none` | `restart` - - Default: `clear` + The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + Valid Values: ``clear`` | ``none`` | ``restart`` + Default: ``clear`` """ CLEAR = "clear" NONE = "none" @@ -838,11 +835,9 @@ class VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction(str, Enum): class VpnConnectionVpnTunnelOptionsSpecificationStartupAction(str, Enum): """ - The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - - Valid Values: `add` | `start` - - Default: `add` + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + Valid Values: ``add`` | ``start`` + Default: ``add`` """ ADD = "add" START = "start" diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py index f38d47166f..b5a88c7497 100644 --- a/sdk/python/pulumi_aws_native/ec2/_inputs.py +++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py @@ -15880,11 +15880,13 @@ def user_info_endpoint(self, value: Optional[pulumi.Input[str]]): if not MYPY: class VpnConnectionCloudwatchLogOptionsSpecificationArgsDict(TypedDict): + """ + Options for sending VPN tunnel logs to CloudWatch. + """ log_enabled: NotRequired[pulumi.Input[bool]] """ - Enable or disable VPN tunnel logging feature. Default value is `False` . - - Valid values: `True` | `False` + Enable or disable VPN tunnel logging feature. Default value is ``False``. + Valid values: ``True`` | ``False`` """ log_group_arn: NotRequired[pulumi.Input[str]] """ @@ -15892,9 +15894,8 @@ class VpnConnectionCloudwatchLogOptionsSpecificationArgsDict(TypedDict): """ log_output_format: NotRequired[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']] """ - Set log format. Default format is `json` . - - Valid values: `json` | `text` + Set log format. Default format is ``json``. + Valid values: ``json`` | ``text`` """ elif False: VpnConnectionCloudwatchLogOptionsSpecificationArgsDict: TypeAlias = Mapping[str, Any] @@ -15906,13 +15907,12 @@ def __init__(__self__, *, log_group_arn: Optional[pulumi.Input[str]] = None, log_output_format: Optional[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']] = None): """ - :param pulumi.Input[bool] log_enabled: Enable or disable VPN tunnel logging feature. Default value is `False` . - - Valid values: `True` | `False` + Options for sending VPN tunnel logs to CloudWatch. + :param pulumi.Input[bool] log_enabled: Enable or disable VPN tunnel logging feature. Default value is ``False``. + Valid values: ``True`` | ``False`` :param pulumi.Input[str] log_group_arn: The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. - :param pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat'] log_output_format: Set log format. Default format is `json` . - - Valid values: `json` | `text` + :param pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat'] log_output_format: Set log format. Default format is ``json``. + Valid values: ``json`` | ``text`` """ if log_enabled is not None: pulumi.set(__self__, "log_enabled", log_enabled) @@ -15925,9 +15925,8 @@ def __init__(__self__, *, @pulumi.getter(name="logEnabled") def log_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Enable or disable VPN tunnel logging feature. Default value is `False` . - - Valid values: `True` | `False` + Enable or disable VPN tunnel logging feature. Default value is ``False``. + Valid values: ``True`` | ``False`` """ return pulumi.get(self, "log_enabled") @@ -15951,9 +15950,8 @@ def log_group_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="logOutputFormat") def log_output_format(self) -> Optional[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']]: """ - Set log format. Default format is `json` . - - Valid values: `json` | `text` + Set log format. Default format is ``json``. + Valid values: ``json`` | ``text`` """ return pulumi.get(self, "log_output_format") @@ -15964,6 +15962,9 @@ def log_output_format(self, value: Optional[pulumi.Input['VpnConnectionCloudwatc if not MYPY: class VpnConnectionIkeVersionsRequestListValueArgsDict(TypedDict): + """ + The IKE version that is permitted for the VPN tunnel. + """ value: NotRequired[pulumi.Input['VpnConnectionIkeVersionsRequestListValueValue']] """ The IKE version. @@ -15976,6 +15977,7 @@ class VpnConnectionIkeVersionsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionIkeVersionsRequestListValueValue']] = None): """ + The IKE version that is permitted for the VPN tunnel. :param pulumi.Input['VpnConnectionIkeVersionsRequestListValueValue'] value: The IKE version. """ if value is not None: @@ -15996,6 +15998,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionIkeVersionsRequestLis if not MYPY: class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgsDict(TypedDict): + """ + Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. + """ value: NotRequired[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue']] """ The value for the encryption algorithm. @@ -16008,6 +16013,7 @@ class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue']] = None): """ + Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. :param pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue'] value: The value for the encryption algorithm. """ if value is not None: @@ -16028,6 +16034,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase1EncryptionAlgor if not MYPY: class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgsDict(TypedDict): + """ + Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. + """ value: NotRequired[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue']] """ The value for the integrity algorithm. @@ -16040,6 +16049,7 @@ class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue']] = None): """ + Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. :param pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue'] value: The value for the integrity algorithm. """ if value is not None: @@ -16060,6 +16070,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase1IntegrityAlgori if not MYPY: class VpnConnectionPhase1dhGroupNumbersRequestListValueArgsDict(TypedDict): + """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. + """ value: NotRequired[pulumi.Input[int]] """ The Diffie-Hellmann group number. @@ -16072,6 +16085,7 @@ class VpnConnectionPhase1dhGroupNumbersRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input[int]] = None): """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. :param pulumi.Input[int] value: The Diffie-Hellmann group number. """ if value is not None: @@ -16092,6 +16106,9 @@ def value(self, value: Optional[pulumi.Input[int]]): if not MYPY: class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgsDict(TypedDict): + """ + Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. + """ value: NotRequired[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue']] """ The encryption algorithm. @@ -16104,6 +16121,7 @@ class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue']] = None): """ + Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. :param pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue'] value: The encryption algorithm. """ if value is not None: @@ -16124,6 +16142,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase2EncryptionAlgor if not MYPY: class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgsDict(TypedDict): + """ + Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. + """ value: NotRequired[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue']] """ The integrity algorithm. @@ -16136,6 +16157,7 @@ class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue']] = None): """ + Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. :param pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue'] value: The integrity algorithm. """ if value is not None: @@ -16156,6 +16178,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase2IntegrityAlgori if not MYPY: class VpnConnectionPhase2dhGroupNumbersRequestListValueArgsDict(TypedDict): + """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. + """ value: NotRequired[pulumi.Input[int]] """ The Diffie-Hellmann group number. @@ -16168,6 +16193,7 @@ class VpnConnectionPhase2dhGroupNumbersRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input[int]] = None): """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. :param pulumi.Input[int] value: The Diffie-Hellmann group number. """ if value is not None: @@ -16188,6 +16214,9 @@ def value(self, value: Optional[pulumi.Input[int]]): if not MYPY: class VpnConnectionVpnTunnelLogOptionsSpecificationArgsDict(TypedDict): + """ + Options for logging VPN tunnel activity. + """ cloudwatch_log_options: NotRequired[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationArgsDict']] """ Options for sending VPN tunnel logs to CloudWatch. @@ -16200,6 +16229,7 @@ class VpnConnectionVpnTunnelLogOptionsSpecificationArgs: def __init__(__self__, *, cloudwatch_log_options: Optional[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationArgs']] = None): """ + Options for logging VPN tunnel activity. :param pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationArgs'] cloudwatch_log_options: Options for sending VPN tunnel logs to CloudWatch. """ if cloudwatch_log_options is not None: @@ -16225,19 +16255,15 @@ class VpnConnectionVpnTunnelOptionsSpecificationArgsDict(TypedDict): """ dpd_timeout_action: NotRequired[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction']] """ - The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - - Valid Values: `clear` | `none` | `restart` - - Default: `clear` + The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + Valid Values: ``clear`` | ``none`` | ``restart`` + Default: ``clear`` """ dpd_timeout_seconds: NotRequired[pulumi.Input[int]] """ The number of seconds after which a DPD timeout occurs. - - Constraints: A value greater than or equal to 30. - - Default: `30` + Constraints: A value greater than or equal to 30. + Default: ``30`` """ enable_tunnel_lifecycle_control: NotRequired[pulumi.Input[bool]] """ @@ -16246,8 +16272,7 @@ class VpnConnectionVpnTunnelOptionsSpecificationArgsDict(TypedDict): ike_versions: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionIkeVersionsRequestListValueArgsDict']]]] """ The IKE versions that are permitted for the VPN tunnel. - - Valid values: `ikev1` | `ikev2` + Valid values: ``ikev1`` | ``ikev2`` """ log_options: NotRequired[pulumi.Input['VpnConnectionVpnTunnelLogOptionsSpecificationArgsDict']] """ @@ -16256,54 +16281,44 @@ class VpnConnectionVpnTunnelOptionsSpecificationArgsDict(TypedDict): phase1_encryption_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgsDict']]]] """ One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` """ phase1_integrity_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgsDict']]]] """ One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` """ phase1_lifetime_seconds: NotRequired[pulumi.Input[int]] """ The lifetime for phase 1 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 28,800. - - Default: `28800` + Constraints: A value between 900 and 28,800. + Default: ``28800`` """ phase1dh_group_numbers: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1dhGroupNumbersRequestListValueArgsDict']]]] """ One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` """ phase2_encryption_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgsDict']]]] """ One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` """ phase2_integrity_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgsDict']]]] """ One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` """ phase2_lifetime_seconds: NotRequired[pulumi.Input[int]] """ The lifetime for phase 2 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - - Default: `3600` + Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + Default: ``3600`` """ phase2dh_group_numbers: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2dhGroupNumbersRequestListValueArgsDict']]]] """ One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` """ pre_shared_key: NotRequired[pulumi.Input[str]] """ @@ -16312,35 +16327,27 @@ class VpnConnectionVpnTunnelOptionsSpecificationArgsDict(TypedDict): """ rekey_fuzz_percentage: NotRequired[pulumi.Input[int]] """ - The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - - Constraints: A value between 0 and 100. - - Default: `100` + The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + Constraints: A value between 0 and 100. + Default: ``100`` """ rekey_margin_time_seconds: NotRequired[pulumi.Input[int]] """ - The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - - Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - - Default: `270` + The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + Default: ``270`` """ replay_window_size: NotRequired[pulumi.Input[int]] """ The number of packets in an IKE replay window. - - Constraints: A value between 64 and 2048. - - Default: `1024` + Constraints: A value between 64 and 2048. + Default: ``1024`` """ startup_action: NotRequired[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationStartupAction']] """ - The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - - Valid Values: `add` | `start` - - Default: `add` + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + Valid Values: ``add`` | ``start`` + Default: ``add`` """ tunnel_inside_cidr: NotRequired[pulumi.Input[str]] """ @@ -16357,8 +16364,7 @@ class VpnConnectionVpnTunnelOptionsSpecificationArgsDict(TypedDict): tunnel_inside_ipv6_cidr: NotRequired[pulumi.Input[str]] """ The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - - Constraints: A size /126 CIDR block from the local `fd00::/8` range. + Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. """ elif False: VpnConnectionVpnTunnelOptionsSpecificationArgsDict: TypeAlias = Mapping[str, Any] @@ -16388,71 +16394,48 @@ def __init__(__self__, *, tunnel_inside_ipv6_cidr: Optional[pulumi.Input[str]] = None): """ The tunnel options for a single VPN tunnel. - :param pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction'] dpd_timeout_action: The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - - Valid Values: `clear` | `none` | `restart` - - Default: `clear` + :param pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction'] dpd_timeout_action: The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + Valid Values: ``clear`` | ``none`` | ``restart`` + Default: ``clear`` :param pulumi.Input[int] dpd_timeout_seconds: The number of seconds after which a DPD timeout occurs. - - Constraints: A value greater than or equal to 30. - - Default: `30` + Constraints: A value greater than or equal to 30. + Default: ``30`` :param pulumi.Input[bool] enable_tunnel_lifecycle_control: Turn on or off tunnel endpoint lifecycle control feature. :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionIkeVersionsRequestListValueArgs']]] ike_versions: The IKE versions that are permitted for the VPN tunnel. - - Valid values: `ikev1` | `ikev2` + Valid values: ``ikev1`` | ``ikev2`` :param pulumi.Input['VpnConnectionVpnTunnelLogOptionsSpecificationArgs'] log_options: Options for logging VPN tunnel activity. :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs']]] phase1_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs']]] phase1_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` :param pulumi.Input[int] phase1_lifetime_seconds: The lifetime for phase 1 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 28,800. - - Default: `28800` + Constraints: A value between 900 and 28,800. + Default: ``28800`` :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1dhGroupNumbersRequestListValueArgs']]] phase1dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs']]] phase2_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs']]] phase2_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` :param pulumi.Input[int] phase2_lifetime_seconds: The lifetime for phase 2 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - - Default: `3600` + Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + Default: ``3600`` :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2dhGroupNumbersRequestListValueArgs']]] phase2dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` :param pulumi.Input[str] pre_shared_key: The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). - :param pulumi.Input[int] rekey_fuzz_percentage: The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - - Constraints: A value between 0 and 100. - - Default: `100` - :param pulumi.Input[int] rekey_margin_time_seconds: The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - - Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - - Default: `270` + :param pulumi.Input[int] rekey_fuzz_percentage: The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + Constraints: A value between 0 and 100. + Default: ``100`` + :param pulumi.Input[int] rekey_margin_time_seconds: The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + Default: ``270`` :param pulumi.Input[int] replay_window_size: The number of packets in an IKE replay window. - - Constraints: A value between 64 and 2048. - - Default: `1024` - :param pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationStartupAction'] startup_action: The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - - Valid Values: `add` | `start` - - Default: `add` + Constraints: A value between 64 and 2048. + Default: ``1024`` + :param pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationStartupAction'] startup_action: The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + Valid Values: ``add`` | ``start`` + Default: ``add`` :param pulumi.Input[str] tunnel_inside_cidr: The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: + ``169.254.0.0/30`` @@ -16463,8 +16446,7 @@ def __init__(__self__, *, + ``169.254.5.0/30`` + ``169.254.169.252/30`` :param pulumi.Input[str] tunnel_inside_ipv6_cidr: The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - - Constraints: A size /126 CIDR block from the local `fd00::/8` range. + Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. """ if dpd_timeout_action is not None: pulumi.set(__self__, "dpd_timeout_action", dpd_timeout_action) @@ -16511,11 +16493,9 @@ def __init__(__self__, *, @pulumi.getter(name="dpdTimeoutAction") def dpd_timeout_action(self) -> Optional[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction']]: """ - The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - - Valid Values: `clear` | `none` | `restart` - - Default: `clear` + The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + Valid Values: ``clear`` | ``none`` | ``restart`` + Default: ``clear`` """ return pulumi.get(self, "dpd_timeout_action") @@ -16528,10 +16508,8 @@ def dpd_timeout_action(self, value: Optional[pulumi.Input['VpnConnectionVpnTunne def dpd_timeout_seconds(self) -> Optional[pulumi.Input[int]]: """ The number of seconds after which a DPD timeout occurs. - - Constraints: A value greater than or equal to 30. - - Default: `30` + Constraints: A value greater than or equal to 30. + Default: ``30`` """ return pulumi.get(self, "dpd_timeout_seconds") @@ -16556,8 +16534,7 @@ def enable_tunnel_lifecycle_control(self, value: Optional[pulumi.Input[bool]]): def ike_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionIkeVersionsRequestListValueArgs']]]]: """ The IKE versions that are permitted for the VPN tunnel. - - Valid values: `ikev1` | `ikev2` + Valid values: ``ikev1`` | ``ikev2`` """ return pulumi.get(self, "ike_versions") @@ -16582,8 +16559,7 @@ def log_options(self, value: Optional[pulumi.Input['VpnConnectionVpnTunnelLogOpt def phase1_encryption_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs']]]]: """ One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` """ return pulumi.get(self, "phase1_encryption_algorithms") @@ -16596,8 +16572,7 @@ def phase1_encryption_algorithms(self, value: Optional[pulumi.Input[Sequence[pul def phase1_integrity_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs']]]]: """ One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` """ return pulumi.get(self, "phase1_integrity_algorithms") @@ -16610,10 +16585,8 @@ def phase1_integrity_algorithms(self, value: Optional[pulumi.Input[Sequence[pulu def phase1_lifetime_seconds(self) -> Optional[pulumi.Input[int]]: """ The lifetime for phase 1 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 28,800. - - Default: `28800` + Constraints: A value between 900 and 28,800. + Default: ``28800`` """ return pulumi.get(self, "phase1_lifetime_seconds") @@ -16626,8 +16599,7 @@ def phase1_lifetime_seconds(self, value: Optional[pulumi.Input[int]]): def phase1dh_group_numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1dhGroupNumbersRequestListValueArgs']]]]: """ One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` """ return pulumi.get(self, "phase1dh_group_numbers") @@ -16640,8 +16612,7 @@ def phase1dh_group_numbers(self, value: Optional[pulumi.Input[Sequence[pulumi.In def phase2_encryption_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs']]]]: """ One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` """ return pulumi.get(self, "phase2_encryption_algorithms") @@ -16654,8 +16625,7 @@ def phase2_encryption_algorithms(self, value: Optional[pulumi.Input[Sequence[pul def phase2_integrity_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs']]]]: """ One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` """ return pulumi.get(self, "phase2_integrity_algorithms") @@ -16668,10 +16638,8 @@ def phase2_integrity_algorithms(self, value: Optional[pulumi.Input[Sequence[pulu def phase2_lifetime_seconds(self) -> Optional[pulumi.Input[int]]: """ The lifetime for phase 2 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - - Default: `3600` + Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + Default: ``3600`` """ return pulumi.get(self, "phase2_lifetime_seconds") @@ -16684,8 +16652,7 @@ def phase2_lifetime_seconds(self, value: Optional[pulumi.Input[int]]): def phase2dh_group_numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2dhGroupNumbersRequestListValueArgs']]]]: """ One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` """ return pulumi.get(self, "phase2dh_group_numbers") @@ -16710,11 +16677,9 @@ def pre_shared_key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="rekeyFuzzPercentage") def rekey_fuzz_percentage(self) -> Optional[pulumi.Input[int]]: """ - The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - - Constraints: A value between 0 and 100. - - Default: `100` + The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + Constraints: A value between 0 and 100. + Default: ``100`` """ return pulumi.get(self, "rekey_fuzz_percentage") @@ -16726,11 +16691,9 @@ def rekey_fuzz_percentage(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="rekeyMarginTimeSeconds") def rekey_margin_time_seconds(self) -> Optional[pulumi.Input[int]]: """ - The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - - Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - - Default: `270` + The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + Default: ``270`` """ return pulumi.get(self, "rekey_margin_time_seconds") @@ -16743,10 +16706,8 @@ def rekey_margin_time_seconds(self, value: Optional[pulumi.Input[int]]): def replay_window_size(self) -> Optional[pulumi.Input[int]]: """ The number of packets in an IKE replay window. - - Constraints: A value between 64 and 2048. - - Default: `1024` + Constraints: A value between 64 and 2048. + Default: ``1024`` """ return pulumi.get(self, "replay_window_size") @@ -16758,11 +16719,9 @@ def replay_window_size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="startupAction") def startup_action(self) -> Optional[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationStartupAction']]: """ - The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - - Valid Values: `add` | `start` - - Default: `add` + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + Valid Values: ``add`` | ``start`` + Default: ``add`` """ return pulumi.get(self, "startup_action") @@ -16795,8 +16754,7 @@ def tunnel_inside_cidr(self, value: Optional[pulumi.Input[str]]): def tunnel_inside_ipv6_cidr(self) -> Optional[pulumi.Input[str]]: """ The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - - Constraints: A size /126 CIDR block from the local `fd00::/8` range. + Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. """ return pulumi.get(self, "tunnel_inside_ipv6_cidr") diff --git a/sdk/python/pulumi_aws_native/ec2/capacity_reservation.py b/sdk/python/pulumi_aws_native/ec2/capacity_reservation.py index 6bdc00361e..315b038388 100644 --- a/sdk/python/pulumi_aws_native/ec2/capacity_reservation.py +++ b/sdk/python/pulumi_aws_native/ec2/capacity_reservation.py @@ -67,6 +67,7 @@ def __init__(__self__, *, - `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . + :param pulumi.Input[str] unused_reservation_billing_owner_id: The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. """ pulumi.set(__self__, "availability_zone", availability_zone) pulumi.set(__self__, "instance_count", instance_count) @@ -269,6 +270,9 @@ def tenancy(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="unusedReservationBillingOwnerId") def unused_reservation_billing_owner_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. + """ return pulumi.get(self, "unused_reservation_billing_owner_id") @unused_reservation_billing_owner_id.setter @@ -331,6 +335,7 @@ def __init__(__self__, - `default` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . - `dedicated` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account . + :param pulumi.Input[str] unused_reservation_billing_owner_id: The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. """ ... @overload @@ -595,5 +600,8 @@ def total_instance_count(self) -> pulumi.Output[int]: @property @pulumi.getter(name="unusedReservationBillingOwnerId") def unused_reservation_billing_owner_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned. + """ return pulumi.get(self, "unused_reservation_billing_owner_id") diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py index 54ec959223..45a13c2a22 100644 --- a/sdk/python/pulumi_aws_native/ec2/outputs.py +++ b/sdk/python/pulumi_aws_native/ec2/outputs.py @@ -14111,6 +14111,9 @@ def user_info_endpoint(self) -> Optional[str]: @pulumi.output_type class VpnConnectionCloudwatchLogOptionsSpecification(dict): + """ + Options for sending VPN tunnel logs to CloudWatch. + """ @staticmethod def __key_warning(key: str): suggest = None @@ -14137,13 +14140,12 @@ def __init__(__self__, *, log_group_arn: Optional[str] = None, log_output_format: Optional['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat'] = None): """ - :param bool log_enabled: Enable or disable VPN tunnel logging feature. Default value is `False` . - - Valid values: `True` | `False` + Options for sending VPN tunnel logs to CloudWatch. + :param bool log_enabled: Enable or disable VPN tunnel logging feature. Default value is ``False``. + Valid values: ``True`` | ``False`` :param str log_group_arn: The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. - :param 'VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat' log_output_format: Set log format. Default format is `json` . - - Valid values: `json` | `text` + :param 'VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat' log_output_format: Set log format. Default format is ``json``. + Valid values: ``json`` | ``text`` """ if log_enabled is not None: pulumi.set(__self__, "log_enabled", log_enabled) @@ -14156,9 +14158,8 @@ def __init__(__self__, *, @pulumi.getter(name="logEnabled") def log_enabled(self) -> Optional[bool]: """ - Enable or disable VPN tunnel logging feature. Default value is `False` . - - Valid values: `True` | `False` + Enable or disable VPN tunnel logging feature. Default value is ``False``. + Valid values: ``True`` | ``False`` """ return pulumi.get(self, "log_enabled") @@ -14174,18 +14175,21 @@ def log_group_arn(self) -> Optional[str]: @pulumi.getter(name="logOutputFormat") def log_output_format(self) -> Optional['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']: """ - Set log format. Default format is `json` . - - Valid values: `json` | `text` + Set log format. Default format is ``json``. + Valid values: ``json`` | ``text`` """ return pulumi.get(self, "log_output_format") @pulumi.output_type class VpnConnectionIkeVersionsRequestListValue(dict): + """ + The IKE version that is permitted for the VPN tunnel. + """ def __init__(__self__, *, value: Optional['VpnConnectionIkeVersionsRequestListValueValue'] = None): """ + The IKE version that is permitted for the VPN tunnel. :param 'VpnConnectionIkeVersionsRequestListValueValue' value: The IKE version. """ if value is not None: @@ -14202,9 +14206,13 @@ def value(self) -> Optional['VpnConnectionIkeVersionsRequestListValueValue']: @pulumi.output_type class VpnConnectionPhase1EncryptionAlgorithmsRequestListValue(dict): + """ + Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. + """ def __init__(__self__, *, value: Optional['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue'] = None): """ + Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations. :param 'VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue' value: The value for the encryption algorithm. """ if value is not None: @@ -14221,9 +14229,13 @@ def value(self) -> Optional['VpnConnectionPhase1EncryptionAlgorithmsRequestListV @pulumi.output_type class VpnConnectionPhase1IntegrityAlgorithmsRequestListValue(dict): + """ + Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. + """ def __init__(__self__, *, value: Optional['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue'] = None): """ + Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations. :param 'VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue' value: The value for the integrity algorithm. """ if value is not None: @@ -14240,9 +14252,13 @@ def value(self) -> Optional['VpnConnectionPhase1IntegrityAlgorithmsRequestListVa @pulumi.output_type class VpnConnectionPhase1dhGroupNumbersRequestListValue(dict): + """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. + """ def __init__(__self__, *, value: Optional[int] = None): """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations. :param int value: The Diffie-Hellmann group number. """ if value is not None: @@ -14259,9 +14275,13 @@ def value(self) -> Optional[int]: @pulumi.output_type class VpnConnectionPhase2EncryptionAlgorithmsRequestListValue(dict): + """ + Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. + """ def __init__(__self__, *, value: Optional['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue'] = None): """ + Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations. :param 'VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue' value: The encryption algorithm. """ if value is not None: @@ -14278,9 +14298,13 @@ def value(self) -> Optional['VpnConnectionPhase2EncryptionAlgorithmsRequestListV @pulumi.output_type class VpnConnectionPhase2IntegrityAlgorithmsRequestListValue(dict): + """ + Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. + """ def __init__(__self__, *, value: Optional['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue'] = None): """ + Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations. :param 'VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue' value: The integrity algorithm. """ if value is not None: @@ -14297,9 +14321,13 @@ def value(self) -> Optional['VpnConnectionPhase2IntegrityAlgorithmsRequestListVa @pulumi.output_type class VpnConnectionPhase2dhGroupNumbersRequestListValue(dict): + """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. + """ def __init__(__self__, *, value: Optional[int] = None): """ + Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations. :param int value: The Diffie-Hellmann group number. """ if value is not None: @@ -14316,6 +14344,9 @@ def value(self) -> Optional[int]: @pulumi.output_type class VpnConnectionVpnTunnelLogOptionsSpecification(dict): + """ + Options for logging VPN tunnel activity. + """ @staticmethod def __key_warning(key: str): suggest = None @@ -14336,6 +14367,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, cloudwatch_log_options: Optional['outputs.VpnConnectionCloudwatchLogOptionsSpecification'] = None): """ + Options for logging VPN tunnel activity. :param 'VpnConnectionCloudwatchLogOptionsSpecification' cloudwatch_log_options: Options for sending VPN tunnel logs to CloudWatch. """ if cloudwatch_log_options is not None: @@ -14433,71 +14465,48 @@ def __init__(__self__, *, tunnel_inside_ipv6_cidr: Optional[str] = None): """ The tunnel options for a single VPN tunnel. - :param 'VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction' dpd_timeout_action: The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - - Valid Values: `clear` | `none` | `restart` - - Default: `clear` + :param 'VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction' dpd_timeout_action: The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + Valid Values: ``clear`` | ``none`` | ``restart`` + Default: ``clear`` :param int dpd_timeout_seconds: The number of seconds after which a DPD timeout occurs. - - Constraints: A value greater than or equal to 30. - - Default: `30` + Constraints: A value greater than or equal to 30. + Default: ``30`` :param bool enable_tunnel_lifecycle_control: Turn on or off tunnel endpoint lifecycle control feature. :param Sequence['VpnConnectionIkeVersionsRequestListValue'] ike_versions: The IKE versions that are permitted for the VPN tunnel. - - Valid values: `ikev1` | `ikev2` + Valid values: ``ikev1`` | ``ikev2`` :param 'VpnConnectionVpnTunnelLogOptionsSpecification' log_options: Options for logging VPN tunnel activity. :param Sequence['VpnConnectionPhase1EncryptionAlgorithmsRequestListValue'] phase1_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` :param Sequence['VpnConnectionPhase1IntegrityAlgorithmsRequestListValue'] phase1_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` :param int phase1_lifetime_seconds: The lifetime for phase 1 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 28,800. - - Default: `28800` + Constraints: A value between 900 and 28,800. + Default: ``28800`` :param Sequence['VpnConnectionPhase1dhGroupNumbersRequestListValue'] phase1dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` :param Sequence['VpnConnectionPhase2EncryptionAlgorithmsRequestListValue'] phase2_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` :param Sequence['VpnConnectionPhase2IntegrityAlgorithmsRequestListValue'] phase2_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` :param int phase2_lifetime_seconds: The lifetime for phase 2 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - - Default: `3600` + Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + Default: ``3600`` :param Sequence['VpnConnectionPhase2dhGroupNumbersRequestListValue'] phase2dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` :param str pre_shared_key: The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). - :param int rekey_fuzz_percentage: The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - - Constraints: A value between 0 and 100. - - Default: `100` - :param int rekey_margin_time_seconds: The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - - Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - - Default: `270` + :param int rekey_fuzz_percentage: The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + Constraints: A value between 0 and 100. + Default: ``100`` + :param int rekey_margin_time_seconds: The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + Default: ``270`` :param int replay_window_size: The number of packets in an IKE replay window. - - Constraints: A value between 64 and 2048. - - Default: `1024` - :param 'VpnConnectionVpnTunnelOptionsSpecificationStartupAction' startup_action: The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - - Valid Values: `add` | `start` - - Default: `add` + Constraints: A value between 64 and 2048. + Default: ``1024`` + :param 'VpnConnectionVpnTunnelOptionsSpecificationStartupAction' startup_action: The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + Valid Values: ``add`` | ``start`` + Default: ``add`` :param str tunnel_inside_cidr: The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: + ``169.254.0.0/30`` @@ -14508,8 +14517,7 @@ def __init__(__self__, *, + ``169.254.5.0/30`` + ``169.254.169.252/30`` :param str tunnel_inside_ipv6_cidr: The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - - Constraints: A size /126 CIDR block from the local `fd00::/8` range. + Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. """ if dpd_timeout_action is not None: pulumi.set(__self__, "dpd_timeout_action", dpd_timeout_action) @@ -14556,11 +14564,9 @@ def __init__(__self__, *, @pulumi.getter(name="dpdTimeoutAction") def dpd_timeout_action(self) -> Optional['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction']: """ - The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. - - Valid Values: `clear` | `none` | `restart` - - Default: `clear` + The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session. + Valid Values: ``clear`` | ``none`` | ``restart`` + Default: ``clear`` """ return pulumi.get(self, "dpd_timeout_action") @@ -14569,10 +14575,8 @@ def dpd_timeout_action(self) -> Optional['VpnConnectionVpnTunnelOptionsSpecifica def dpd_timeout_seconds(self) -> Optional[int]: """ The number of seconds after which a DPD timeout occurs. - - Constraints: A value greater than or equal to 30. - - Default: `30` + Constraints: A value greater than or equal to 30. + Default: ``30`` """ return pulumi.get(self, "dpd_timeout_seconds") @@ -14589,8 +14593,7 @@ def enable_tunnel_lifecycle_control(self) -> Optional[bool]: def ike_versions(self) -> Optional[Sequence['outputs.VpnConnectionIkeVersionsRequestListValue']]: """ The IKE versions that are permitted for the VPN tunnel. - - Valid values: `ikev1` | `ikev2` + Valid values: ``ikev1`` | ``ikev2`` """ return pulumi.get(self, "ike_versions") @@ -14607,8 +14610,7 @@ def log_options(self) -> Optional['outputs.VpnConnectionVpnTunnelLogOptionsSpeci def phase1_encryption_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase1EncryptionAlgorithmsRequestListValue']]: """ One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` """ return pulumi.get(self, "phase1_encryption_algorithms") @@ -14617,8 +14619,7 @@ def phase1_encryption_algorithms(self) -> Optional[Sequence['outputs.VpnConnecti def phase1_integrity_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase1IntegrityAlgorithmsRequestListValue']]: """ One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` """ return pulumi.get(self, "phase1_integrity_algorithms") @@ -14627,10 +14628,8 @@ def phase1_integrity_algorithms(self) -> Optional[Sequence['outputs.VpnConnectio def phase1_lifetime_seconds(self) -> Optional[int]: """ The lifetime for phase 1 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 28,800. - - Default: `28800` + Constraints: A value between 900 and 28,800. + Default: ``28800`` """ return pulumi.get(self, "phase1_lifetime_seconds") @@ -14639,8 +14638,7 @@ def phase1_lifetime_seconds(self) -> Optional[int]: def phase1dh_group_numbers(self) -> Optional[Sequence['outputs.VpnConnectionPhase1dhGroupNumbersRequestListValue']]: """ One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. - - Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` """ return pulumi.get(self, "phase1dh_group_numbers") @@ -14649,8 +14647,7 @@ def phase1dh_group_numbers(self) -> Optional[Sequence['outputs.VpnConnectionPhas def phase2_encryption_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase2EncryptionAlgorithmsRequestListValue']]: """ One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16`` """ return pulumi.get(self, "phase2_encryption_algorithms") @@ -14659,8 +14656,7 @@ def phase2_encryption_algorithms(self) -> Optional[Sequence['outputs.VpnConnecti def phase2_integrity_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase2IntegrityAlgorithmsRequestListValue']]: """ One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512`` """ return pulumi.get(self, "phase2_integrity_algorithms") @@ -14669,10 +14665,8 @@ def phase2_integrity_algorithms(self) -> Optional[Sequence['outputs.VpnConnectio def phase2_lifetime_seconds(self) -> Optional[int]: """ The lifetime for phase 2 of the IKE negotiation, in seconds. - - Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . - - Default: `3600` + Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``. + Default: ``3600`` """ return pulumi.get(self, "phase2_lifetime_seconds") @@ -14681,8 +14675,7 @@ def phase2_lifetime_seconds(self) -> Optional[int]: def phase2dh_group_numbers(self) -> Optional[Sequence['outputs.VpnConnectionPhase2dhGroupNumbersRequestListValue']]: """ One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. - - Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24`` """ return pulumi.get(self, "phase2dh_group_numbers") @@ -14699,11 +14692,9 @@ def pre_shared_key(self) -> Optional[str]: @pulumi.getter(name="rekeyFuzzPercentage") def rekey_fuzz_percentage(self) -> Optional[int]: """ - The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. - - Constraints: A value between 0 and 100. - - Default: `100` + The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected. + Constraints: A value between 0 and 100. + Default: ``100`` """ return pulumi.get(self, "rekey_fuzz_percentage") @@ -14711,11 +14702,9 @@ def rekey_fuzz_percentage(self) -> Optional[int]: @pulumi.getter(name="rekeyMarginTimeSeconds") def rekey_margin_time_seconds(self) -> Optional[int]: """ - The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . - - Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . - - Default: `270` + The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``. + Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``. + Default: ``270`` """ return pulumi.get(self, "rekey_margin_time_seconds") @@ -14724,10 +14713,8 @@ def rekey_margin_time_seconds(self) -> Optional[int]: def replay_window_size(self) -> Optional[int]: """ The number of packets in an IKE replay window. - - Constraints: A value between 64 and 2048. - - Default: `1024` + Constraints: A value between 64 and 2048. + Default: ``1024`` """ return pulumi.get(self, "replay_window_size") @@ -14735,11 +14722,9 @@ def replay_window_size(self) -> Optional[int]: @pulumi.getter(name="startupAction") def startup_action(self) -> Optional['VpnConnectionVpnTunnelOptionsSpecificationStartupAction']: """ - The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. - - Valid Values: `add` | `start` - - Default: `add` + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation. + Valid Values: ``add`` | ``start`` + Default: ``add`` """ return pulumi.get(self, "startup_action") @@ -14764,8 +14749,7 @@ def tunnel_inside_cidr(self) -> Optional[str]: def tunnel_inside_ipv6_cidr(self) -> Optional[str]: """ The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. - - Constraints: A size /126 CIDR block from the local `fd00::/8` range. + Constraints: A size /126 CIDR block from the local ``fd00::/8`` range. """ return pulumi.get(self, "tunnel_inside_ipv6_cidr") diff --git a/sdk/python/pulumi_aws_native/eks/cluster.py b/sdk/python/pulumi_aws_native/eks/cluster.py index e71a479da7..aea49e1f98 100644 --- a/sdk/python/pulumi_aws_native/eks/cluster.py +++ b/sdk/python/pulumi_aws_native/eks/cluster.py @@ -53,6 +53,7 @@ def __init__(__self__, *, [Learn more about EKS Extended Support in the EKS User Guide.](https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html) :param pulumi.Input[str] version: The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. + :param pulumi.Input['ClusterZonalShiftConfigArgs'] zonal_shift_config: The configuration for zonal shift for the cluster. """ pulumi.set(__self__, "resources_vpc_config", resources_vpc_config) pulumi.set(__self__, "role_arn", role_arn) @@ -228,6 +229,9 @@ def version(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="zonalShiftConfig") def zonal_shift_config(self) -> Optional[pulumi.Input['ClusterZonalShiftConfigArgs']]: + """ + The configuration for zonal shift for the cluster. + """ return pulumi.get(self, "zonal_shift_config") @zonal_shift_config.setter @@ -273,6 +277,7 @@ def __init__(__self__, [Learn more about EKS Extended Support in the EKS User Guide.](https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html) :param pulumi.Input[str] version: The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used. + :param pulumi.Input[Union['ClusterZonalShiftConfigArgs', 'ClusterZonalShiftConfigArgsDict']] zonal_shift_config: The configuration for zonal shift for the cluster. """ ... @overload @@ -547,5 +552,8 @@ def version(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="zonalShiftConfig") def zonal_shift_config(self) -> pulumi.Output[Optional['outputs.ClusterZonalShiftConfig']]: + """ + The configuration for zonal shift for the cluster. + """ return pulumi.get(self, "zonal_shift_config") diff --git a/sdk/python/pulumi_aws_native/eks/get_cluster.py b/sdk/python/pulumi_aws_native/eks/get_cluster.py index 588488ce7f..cd952da3a8 100644 --- a/sdk/python/pulumi_aws_native/eks/get_cluster.py +++ b/sdk/python/pulumi_aws_native/eks/get_cluster.py @@ -179,6 +179,9 @@ def version(self) -> Optional[str]: @property @pulumi.getter(name="zonalShiftConfig") def zonal_shift_config(self) -> Optional['outputs.ClusterZonalShiftConfig']: + """ + The configuration for zonal shift for the cluster. + """ return pulumi.get(self, "zonal_shift_config") diff --git a/sdk/python/pulumi_aws_native/iot/_enums.py b/sdk/python/pulumi_aws_native/iot/_enums.py index ffa3b966e2..6c846168bc 100644 --- a/sdk/python/pulumi_aws_native/iot/_enums.py +++ b/sdk/python/pulumi_aws_native/iot/_enums.py @@ -134,8 +134,6 @@ class DimensionType(str, Enum): class DomainConfigurationApplicationProtocol(str, Enum): """ An enumerated string that specifies the application-layer protocol. - - > This property isn't available in China. """ SECURE_MQTT = "SECURE_MQTT" MQTT_WSS = "MQTT_WSS" @@ -146,8 +144,6 @@ class DomainConfigurationApplicationProtocol(str, Enum): class DomainConfigurationAuthenticationType(str, Enum): """ An enumerated string that specifies the authentication type. - - > This property isn't available in China. """ AWS_X509 = "AWS_X509" CUSTOM_AUTH = "CUSTOM_AUTH" diff --git a/sdk/python/pulumi_aws_native/iot/_inputs.py b/sdk/python/pulumi_aws_native/iot/_inputs.py index 95dc5de553..b6b45d7e2b 100644 --- a/sdk/python/pulumi_aws_native/iot/_inputs.py +++ b/sdk/python/pulumi_aws_native/iot/_inputs.py @@ -864,8 +864,6 @@ class DomainConfigurationClientCertificateConfigArgsDict(TypedDict): client_certificate_callback_arn: NotRequired[pulumi.Input[str]] """ The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - - > This property isn't available in China. """ elif False: DomainConfigurationClientCertificateConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -876,8 +874,6 @@ def __init__(__self__, *, client_certificate_callback_arn: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] client_certificate_callback_arn: The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - - > This property isn't available in China. """ if client_certificate_callback_arn is not None: pulumi.set(__self__, "client_certificate_callback_arn", client_certificate_callback_arn) @@ -887,8 +883,6 @@ def __init__(__self__, *, def client_certificate_callback_arn(self) -> Optional[pulumi.Input[str]]: """ The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - - > This property isn't available in China. """ return pulumi.get(self, "client_certificate_callback_arn") diff --git a/sdk/python/pulumi_aws_native/iot/domain_configuration.py b/sdk/python/pulumi_aws_native/iot/domain_configuration.py index 6ccd82670e..24a07f4c05 100644 --- a/sdk/python/pulumi_aws_native/iot/domain_configuration.py +++ b/sdk/python/pulumi_aws_native/iot/domain_configuration.py @@ -40,15 +40,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a DomainConfiguration resource. :param pulumi.Input['DomainConfigurationApplicationProtocol'] application_protocol: An enumerated string that specifies the application-layer protocol. - - > This property isn't available in China. :param pulumi.Input['DomainConfigurationAuthenticationType'] authentication_type: An enumerated string that specifies the authentication type. - - > This property isn't available in China. :param pulumi.Input['DomainConfigurationAuthorizerConfigArgs'] authorizer_config: An object that specifies the authorization service for a domain. :param pulumi.Input['DomainConfigurationClientCertificateConfigArgs'] client_certificate_config: An object that specifies the client certificate configuration for a domain. - - > This property isn't available in China. :param pulumi.Input[str] domain_configuration_name: The name of the domain configuration. This value must be unique to a region. :param pulumi.Input['DomainConfigurationStatus'] domain_configuration_status: The status to which the domain configuration should be updated. @@ -103,8 +97,6 @@ def __init__(__self__, *, def application_protocol(self) -> Optional[pulumi.Input['DomainConfigurationApplicationProtocol']]: """ An enumerated string that specifies the application-layer protocol. - - > This property isn't available in China. """ return pulumi.get(self, "application_protocol") @@ -117,8 +109,6 @@ def application_protocol(self, value: Optional[pulumi.Input['DomainConfiguration def authentication_type(self) -> Optional[pulumi.Input['DomainConfigurationAuthenticationType']]: """ An enumerated string that specifies the authentication type. - - > This property isn't available in China. """ return pulumi.get(self, "authentication_type") @@ -143,8 +133,6 @@ def authorizer_config(self, value: Optional[pulumi.Input['DomainConfigurationAut def client_certificate_config(self) -> Optional[pulumi.Input['DomainConfigurationClientCertificateConfigArgs']]: """ An object that specifies the client certificate configuration for a domain. - - > This property isn't available in China. """ return pulumi.get(self, "client_certificate_config") @@ -298,15 +286,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input['DomainConfigurationApplicationProtocol'] application_protocol: An enumerated string that specifies the application-layer protocol. - - > This property isn't available in China. :param pulumi.Input['DomainConfigurationAuthenticationType'] authentication_type: An enumerated string that specifies the authentication type. - - > This property isn't available in China. :param pulumi.Input[Union['DomainConfigurationAuthorizerConfigArgs', 'DomainConfigurationAuthorizerConfigArgsDict']] authorizer_config: An object that specifies the authorization service for a domain. :param pulumi.Input[Union['DomainConfigurationClientCertificateConfigArgs', 'DomainConfigurationClientCertificateConfigArgsDict']] client_certificate_config: An object that specifies the client certificate configuration for a domain. - - > This property isn't available in China. :param pulumi.Input[str] domain_configuration_name: The name of the domain configuration. This value must be unique to a region. :param pulumi.Input['DomainConfigurationStatus'] domain_configuration_status: The status to which the domain configuration should be updated. @@ -438,8 +420,6 @@ def get(resource_name: str, def application_protocol(self) -> pulumi.Output[Optional['DomainConfigurationApplicationProtocol']]: """ An enumerated string that specifies the application-layer protocol. - - > This property isn't available in China. """ return pulumi.get(self, "application_protocol") @@ -456,8 +436,6 @@ def arn(self) -> pulumi.Output[str]: def authentication_type(self) -> pulumi.Output[Optional['DomainConfigurationAuthenticationType']]: """ An enumerated string that specifies the authentication type. - - > This property isn't available in China. """ return pulumi.get(self, "authentication_type") @@ -474,8 +452,6 @@ def authorizer_config(self) -> pulumi.Output[Optional['outputs.DomainConfigurati def client_certificate_config(self) -> pulumi.Output[Optional['outputs.DomainConfigurationClientCertificateConfig']]: """ An object that specifies the client certificate configuration for a domain. - - > This property isn't available in China. """ return pulumi.get(self, "client_certificate_config") diff --git a/sdk/python/pulumi_aws_native/iot/get_domain_configuration.py b/sdk/python/pulumi_aws_native/iot/get_domain_configuration.py index d91b1d567a..204ac308ee 100644 --- a/sdk/python/pulumi_aws_native/iot/get_domain_configuration.py +++ b/sdk/python/pulumi_aws_native/iot/get_domain_configuration.py @@ -66,8 +66,6 @@ def __init__(__self__, application_protocol=None, arn=None, authentication_type= def application_protocol(self) -> Optional['DomainConfigurationApplicationProtocol']: """ An enumerated string that specifies the application-layer protocol. - - > This property isn't available in China. """ return pulumi.get(self, "application_protocol") @@ -84,8 +82,6 @@ def arn(self) -> Optional[str]: def authentication_type(self) -> Optional['DomainConfigurationAuthenticationType']: """ An enumerated string that specifies the authentication type. - - > This property isn't available in China. """ return pulumi.get(self, "authentication_type") @@ -102,8 +98,6 @@ def authorizer_config(self) -> Optional['outputs.DomainConfigurationAuthorizerCo def client_certificate_config(self) -> Optional['outputs.DomainConfigurationClientCertificateConfig']: """ An object that specifies the client certificate configuration for a domain. - - > This property isn't available in China. """ return pulumi.get(self, "client_certificate_config") diff --git a/sdk/python/pulumi_aws_native/iot/get_software_package_version.py b/sdk/python/pulumi_aws_native/iot/get_software_package_version.py index 9cd44db536..c1b4d4bf4b 100644 --- a/sdk/python/pulumi_aws_native/iot/get_software_package_version.py +++ b/sdk/python/pulumi_aws_native/iot/get_software_package_version.py @@ -48,11 +48,19 @@ def __init__(__self__, attributes=None, description=None, error_reason=None, pac @property @pulumi.getter def attributes(self) -> Optional[Mapping[str, str]]: + """ + Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + + The combined size of all the attributes on a package version is limited to 3KB. + """ return pulumi.get(self, "attributes") @property @pulumi.getter def description(self) -> Optional[str]: + """ + A summary of the package version being created. This can be used to outline the package's contents or purpose. + """ return pulumi.get(self, "description") @property @@ -107,6 +115,10 @@ def get_software_package_version(package_name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSoftwarePackageVersionResult: """ resource definition + + + :param str package_name: The name of the associated software package. + :param str version_name: The name of the new package version. """ __args__ = dict() __args__['packageName'] = package_name @@ -126,6 +138,10 @@ def get_software_package_version_output(package_name: Optional[pulumi.Input[str] opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSoftwarePackageVersionResult]: """ resource definition + + + :param str package_name: The name of the associated software package. + :param str version_name: The name of the new package version. """ __args__ = dict() __args__['packageName'] = package_name diff --git a/sdk/python/pulumi_aws_native/iot/outputs.py b/sdk/python/pulumi_aws_native/iot/outputs.py index 2c46a3c92e..d21ebf4645 100644 --- a/sdk/python/pulumi_aws_native/iot/outputs.py +++ b/sdk/python/pulumi_aws_native/iot/outputs.py @@ -676,8 +676,6 @@ def __init__(__self__, *, client_certificate_callback_arn: Optional[str] = None): """ :param str client_certificate_callback_arn: The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - - > This property isn't available in China. """ if client_certificate_callback_arn is not None: pulumi.set(__self__, "client_certificate_callback_arn", client_certificate_callback_arn) @@ -687,8 +685,6 @@ def __init__(__self__, *, def client_certificate_callback_arn(self) -> Optional[str]: """ The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection. - - > This property isn't available in China. """ return pulumi.get(self, "client_certificate_callback_arn") diff --git a/sdk/python/pulumi_aws_native/iot/software_package_version.py b/sdk/python/pulumi_aws_native/iot/software_package_version.py index 777c9178f1..ac590d9195 100644 --- a/sdk/python/pulumi_aws_native/iot/software_package_version.py +++ b/sdk/python/pulumi_aws_native/iot/software_package_version.py @@ -29,7 +29,13 @@ def __init__(__self__, *, version_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a SoftwarePackageVersion resource. + :param pulumi.Input[str] package_name: The name of the associated software package. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + + The combined size of all the attributes on a package version is limited to 3KB. + :param pulumi.Input[str] description: A summary of the package version being created. This can be used to outline the package's contents or purpose. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[str] version_name: The name of the new package version. """ pulumi.set(__self__, "package_name", package_name) if attributes is not None: @@ -44,6 +50,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="packageName") def package_name(self) -> pulumi.Input[str]: + """ + The name of the associated software package. + """ return pulumi.get(self, "package_name") @package_name.setter @@ -53,6 +62,11 @@ def package_name(self, value: pulumi.Input[str]): @property @pulumi.getter def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + + The combined size of all the attributes on a package version is limited to 3KB. + """ return pulumi.get(self, "attributes") @attributes.setter @@ -62,6 +76,9 @@ def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str] @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: + """ + A summary of the package version being created. This can be used to outline the package's contents or purpose. + """ return pulumi.get(self, "description") @description.setter @@ -83,6 +100,9 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs. @property @pulumi.getter(name="versionName") def version_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the new package version. + """ return pulumi.get(self, "version_name") @version_name.setter @@ -106,7 +126,13 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + + The combined size of all the attributes on a package version is limited to 3KB. + :param pulumi.Input[str] description: A summary of the package version being created. This can be used to outline the package's contents or purpose. + :param pulumi.Input[str] package_name: The name of the associated software package. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[str] version_name: The name of the new package version. """ ... @overload @@ -193,11 +219,19 @@ def get(resource_name: str, @property @pulumi.getter def attributes(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet. + + The combined size of all the attributes on a package version is limited to 3KB. + """ return pulumi.get(self, "attributes") @property @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: + """ + A summary of the package version being created. This can be used to outline the package's contents or purpose. + """ return pulumi.get(self, "description") @property @@ -211,6 +245,9 @@ def error_reason(self) -> pulumi.Output[str]: @property @pulumi.getter(name="packageName") def package_name(self) -> pulumi.Output[str]: + """ + The name of the associated software package. + """ return pulumi.get(self, "package_name") @property @@ -240,5 +277,8 @@ def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: @property @pulumi.getter(name="versionName") def version_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the new package version. + """ return pulumi.get(self, "version_name") diff --git a/sdk/python/pulumi_aws_native/qbusiness/data_source.py b/sdk/python/pulumi_aws_native/qbusiness/data_source.py index c96e16eb42..7d8f8552fa 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/data_source.py +++ b/sdk/python/pulumi_aws_native/qbusiness/data_source.py @@ -37,17 +37,17 @@ def __init__(__self__, *, """ The set of arguments for constructing a DataSource resource. :param pulumi.Input[str] application_id: The identifier of the Amazon Q Business application the data source will be attached to. - :param Any configuration: Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + :param Any configuration: Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . - Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: - - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) - You can find configuration templates for your specific data source using the following steps: + Similarly, you can find configuration templates and properties for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. :param pulumi.Input[str] display_name: The name of the Amazon Q Business data source. @@ -96,17 +96,17 @@ def application_id(self, value: pulumi.Input[str]): @pulumi.getter def configuration(self) -> Any: """ - Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . - Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: - - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) - You can find configuration templates for your specific data source using the following steps: + Similarly, you can find configuration templates and properties for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. """ @@ -239,17 +239,17 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] application_id: The identifier of the Amazon Q Business application the data source will be attached to. - :param Any configuration: Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + :param Any configuration: Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . - Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: - - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) - You can find configuration templates for your specific data source using the following steps: + Similarly, you can find configuration templates and properties for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. :param pulumi.Input[str] description: A description for the data source connector. @@ -386,17 +386,17 @@ def application_id(self) -> pulumi.Output[str]: @pulumi.getter def configuration(self) -> pulumi.Output[Any]: """ - Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . - Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: - - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) - You can find configuration templates for your specific data source using the following steps: + Similarly, you can find configuration templates and properties for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. """ diff --git a/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py b/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py index 871cd9f136..9bef141caf 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py +++ b/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py @@ -74,17 +74,17 @@ def __init__(__self__, configuration=None, created_at=None, data_source_arn=None @pulumi.getter def configuration(self) -> Optional[Any]: """ - Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + Use this property to specify a JSON or YAML schema with configuration properties specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . - Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + The following links have the configuration properties and schemas for AWS CloudFormation for the following connectors: - - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) - - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) + - [Amazon Simple Storage Service](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-cfn.html) + - [Amazon Q Web Crawler](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-cfn.html) - You can find configuration templates for your specific data source using the following steps: + Similarly, you can find configuration templates and properties for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. - - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. + - Then, from that specific data source connector's page, choose the topic containing *Using AWS CloudFormation* to find the schemas for your data source connector, including configuration parameter descriptions and examples. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. """ diff --git a/sdk/python/pulumi_aws_native/redshift/integration.py b/sdk/python/pulumi_aws_native/redshift/integration.py index 3915dfd88e..2bcfbc1eca 100644 --- a/sdk/python/pulumi_aws_native/redshift/integration.py +++ b/sdk/python/pulumi_aws_native/redshift/integration.py @@ -31,6 +31,7 @@ def __init__(__self__, *, The set of arguments for constructing a Integration resource. :param pulumi.Input[str] source_arn: The Amazon Resource Name (ARN) of the database to use as the source for replication, for example, arn:aws:dynamodb:us-east-2:123412341234:table/dynamotable :param pulumi.Input[str] target_arn: The Amazon Resource Name (ARN) of the Redshift data warehouse to use as the target for replication, for example, arn:aws:redshift:us-east-2:123412341234:namespace:e43aab3e-10a3-4ec4-83d4-f227ff9bfbcf + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] additional_encryption_context: The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . :param pulumi.Input[str] integration_name: The name of the integration. :param pulumi.Input[str] kms_key_id: An KMS key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, the default AWS owned KMS key is used. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. @@ -73,6 +74,9 @@ def target_arn(self, value: pulumi.Input[str]): @property @pulumi.getter(name="additionalEncryptionContext") def additional_encryption_context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . + """ return pulumi.get(self, "additional_encryption_context") @additional_encryption_context.setter @@ -133,6 +137,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] additional_encryption_context: The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . :param pulumi.Input[str] integration_name: The name of the integration. :param pulumi.Input[str] kms_key_id: An KMS key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, the default AWS owned KMS key is used. :param pulumi.Input[str] source_arn: The Amazon Resource Name (ARN) of the database to use as the source for replication, for example, arn:aws:dynamodb:us-east-2:123412341234:table/dynamotable @@ -227,6 +232,9 @@ def get(resource_name: str, @property @pulumi.getter(name="additionalEncryptionContext") def additional_encryption_context(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . + """ return pulumi.get(self, "additional_encryption_context") @property diff --git a/sdk/python/pulumi_aws_native/refactorspaces/environment.py b/sdk/python/pulumi_aws_native/refactorspaces/environment.py index afeed190c1..8436a6888e 100644 --- a/sdk/python/pulumi_aws_native/refactorspaces/environment.py +++ b/sdk/python/pulumi_aws_native/refactorspaces/environment.py @@ -22,37 +22,26 @@ @pulumi.input_type class EnvironmentArgs: def __init__(__self__, *, - network_fabric_type: pulumi.Input['EnvironmentNetworkFabricType'], description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + network_fabric_type: Optional[pulumi.Input['EnvironmentNetworkFabricType']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a Environment resource. - :param pulumi.Input['EnvironmentNetworkFabricType'] network_fabric_type: The network fabric type of the environment. :param pulumi.Input[str] description: A description of the environment. :param pulumi.Input[str] name: The name of the environment. + :param pulumi.Input['EnvironmentNetworkFabricType'] network_fabric_type: The network fabric type of the environment. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair. """ - pulumi.set(__self__, "network_fabric_type", network_fabric_type) if description is not None: pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if network_fabric_type is not None: + pulumi.set(__self__, "network_fabric_type", network_fabric_type) if tags is not None: pulumi.set(__self__, "tags", tags) - @property - @pulumi.getter(name="networkFabricType") - def network_fabric_type(self) -> pulumi.Input['EnvironmentNetworkFabricType']: - """ - The network fabric type of the environment. - """ - return pulumi.get(self, "network_fabric_type") - - @network_fabric_type.setter - def network_fabric_type(self, value: pulumi.Input['EnvironmentNetworkFabricType']): - pulumi.set(self, "network_fabric_type", value) - @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -77,6 +66,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="networkFabricType") + def network_fabric_type(self) -> Optional[pulumi.Input['EnvironmentNetworkFabricType']]: + """ + The network fabric type of the environment. + """ + return pulumi.get(self, "network_fabric_type") + + @network_fabric_type.setter + def network_fabric_type(self, value: Optional[pulumi.Input['EnvironmentNetworkFabricType']]): + pulumi.set(self, "network_fabric_type", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: @@ -114,7 +115,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: EnvironmentArgs, + args: Optional[EnvironmentArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ Definition of AWS::RefactorSpaces::Environment Resource Type @@ -149,8 +150,6 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["name"] = name - if network_fabric_type is None and not opts.urn: - raise TypeError("Missing required property 'network_fabric_type'") __props__.__dict__["network_fabric_type"] = network_fabric_type __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None @@ -215,7 +214,7 @@ def environment_identifier(self) -> pulumi.Output[str]: @property @pulumi.getter - def name(self) -> pulumi.Output[str]: + def name(self) -> pulumi.Output[Optional[str]]: """ The name of the environment. """ @@ -223,7 +222,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="networkFabricType") - def network_fabric_type(self) -> pulumi.Output['EnvironmentNetworkFabricType']: + def network_fabric_type(self) -> pulumi.Output[Optional['EnvironmentNetworkFabricType']]: """ The network fabric type of the environment. """ diff --git a/sdk/python/pulumi_aws_native/route53/__init__.py b/sdk/python/pulumi_aws_native/route53/__init__.py index 8728dc0858..ca59a6bdd8 100644 --- a/sdk/python/pulumi_aws_native/route53/__init__.py +++ b/sdk/python/pulumi_aws_native/route53/__init__.py @@ -12,8 +12,10 @@ from .get_health_check import * from .get_hosted_zone import * from .get_key_signing_key import * +from .get_record_set import * from .health_check import * from .hosted_zone import * from .key_signing_key import * +from .record_set import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws_native/route53/_enums.py b/sdk/python/pulumi_aws_native/route53/_enums.py index 7779d26a9d..65dec3d722 100644 --- a/sdk/python/pulumi_aws_native/route53/_enums.py +++ b/sdk/python/pulumi_aws_native/route53/_enums.py @@ -8,6 +8,7 @@ 'HealthCheckConfigPropertiesInsufficientDataHealthStatus', 'HealthCheckConfigPropertiesType', 'KeySigningKeyStatus', + 'RecordSetFailover', ] @@ -66,3 +67,8 @@ class KeySigningKeyStatus(str, Enum): """ ACTIVE = "ACTIVE" INACTIVE = "INACTIVE" + + +class RecordSetFailover(str, Enum): + PRIMARY = "PRIMARY" + SECONDARY = "SECONDARY" diff --git a/sdk/python/pulumi_aws_native/route53/_inputs.py b/sdk/python/pulumi_aws_native/route53/_inputs.py index 86751255ab..976a8d32db 100644 --- a/sdk/python/pulumi_aws_native/route53/_inputs.py +++ b/sdk/python/pulumi_aws_native/route53/_inputs.py @@ -30,6 +30,12 @@ 'HostedZoneQueryLoggingConfigArgsDict', 'HostedZoneVpcArgs', 'HostedZoneVpcArgsDict', + 'RecordSetAliasTargetArgs', + 'RecordSetAliasTargetArgsDict', + 'RecordSetCidrRoutingConfigArgs', + 'RecordSetCidrRoutingConfigArgsDict', + 'RecordSetGeoLocationArgs', + 'RecordSetGeoLocationArgsDict', ] MYPY = False @@ -962,3 +968,195 @@ def vpc_region(self, value: pulumi.Input[str]): pulumi.set(self, "vpc_region", value) +if not MYPY: + class RecordSetAliasTargetArgsDict(TypedDict): + dns_name: pulumi.Input[str] + """ + The value that you specify depends on where you want to route queries. + """ + hosted_zone_id: pulumi.Input[str] + """ + The value used depends on where you want to route traffic. + """ + evaluate_target_health: NotRequired[pulumi.Input[bool]] + """ + When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + """ +elif False: + RecordSetAliasTargetArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RecordSetAliasTargetArgs: + def __init__(__self__, *, + dns_name: pulumi.Input[str], + hosted_zone_id: pulumi.Input[str], + evaluate_target_health: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] dns_name: The value that you specify depends on where you want to route queries. + :param pulumi.Input[str] hosted_zone_id: The value used depends on where you want to route traffic. + :param pulumi.Input[bool] evaluate_target_health: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + """ + pulumi.set(__self__, "dns_name", dns_name) + pulumi.set(__self__, "hosted_zone_id", hosted_zone_id) + if evaluate_target_health is not None: + pulumi.set(__self__, "evaluate_target_health", evaluate_target_health) + + @property + @pulumi.getter(name="dnsName") + def dns_name(self) -> pulumi.Input[str]: + """ + The value that you specify depends on where you want to route queries. + """ + return pulumi.get(self, "dns_name") + + @dns_name.setter + def dns_name(self, value: pulumi.Input[str]): + pulumi.set(self, "dns_name", value) + + @property + @pulumi.getter(name="hostedZoneId") + def hosted_zone_id(self) -> pulumi.Input[str]: + """ + The value used depends on where you want to route traffic. + """ + return pulumi.get(self, "hosted_zone_id") + + @hosted_zone_id.setter + def hosted_zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "hosted_zone_id", value) + + @property + @pulumi.getter(name="evaluateTargetHealth") + def evaluate_target_health(self) -> Optional[pulumi.Input[bool]]: + """ + When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + """ + return pulumi.get(self, "evaluate_target_health") + + @evaluate_target_health.setter + def evaluate_target_health(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "evaluate_target_health", value) + + +if not MYPY: + class RecordSetCidrRoutingConfigArgsDict(TypedDict): + collection_id: pulumi.Input[str] + """ + The CIDR collection ID. + """ + location_name: pulumi.Input[str] + """ + The CIDR collection location name. + """ +elif False: + RecordSetCidrRoutingConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RecordSetCidrRoutingConfigArgs: + def __init__(__self__, *, + collection_id: pulumi.Input[str], + location_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] collection_id: The CIDR collection ID. + :param pulumi.Input[str] location_name: The CIDR collection location name. + """ + pulumi.set(__self__, "collection_id", collection_id) + pulumi.set(__self__, "location_name", location_name) + + @property + @pulumi.getter(name="collectionId") + def collection_id(self) -> pulumi.Input[str]: + """ + The CIDR collection ID. + """ + return pulumi.get(self, "collection_id") + + @collection_id.setter + def collection_id(self, value: pulumi.Input[str]): + pulumi.set(self, "collection_id", value) + + @property + @pulumi.getter(name="locationName") + def location_name(self) -> pulumi.Input[str]: + """ + The CIDR collection location name. + """ + return pulumi.get(self, "location_name") + + @location_name.setter + def location_name(self, value: pulumi.Input[str]): + pulumi.set(self, "location_name", value) + + +if not MYPY: + class RecordSetGeoLocationArgsDict(TypedDict): + continent_code: NotRequired[pulumi.Input[str]] + """ + For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + """ + country_code: NotRequired[pulumi.Input[str]] + """ + For geolocation resource record sets, the two-letter code for a country. + """ + subdivision_code: NotRequired[pulumi.Input[str]] + """ + For geolocation resource record sets, the two-letter code for a state of the United States. + """ +elif False: + RecordSetGeoLocationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RecordSetGeoLocationArgs: + def __init__(__self__, *, + continent_code: Optional[pulumi.Input[str]] = None, + country_code: Optional[pulumi.Input[str]] = None, + subdivision_code: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] continent_code: For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + :param pulumi.Input[str] country_code: For geolocation resource record sets, the two-letter code for a country. + :param pulumi.Input[str] subdivision_code: For geolocation resource record sets, the two-letter code for a state of the United States. + """ + if continent_code is not None: + pulumi.set(__self__, "continent_code", continent_code) + if country_code is not None: + pulumi.set(__self__, "country_code", country_code) + if subdivision_code is not None: + pulumi.set(__self__, "subdivision_code", subdivision_code) + + @property + @pulumi.getter(name="continentCode") + def continent_code(self) -> Optional[pulumi.Input[str]]: + """ + For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + """ + return pulumi.get(self, "continent_code") + + @continent_code.setter + def continent_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "continent_code", value) + + @property + @pulumi.getter(name="countryCode") + def country_code(self) -> Optional[pulumi.Input[str]]: + """ + For geolocation resource record sets, the two-letter code for a country. + """ + return pulumi.get(self, "country_code") + + @country_code.setter + def country_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "country_code", value) + + @property + @pulumi.getter(name="subdivisionCode") + def subdivision_code(self) -> Optional[pulumi.Input[str]]: + """ + For geolocation resource record sets, the two-letter code for a state of the United States. + """ + return pulumi.get(self, "subdivision_code") + + @subdivision_code.setter + def subdivision_code(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subdivision_code", value) + + diff --git a/sdk/python/pulumi_aws_native/route53/get_record_set.py b/sdk/python/pulumi_aws_native/route53/get_record_set.py new file mode 100644 index 0000000000..92fdccefe4 --- /dev/null +++ b/sdk/python/pulumi_aws_native/route53/get_record_set.py @@ -0,0 +1,265 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 +from . import outputs +from ._enums import * + +__all__ = [ + 'GetRecordSetResult', + 'AwaitableGetRecordSetResult', + 'get_record_set', + 'get_record_set_output', +] + +@pulumi.output_type +class GetRecordSetResult: + def __init__(__self__, alias_target=None, cidr_routing_config=None, failover=None, geo_location=None, health_check_id=None, multi_value_answer=None, name=None, region=None, resource_records=None, set_identifier=None, ttl=None, type=None, weight=None): + if alias_target and not isinstance(alias_target, dict): + raise TypeError("Expected argument 'alias_target' to be a dict") + pulumi.set(__self__, "alias_target", alias_target) + if cidr_routing_config and not isinstance(cidr_routing_config, dict): + raise TypeError("Expected argument 'cidr_routing_config' to be a dict") + pulumi.set(__self__, "cidr_routing_config", cidr_routing_config) + if failover and not isinstance(failover, str): + raise TypeError("Expected argument 'failover' to be a str") + pulumi.set(__self__, "failover", failover) + if geo_location and not isinstance(geo_location, dict): + raise TypeError("Expected argument 'geo_location' to be a dict") + pulumi.set(__self__, "geo_location", geo_location) + if health_check_id and not isinstance(health_check_id, str): + raise TypeError("Expected argument 'health_check_id' to be a str") + pulumi.set(__self__, "health_check_id", health_check_id) + if multi_value_answer and not isinstance(multi_value_answer, bool): + raise TypeError("Expected argument 'multi_value_answer' to be a bool") + pulumi.set(__self__, "multi_value_answer", multi_value_answer) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if resource_records and not isinstance(resource_records, list): + raise TypeError("Expected argument 'resource_records' to be a list") + pulumi.set(__self__, "resource_records", resource_records) + if set_identifier and not isinstance(set_identifier, str): + raise TypeError("Expected argument 'set_identifier' to be a str") + pulumi.set(__self__, "set_identifier", set_identifier) + if ttl and not isinstance(ttl, str): + raise TypeError("Expected argument 'ttl' to be a str") + pulumi.set(__self__, "ttl", ttl) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if weight and not isinstance(weight, int): + raise TypeError("Expected argument 'weight' to be a int") + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter(name="aliasTarget") + def alias_target(self) -> Optional['outputs.RecordSetAliasTarget']: + """ + Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + """ + return pulumi.get(self, "alias_target") + + @property + @pulumi.getter(name="cidrRoutingConfig") + def cidr_routing_config(self) -> Optional['outputs.RecordSetCidrRoutingConfig']: + """ + The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + """ + return pulumi.get(self, "cidr_routing_config") + + @property + @pulumi.getter + def failover(self) -> Optional['RecordSetFailover']: + """ + To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + """ + return pulumi.get(self, "failover") + + @property + @pulumi.getter(name="geoLocation") + def geo_location(self) -> Optional['outputs.RecordSetGeoLocation']: + """ + A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + """ + return pulumi.get(self, "geo_location") + + @property + @pulumi.getter(name="healthCheckId") + def health_check_id(self) -> Optional[str]: + """ + If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + """ + return pulumi.get(self, "health_check_id") + + @property + @pulumi.getter(name="multiValueAnswer") + def multi_value_answer(self) -> Optional[bool]: + """ + To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + """ + return pulumi.get(self, "multi_value_answer") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the record that you want to create, update, or delete. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def region(self) -> Optional[str]: + """ + The Amazon EC2 Region where you created the resource that this resource record set refers to. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="resourceRecords") + def resource_records(self) -> Optional[Sequence[str]]: + """ + One or more values that correspond with the value that you specified for the Type property. + """ + return pulumi.get(self, "resource_records") + + @property + @pulumi.getter(name="setIdentifier") + def set_identifier(self) -> Optional[str]: + """ + An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + """ + return pulumi.get(self, "set_identifier") + + @property + @pulumi.getter + def ttl(self) -> Optional[str]: + """ + The resource record cache time to live (TTL), in seconds. + """ + return pulumi.get(self, "ttl") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The DNS record type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def weight(self) -> Optional[int]: + """ + Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + """ + return pulumi.get(self, "weight") + + +class AwaitableGetRecordSetResult(GetRecordSetResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRecordSetResult( + alias_target=self.alias_target, + cidr_routing_config=self.cidr_routing_config, + failover=self.failover, + geo_location=self.geo_location, + health_check_id=self.health_check_id, + multi_value_answer=self.multi_value_answer, + name=self.name, + region=self.region, + resource_records=self.resource_records, + set_identifier=self.set_identifier, + ttl=self.ttl, + type=self.type, + weight=self.weight) + + +def get_record_set(hosted_zone_id: Optional[str] = None, + name: Optional[str] = None, + set_identifier: Optional[str] = None, + type: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRecordSetResult: + """ + Resource Type definition for AWS::Route53::RecordSet. + + + :param str hosted_zone_id: The ID of the hosted zone that you want to create records in. + :param str name: The name of the record that you want to create, update, or delete. + :param str set_identifier: An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + :param str type: The DNS record type. + """ + __args__ = dict() + __args__['hostedZoneId'] = hosted_zone_id + __args__['name'] = name + __args__['setIdentifier'] = set_identifier + __args__['type'] = type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:route53:getRecordSet', __args__, opts=opts, typ=GetRecordSetResult).value + + return AwaitableGetRecordSetResult( + alias_target=pulumi.get(__ret__, 'alias_target'), + cidr_routing_config=pulumi.get(__ret__, 'cidr_routing_config'), + failover=pulumi.get(__ret__, 'failover'), + geo_location=pulumi.get(__ret__, 'geo_location'), + health_check_id=pulumi.get(__ret__, 'health_check_id'), + multi_value_answer=pulumi.get(__ret__, 'multi_value_answer'), + name=pulumi.get(__ret__, 'name'), + region=pulumi.get(__ret__, 'region'), + resource_records=pulumi.get(__ret__, 'resource_records'), + set_identifier=pulumi.get(__ret__, 'set_identifier'), + ttl=pulumi.get(__ret__, 'ttl'), + type=pulumi.get(__ret__, 'type'), + weight=pulumi.get(__ret__, 'weight')) +def get_record_set_output(hosted_zone_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + set_identifier: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRecordSetResult]: + """ + Resource Type definition for AWS::Route53::RecordSet. + + + :param str hosted_zone_id: The ID of the hosted zone that you want to create records in. + :param str name: The name of the record that you want to create, update, or delete. + :param str set_identifier: An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + :param str type: The DNS record type. + """ + __args__ = dict() + __args__['hostedZoneId'] = hosted_zone_id + __args__['name'] = name + __args__['setIdentifier'] = set_identifier + __args__['type'] = type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:route53:getRecordSet', __args__, opts=opts, typ=GetRecordSetResult) + return __ret__.apply(lambda __response__: GetRecordSetResult( + alias_target=pulumi.get(__response__, 'alias_target'), + cidr_routing_config=pulumi.get(__response__, 'cidr_routing_config'), + failover=pulumi.get(__response__, 'failover'), + geo_location=pulumi.get(__response__, 'geo_location'), + health_check_id=pulumi.get(__response__, 'health_check_id'), + multi_value_answer=pulumi.get(__response__, 'multi_value_answer'), + name=pulumi.get(__response__, 'name'), + region=pulumi.get(__response__, 'region'), + resource_records=pulumi.get(__response__, 'resource_records'), + set_identifier=pulumi.get(__response__, 'set_identifier'), + ttl=pulumi.get(__response__, 'ttl'), + type=pulumi.get(__response__, 'type'), + weight=pulumi.get(__response__, 'weight'))) diff --git a/sdk/python/pulumi_aws_native/route53/outputs.py b/sdk/python/pulumi_aws_native/route53/outputs.py index 7091ac4972..5f9f1373de 100644 --- a/sdk/python/pulumi_aws_native/route53/outputs.py +++ b/sdk/python/pulumi_aws_native/route53/outputs.py @@ -24,6 +24,9 @@ 'HostedZoneConfig', 'HostedZoneQueryLoggingConfig', 'HostedZoneVpc', + 'RecordSetAliasTarget', + 'RecordSetCidrRoutingConfig', + 'RecordSetGeoLocation', ] @pulumi.output_type @@ -703,3 +706,177 @@ def vpc_region(self) -> str: return pulumi.get(self, "vpc_region") +@pulumi.output_type +class RecordSetAliasTarget(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dnsName": + suggest = "dns_name" + elif key == "hostedZoneId": + suggest = "hosted_zone_id" + elif key == "evaluateTargetHealth": + suggest = "evaluate_target_health" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RecordSetAliasTarget. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RecordSetAliasTarget.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RecordSetAliasTarget.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dns_name: str, + hosted_zone_id: str, + evaluate_target_health: Optional[bool] = None): + """ + :param str dns_name: The value that you specify depends on where you want to route queries. + :param str hosted_zone_id: The value used depends on where you want to route traffic. + :param bool evaluate_target_health: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + """ + pulumi.set(__self__, "dns_name", dns_name) + pulumi.set(__self__, "hosted_zone_id", hosted_zone_id) + if evaluate_target_health is not None: + pulumi.set(__self__, "evaluate_target_health", evaluate_target_health) + + @property + @pulumi.getter(name="dnsName") + def dns_name(self) -> str: + """ + The value that you specify depends on where you want to route queries. + """ + return pulumi.get(self, "dns_name") + + @property + @pulumi.getter(name="hostedZoneId") + def hosted_zone_id(self) -> str: + """ + The value used depends on where you want to route traffic. + """ + return pulumi.get(self, "hosted_zone_id") + + @property + @pulumi.getter(name="evaluateTargetHealth") + def evaluate_target_health(self) -> Optional[bool]: + """ + When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone. + """ + return pulumi.get(self, "evaluate_target_health") + + +@pulumi.output_type +class RecordSetCidrRoutingConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "collectionId": + suggest = "collection_id" + elif key == "locationName": + suggest = "location_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RecordSetCidrRoutingConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RecordSetCidrRoutingConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RecordSetCidrRoutingConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + collection_id: str, + location_name: str): + """ + :param str collection_id: The CIDR collection ID. + :param str location_name: The CIDR collection location name. + """ + pulumi.set(__self__, "collection_id", collection_id) + pulumi.set(__self__, "location_name", location_name) + + @property + @pulumi.getter(name="collectionId") + def collection_id(self) -> str: + """ + The CIDR collection ID. + """ + return pulumi.get(self, "collection_id") + + @property + @pulumi.getter(name="locationName") + def location_name(self) -> str: + """ + The CIDR collection location name. + """ + return pulumi.get(self, "location_name") + + +@pulumi.output_type +class RecordSetGeoLocation(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "continentCode": + suggest = "continent_code" + elif key == "countryCode": + suggest = "country_code" + elif key == "subdivisionCode": + suggest = "subdivision_code" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RecordSetGeoLocation. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RecordSetGeoLocation.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RecordSetGeoLocation.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + continent_code: Optional[str] = None, + country_code: Optional[str] = None, + subdivision_code: Optional[str] = None): + """ + :param str continent_code: For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + :param str country_code: For geolocation resource record sets, the two-letter code for a country. + :param str subdivision_code: For geolocation resource record sets, the two-letter code for a state of the United States. + """ + if continent_code is not None: + pulumi.set(__self__, "continent_code", continent_code) + if country_code is not None: + pulumi.set(__self__, "country_code", country_code) + if subdivision_code is not None: + pulumi.set(__self__, "subdivision_code", subdivision_code) + + @property + @pulumi.getter(name="continentCode") + def continent_code(self) -> Optional[str]: + """ + For geolocation resource record sets, a two-letter abbreviation that identifies a continent. + """ + return pulumi.get(self, "continent_code") + + @property + @pulumi.getter(name="countryCode") + def country_code(self) -> Optional[str]: + """ + For geolocation resource record sets, the two-letter code for a country. + """ + return pulumi.get(self, "country_code") + + @property + @pulumi.getter(name="subdivisionCode") + def subdivision_code(self) -> Optional[str]: + """ + For geolocation resource record sets, the two-letter code for a state of the United States. + """ + return pulumi.get(self, "subdivision_code") + + diff --git a/sdk/python/pulumi_aws_native/route53/record_set.py b/sdk/python/pulumi_aws_native/route53/record_set.py new file mode 100644 index 0000000000..433ceb89ef --- /dev/null +++ b/sdk/python/pulumi_aws_native/route53/record_set.py @@ -0,0 +1,565 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['RecordSetArgs', 'RecordSet'] + +@pulumi.input_type +class RecordSetArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + alias_target: Optional[pulumi.Input['RecordSetAliasTargetArgs']] = None, + cidr_routing_config: Optional[pulumi.Input['RecordSetCidrRoutingConfigArgs']] = None, + comment: Optional[pulumi.Input[str]] = None, + failover: Optional[pulumi.Input['RecordSetFailover']] = None, + geo_location: Optional[pulumi.Input['RecordSetGeoLocationArgs']] = None, + health_check_id: Optional[pulumi.Input[str]] = None, + hosted_zone_id: Optional[pulumi.Input[str]] = None, + hosted_zone_name: Optional[pulumi.Input[str]] = None, + multi_value_answer: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + resource_records: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + set_identifier: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None, + weight: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a RecordSet resource. + :param pulumi.Input[str] type: The DNS record type. + :param pulumi.Input['RecordSetAliasTargetArgs'] alias_target: Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + :param pulumi.Input['RecordSetCidrRoutingConfigArgs'] cidr_routing_config: The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + :param pulumi.Input[str] comment: Optional: Any comments you want to include about a change batch request. + :param pulumi.Input['RecordSetFailover'] failover: To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + :param pulumi.Input['RecordSetGeoLocationArgs'] geo_location: A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + :param pulumi.Input[str] health_check_id: If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + :param pulumi.Input[str] hosted_zone_id: The ID of the hosted zone that you want to create records in. + :param pulumi.Input[str] hosted_zone_name: The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + :param pulumi.Input[bool] multi_value_answer: To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + :param pulumi.Input[str] name: The name of the record that you want to create, update, or delete. + :param pulumi.Input[str] region: The Amazon EC2 Region where you created the resource that this resource record set refers to. + :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_records: One or more values that correspond with the value that you specified for the Type property. + :param pulumi.Input[str] set_identifier: An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + :param pulumi.Input[str] ttl: The resource record cache time to live (TTL), in seconds. + :param pulumi.Input[int] weight: Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + """ + pulumi.set(__self__, "type", type) + if alias_target is not None: + pulumi.set(__self__, "alias_target", alias_target) + if cidr_routing_config is not None: + pulumi.set(__self__, "cidr_routing_config", cidr_routing_config) + if comment is not None: + pulumi.set(__self__, "comment", comment) + if failover is not None: + pulumi.set(__self__, "failover", failover) + if geo_location is not None: + pulumi.set(__self__, "geo_location", geo_location) + if health_check_id is not None: + pulumi.set(__self__, "health_check_id", health_check_id) + if hosted_zone_id is not None: + pulumi.set(__self__, "hosted_zone_id", hosted_zone_id) + if hosted_zone_name is not None: + pulumi.set(__self__, "hosted_zone_name", hosted_zone_name) + if multi_value_answer is not None: + pulumi.set(__self__, "multi_value_answer", multi_value_answer) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + if resource_records is not None: + pulumi.set(__self__, "resource_records", resource_records) + if set_identifier is not None: + pulumi.set(__self__, "set_identifier", set_identifier) + if ttl is not None: + pulumi.set(__self__, "ttl", ttl) + if weight is not None: + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The DNS record type. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="aliasTarget") + def alias_target(self) -> Optional[pulumi.Input['RecordSetAliasTargetArgs']]: + """ + Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + """ + return pulumi.get(self, "alias_target") + + @alias_target.setter + def alias_target(self, value: Optional[pulumi.Input['RecordSetAliasTargetArgs']]): + pulumi.set(self, "alias_target", value) + + @property + @pulumi.getter(name="cidrRoutingConfig") + def cidr_routing_config(self) -> Optional[pulumi.Input['RecordSetCidrRoutingConfigArgs']]: + """ + The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + """ + return pulumi.get(self, "cidr_routing_config") + + @cidr_routing_config.setter + def cidr_routing_config(self, value: Optional[pulumi.Input['RecordSetCidrRoutingConfigArgs']]): + pulumi.set(self, "cidr_routing_config", value) + + @property + @pulumi.getter + def comment(self) -> Optional[pulumi.Input[str]]: + """ + Optional: Any comments you want to include about a change batch request. + """ + return pulumi.get(self, "comment") + + @comment.setter + def comment(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "comment", value) + + @property + @pulumi.getter + def failover(self) -> Optional[pulumi.Input['RecordSetFailover']]: + """ + To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + """ + return pulumi.get(self, "failover") + + @failover.setter + def failover(self, value: Optional[pulumi.Input['RecordSetFailover']]): + pulumi.set(self, "failover", value) + + @property + @pulumi.getter(name="geoLocation") + def geo_location(self) -> Optional[pulumi.Input['RecordSetGeoLocationArgs']]: + """ + A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + """ + return pulumi.get(self, "geo_location") + + @geo_location.setter + def geo_location(self, value: Optional[pulumi.Input['RecordSetGeoLocationArgs']]): + pulumi.set(self, "geo_location", value) + + @property + @pulumi.getter(name="healthCheckId") + def health_check_id(self) -> Optional[pulumi.Input[str]]: + """ + If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + """ + return pulumi.get(self, "health_check_id") + + @health_check_id.setter + def health_check_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "health_check_id", value) + + @property + @pulumi.getter(name="hostedZoneId") + def hosted_zone_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the hosted zone that you want to create records in. + """ + return pulumi.get(self, "hosted_zone_id") + + @hosted_zone_id.setter + def hosted_zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hosted_zone_id", value) + + @property + @pulumi.getter(name="hostedZoneName") + def hosted_zone_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + """ + return pulumi.get(self, "hosted_zone_name") + + @hosted_zone_name.setter + def hosted_zone_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hosted_zone_name", value) + + @property + @pulumi.getter(name="multiValueAnswer") + def multi_value_answer(self) -> Optional[pulumi.Input[bool]]: + """ + To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + """ + return pulumi.get(self, "multi_value_answer") + + @multi_value_answer.setter + def multi_value_answer(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "multi_value_answer", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the record that you want to create, update, or delete. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon EC2 Region where you created the resource that this resource record set refers to. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="resourceRecords") + def resource_records(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + One or more values that correspond with the value that you specified for the Type property. + """ + return pulumi.get(self, "resource_records") + + @resource_records.setter + def resource_records(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "resource_records", value) + + @property + @pulumi.getter(name="setIdentifier") + def set_identifier(self) -> Optional[pulumi.Input[str]]: + """ + An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + """ + return pulumi.get(self, "set_identifier") + + @set_identifier.setter + def set_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "set_identifier", value) + + @property + @pulumi.getter + def ttl(self) -> Optional[pulumi.Input[str]]: + """ + The resource record cache time to live (TTL), in seconds. + """ + return pulumi.get(self, "ttl") + + @ttl.setter + def ttl(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ttl", value) + + @property + @pulumi.getter + def weight(self) -> Optional[pulumi.Input[int]]: + """ + Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + """ + return pulumi.get(self, "weight") + + @weight.setter + def weight(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "weight", value) + + +class RecordSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + alias_target: Optional[pulumi.Input[Union['RecordSetAliasTargetArgs', 'RecordSetAliasTargetArgsDict']]] = None, + cidr_routing_config: Optional[pulumi.Input[Union['RecordSetCidrRoutingConfigArgs', 'RecordSetCidrRoutingConfigArgsDict']]] = None, + comment: Optional[pulumi.Input[str]] = None, + failover: Optional[pulumi.Input['RecordSetFailover']] = None, + geo_location: Optional[pulumi.Input[Union['RecordSetGeoLocationArgs', 'RecordSetGeoLocationArgsDict']]] = None, + health_check_id: Optional[pulumi.Input[str]] = None, + hosted_zone_id: Optional[pulumi.Input[str]] = None, + hosted_zone_name: Optional[pulumi.Input[str]] = None, + multi_value_answer: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + resource_records: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + set_identifier: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + weight: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Resource Type definition for AWS::Route53::RecordSet. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['RecordSetAliasTargetArgs', 'RecordSetAliasTargetArgsDict']] alias_target: Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + :param pulumi.Input[Union['RecordSetCidrRoutingConfigArgs', 'RecordSetCidrRoutingConfigArgsDict']] cidr_routing_config: The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + :param pulumi.Input[str] comment: Optional: Any comments you want to include about a change batch request. + :param pulumi.Input['RecordSetFailover'] failover: To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + :param pulumi.Input[Union['RecordSetGeoLocationArgs', 'RecordSetGeoLocationArgsDict']] geo_location: A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + :param pulumi.Input[str] health_check_id: If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + :param pulumi.Input[str] hosted_zone_id: The ID of the hosted zone that you want to create records in. + :param pulumi.Input[str] hosted_zone_name: The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + :param pulumi.Input[bool] multi_value_answer: To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + :param pulumi.Input[str] name: The name of the record that you want to create, update, or delete. + :param pulumi.Input[str] region: The Amazon EC2 Region where you created the resource that this resource record set refers to. + :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_records: One or more values that correspond with the value that you specified for the Type property. + :param pulumi.Input[str] set_identifier: An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + :param pulumi.Input[str] ttl: The resource record cache time to live (TTL), in seconds. + :param pulumi.Input[str] type: The DNS record type. + :param pulumi.Input[int] weight: Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RecordSetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::Route53::RecordSet. + + :param str resource_name: The name of the resource. + :param RecordSetArgs 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(RecordSetArgs, 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, + alias_target: Optional[pulumi.Input[Union['RecordSetAliasTargetArgs', 'RecordSetAliasTargetArgsDict']]] = None, + cidr_routing_config: Optional[pulumi.Input[Union['RecordSetCidrRoutingConfigArgs', 'RecordSetCidrRoutingConfigArgsDict']]] = None, + comment: Optional[pulumi.Input[str]] = None, + failover: Optional[pulumi.Input['RecordSetFailover']] = None, + geo_location: Optional[pulumi.Input[Union['RecordSetGeoLocationArgs', 'RecordSetGeoLocationArgsDict']]] = None, + health_check_id: Optional[pulumi.Input[str]] = None, + hosted_zone_id: Optional[pulumi.Input[str]] = None, + hosted_zone_name: Optional[pulumi.Input[str]] = None, + multi_value_answer: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + resource_records: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + set_identifier: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + weight: Optional[pulumi.Input[int]] = 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__ = RecordSetArgs.__new__(RecordSetArgs) + + __props__.__dict__["alias_target"] = alias_target + __props__.__dict__["cidr_routing_config"] = cidr_routing_config + __props__.__dict__["comment"] = comment + __props__.__dict__["failover"] = failover + __props__.__dict__["geo_location"] = geo_location + __props__.__dict__["health_check_id"] = health_check_id + __props__.__dict__["hosted_zone_id"] = hosted_zone_id + __props__.__dict__["hosted_zone_name"] = hosted_zone_name + __props__.__dict__["multi_value_answer"] = multi_value_answer + __props__.__dict__["name"] = name + __props__.__dict__["region"] = region + __props__.__dict__["resource_records"] = resource_records + __props__.__dict__["set_identifier"] = set_identifier + __props__.__dict__["ttl"] = ttl + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + __props__.__dict__["weight"] = weight + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["hostedZoneId", "hostedZoneName"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(RecordSet, __self__).__init__( + 'aws-native:route53:RecordSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'RecordSet': + """ + Get an existing RecordSet 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = RecordSetArgs.__new__(RecordSetArgs) + + __props__.__dict__["alias_target"] = None + __props__.__dict__["cidr_routing_config"] = None + __props__.__dict__["comment"] = None + __props__.__dict__["failover"] = None + __props__.__dict__["geo_location"] = None + __props__.__dict__["health_check_id"] = None + __props__.__dict__["hosted_zone_id"] = None + __props__.__dict__["hosted_zone_name"] = None + __props__.__dict__["multi_value_answer"] = None + __props__.__dict__["name"] = None + __props__.__dict__["region"] = None + __props__.__dict__["resource_records"] = None + __props__.__dict__["set_identifier"] = None + __props__.__dict__["ttl"] = None + __props__.__dict__["type"] = None + __props__.__dict__["weight"] = None + return RecordSet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="aliasTarget") + def alias_target(self) -> pulumi.Output[Optional['outputs.RecordSetAliasTarget']]: + """ + Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to. + """ + return pulumi.get(self, "alias_target") + + @property + @pulumi.getter(name="cidrRoutingConfig") + def cidr_routing_config(self) -> pulumi.Output[Optional['outputs.RecordSetCidrRoutingConfig']]: + """ + The object that is specified in resource record set object when you are linking a resource record set to a CIDR location. + """ + return pulumi.get(self, "cidr_routing_config") + + @property + @pulumi.getter + def comment(self) -> pulumi.Output[Optional[str]]: + """ + Optional: Any comments you want to include about a change batch request. + """ + return pulumi.get(self, "comment") + + @property + @pulumi.getter + def failover(self) -> pulumi.Output[Optional['RecordSetFailover']]: + """ + To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set. + """ + return pulumi.get(self, "failover") + + @property + @pulumi.getter(name="geoLocation") + def geo_location(self) -> pulumi.Output[Optional['outputs.RecordSetGeoLocation']]: + """ + A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. + """ + return pulumi.get(self, "geo_location") + + @property + @pulumi.getter(name="healthCheckId") + def health_check_id(self) -> pulumi.Output[Optional[str]]: + """ + If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check. + """ + return pulumi.get(self, "health_check_id") + + @property + @pulumi.getter(name="hostedZoneId") + def hosted_zone_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the hosted zone that you want to create records in. + """ + return pulumi.get(self, "hosted_zone_id") + + @property + @pulumi.getter(name="hostedZoneName") + def hosted_zone_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, www.example.com.) as part of the HostedZoneName. + """ + return pulumi.get(self, "hosted_zone_name") + + @property + @pulumi.getter(name="multiValueAnswer") + def multi_value_answer(self) -> pulumi.Output[Optional[bool]]: + """ + To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. + """ + return pulumi.get(self, "multi_value_answer") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the record that you want to create, update, or delete. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def region(self) -> pulumi.Output[Optional[str]]: + """ + The Amazon EC2 Region where you created the resource that this resource record set refers to. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="resourceRecords") + def resource_records(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + One or more values that correspond with the value that you specified for the Type property. + """ + return pulumi.get(self, "resource_records") + + @property + @pulumi.getter(name="setIdentifier") + def set_identifier(self) -> pulumi.Output[Optional[str]]: + """ + An identifier that differentiates among multiple resource record sets that have the same combination of name and type. + """ + return pulumi.get(self, "set_identifier") + + @property + @pulumi.getter + def ttl(self) -> pulumi.Output[Optional[str]]: + """ + The resource record cache time to live (TTL), in seconds. + """ + return pulumi.get(self, "ttl") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The DNS record type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def weight(self) -> pulumi.Output[Optional[int]]: + """ + Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. + """ + return pulumi.get(self, "weight") + diff --git a/sdk/python/pulumi_aws_native/sagemaker/__init__.py b/sdk/python/pulumi_aws_native/sagemaker/__init__.py index c35b8f07fe..8d64a7c984 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/__init__.py +++ b/sdk/python/pulumi_aws_native/sagemaker/__init__.py @@ -13,6 +13,7 @@ from .device import * from .device_fleet import * from .domain import * +from .endpoint import * from .feature_group import * from .get_app import * from .get_app_image_config import * @@ -20,6 +21,7 @@ from .get_data_quality_job_definition import * from .get_device_fleet import * from .get_domain import * +from .get_endpoint import * from .get_feature_group import * from .get_image import * from .get_image_version import * diff --git a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py index 42aa0fd208..f54413f59d 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py @@ -130,6 +130,22 @@ 'DomainStudioWebPortalSettingsArgsDict', 'DomainUserSettingsArgs', 'DomainUserSettingsArgsDict', + 'EndpointAlarmArgs', + 'EndpointAlarmArgsDict', + 'EndpointAutoRollbackConfigArgs', + 'EndpointAutoRollbackConfigArgsDict', + 'EndpointBlueGreenUpdatePolicyArgs', + 'EndpointBlueGreenUpdatePolicyArgsDict', + 'EndpointCapacitySizeArgs', + 'EndpointCapacitySizeArgsDict', + 'EndpointDeploymentConfigArgs', + 'EndpointDeploymentConfigArgsDict', + 'EndpointRollingUpdatePolicyArgs', + 'EndpointRollingUpdatePolicyArgsDict', + 'EndpointTrafficRoutingConfigArgs', + 'EndpointTrafficRoutingConfigArgsDict', + 'EndpointVariantPropertyArgs', + 'EndpointVariantPropertyArgsDict', 'FeatureGroupDataCatalogConfigArgs', 'FeatureGroupDataCatalogConfigArgsDict', 'FeatureGroupFeatureDefinitionArgs', @@ -4496,6 +4512,474 @@ def studio_web_portal_settings(self, value: Optional[pulumi.Input['DomainStudioW pulumi.set(self, "studio_web_portal_settings", value) +if not MYPY: + class EndpointAlarmArgsDict(TypedDict): + alarm_name: pulumi.Input[str] + """ + The name of the CloudWatch alarm. + """ +elif False: + EndpointAlarmArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointAlarmArgs: + def __init__(__self__, *, + alarm_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] alarm_name: The name of the CloudWatch alarm. + """ + pulumi.set(__self__, "alarm_name", alarm_name) + + @property + @pulumi.getter(name="alarmName") + def alarm_name(self) -> pulumi.Input[str]: + """ + The name of the CloudWatch alarm. + """ + return pulumi.get(self, "alarm_name") + + @alarm_name.setter + def alarm_name(self, value: pulumi.Input[str]): + pulumi.set(self, "alarm_name", value) + + +if not MYPY: + class EndpointAutoRollbackConfigArgsDict(TypedDict): + alarms: pulumi.Input[Sequence[pulumi.Input['EndpointAlarmArgsDict']]] + """ + List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + """ +elif False: + EndpointAutoRollbackConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointAutoRollbackConfigArgs: + def __init__(__self__, *, + alarms: pulumi.Input[Sequence[pulumi.Input['EndpointAlarmArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['EndpointAlarmArgs']]] alarms: List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + """ + pulumi.set(__self__, "alarms", alarms) + + @property + @pulumi.getter + def alarms(self) -> pulumi.Input[Sequence[pulumi.Input['EndpointAlarmArgs']]]: + """ + List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + """ + return pulumi.get(self, "alarms") + + @alarms.setter + def alarms(self, value: pulumi.Input[Sequence[pulumi.Input['EndpointAlarmArgs']]]): + pulumi.set(self, "alarms", value) + + +if not MYPY: + class EndpointBlueGreenUpdatePolicyArgsDict(TypedDict): + traffic_routing_configuration: pulumi.Input['EndpointTrafficRoutingConfigArgsDict'] + """ + The traffic routing configuration for the blue/green deployment. + """ + maximum_execution_timeout_in_seconds: NotRequired[pulumi.Input[int]] + """ + The maximum time allowed for the blue/green update, in seconds. + """ + termination_wait_in_seconds: NotRequired[pulumi.Input[int]] + """ + The wait time before terminating the old endpoint during a blue/green deployment. + """ +elif False: + EndpointBlueGreenUpdatePolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointBlueGreenUpdatePolicyArgs: + def __init__(__self__, *, + traffic_routing_configuration: pulumi.Input['EndpointTrafficRoutingConfigArgs'], + maximum_execution_timeout_in_seconds: Optional[pulumi.Input[int]] = None, + termination_wait_in_seconds: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input['EndpointTrafficRoutingConfigArgs'] traffic_routing_configuration: The traffic routing configuration for the blue/green deployment. + :param pulumi.Input[int] maximum_execution_timeout_in_seconds: The maximum time allowed for the blue/green update, in seconds. + :param pulumi.Input[int] termination_wait_in_seconds: The wait time before terminating the old endpoint during a blue/green deployment. + """ + pulumi.set(__self__, "traffic_routing_configuration", traffic_routing_configuration) + if maximum_execution_timeout_in_seconds is not None: + pulumi.set(__self__, "maximum_execution_timeout_in_seconds", maximum_execution_timeout_in_seconds) + if termination_wait_in_seconds is not None: + pulumi.set(__self__, "termination_wait_in_seconds", termination_wait_in_seconds) + + @property + @pulumi.getter(name="trafficRoutingConfiguration") + def traffic_routing_configuration(self) -> pulumi.Input['EndpointTrafficRoutingConfigArgs']: + """ + The traffic routing configuration for the blue/green deployment. + """ + return pulumi.get(self, "traffic_routing_configuration") + + @traffic_routing_configuration.setter + def traffic_routing_configuration(self, value: pulumi.Input['EndpointTrafficRoutingConfigArgs']): + pulumi.set(self, "traffic_routing_configuration", value) + + @property + @pulumi.getter(name="maximumExecutionTimeoutInSeconds") + def maximum_execution_timeout_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The maximum time allowed for the blue/green update, in seconds. + """ + return pulumi.get(self, "maximum_execution_timeout_in_seconds") + + @maximum_execution_timeout_in_seconds.setter + def maximum_execution_timeout_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "maximum_execution_timeout_in_seconds", value) + + @property + @pulumi.getter(name="terminationWaitInSeconds") + def termination_wait_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The wait time before terminating the old endpoint during a blue/green deployment. + """ + return pulumi.get(self, "termination_wait_in_seconds") + + @termination_wait_in_seconds.setter + def termination_wait_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "termination_wait_in_seconds", value) + + +if not MYPY: + class EndpointCapacitySizeArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Specifies whether the `Value` is an instance count or a capacity unit. + """ + value: pulumi.Input[int] + """ + The value representing either the number of instances or the number of capacity units. + """ +elif False: + EndpointCapacitySizeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointCapacitySizeArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + value: pulumi.Input[int]): + """ + :param pulumi.Input[str] type: Specifies whether the `Value` is an instance count or a capacity unit. + :param pulumi.Input[int] value: The value representing either the number of instances or the number of capacity units. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Specifies whether the `Value` is an instance count or a capacity unit. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + """ + The value representing either the number of instances or the number of capacity units. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + +if not MYPY: + class EndpointDeploymentConfigArgsDict(TypedDict): + auto_rollback_configuration: NotRequired[pulumi.Input['EndpointAutoRollbackConfigArgsDict']] + """ + Configuration for automatic rollback if an error occurs during deployment. + """ + blue_green_update_policy: NotRequired[pulumi.Input['EndpointBlueGreenUpdatePolicyArgsDict']] + """ + Configuration for blue-green update deployment policies. + """ + rolling_update_policy: NotRequired[pulumi.Input['EndpointRollingUpdatePolicyArgsDict']] + """ + Configuration for rolling update deployment policies. + """ +elif False: + EndpointDeploymentConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointDeploymentConfigArgs: + def __init__(__self__, *, + auto_rollback_configuration: Optional[pulumi.Input['EndpointAutoRollbackConfigArgs']] = None, + blue_green_update_policy: Optional[pulumi.Input['EndpointBlueGreenUpdatePolicyArgs']] = None, + rolling_update_policy: Optional[pulumi.Input['EndpointRollingUpdatePolicyArgs']] = None): + """ + :param pulumi.Input['EndpointAutoRollbackConfigArgs'] auto_rollback_configuration: Configuration for automatic rollback if an error occurs during deployment. + :param pulumi.Input['EndpointBlueGreenUpdatePolicyArgs'] blue_green_update_policy: Configuration for blue-green update deployment policies. + :param pulumi.Input['EndpointRollingUpdatePolicyArgs'] rolling_update_policy: Configuration for rolling update deployment policies. + """ + if auto_rollback_configuration is not None: + pulumi.set(__self__, "auto_rollback_configuration", auto_rollback_configuration) + if blue_green_update_policy is not None: + pulumi.set(__self__, "blue_green_update_policy", blue_green_update_policy) + if rolling_update_policy is not None: + pulumi.set(__self__, "rolling_update_policy", rolling_update_policy) + + @property + @pulumi.getter(name="autoRollbackConfiguration") + def auto_rollback_configuration(self) -> Optional[pulumi.Input['EndpointAutoRollbackConfigArgs']]: + """ + Configuration for automatic rollback if an error occurs during deployment. + """ + return pulumi.get(self, "auto_rollback_configuration") + + @auto_rollback_configuration.setter + def auto_rollback_configuration(self, value: Optional[pulumi.Input['EndpointAutoRollbackConfigArgs']]): + pulumi.set(self, "auto_rollback_configuration", value) + + @property + @pulumi.getter(name="blueGreenUpdatePolicy") + def blue_green_update_policy(self) -> Optional[pulumi.Input['EndpointBlueGreenUpdatePolicyArgs']]: + """ + Configuration for blue-green update deployment policies. + """ + return pulumi.get(self, "blue_green_update_policy") + + @blue_green_update_policy.setter + def blue_green_update_policy(self, value: Optional[pulumi.Input['EndpointBlueGreenUpdatePolicyArgs']]): + pulumi.set(self, "blue_green_update_policy", value) + + @property + @pulumi.getter(name="rollingUpdatePolicy") + def rolling_update_policy(self) -> Optional[pulumi.Input['EndpointRollingUpdatePolicyArgs']]: + """ + Configuration for rolling update deployment policies. + """ + return pulumi.get(self, "rolling_update_policy") + + @rolling_update_policy.setter + def rolling_update_policy(self, value: Optional[pulumi.Input['EndpointRollingUpdatePolicyArgs']]): + pulumi.set(self, "rolling_update_policy", value) + + +if not MYPY: + class EndpointRollingUpdatePolicyArgsDict(TypedDict): + maximum_batch_size: pulumi.Input['EndpointCapacitySizeArgsDict'] + """ + Specifies the maximum batch size for each rolling update. + """ + wait_interval_in_seconds: pulumi.Input[int] + """ + The time to wait between steps during the rolling update, in seconds. + """ + maximum_execution_timeout_in_seconds: NotRequired[pulumi.Input[int]] + """ + The maximum time allowed for the rolling update, in seconds. + """ + rollback_maximum_batch_size: NotRequired[pulumi.Input['EndpointCapacitySizeArgsDict']] + """ + The maximum batch size for rollback during an update failure. + """ +elif False: + EndpointRollingUpdatePolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointRollingUpdatePolicyArgs: + def __init__(__self__, *, + maximum_batch_size: pulumi.Input['EndpointCapacitySizeArgs'], + wait_interval_in_seconds: pulumi.Input[int], + maximum_execution_timeout_in_seconds: Optional[pulumi.Input[int]] = None, + rollback_maximum_batch_size: Optional[pulumi.Input['EndpointCapacitySizeArgs']] = None): + """ + :param pulumi.Input['EndpointCapacitySizeArgs'] maximum_batch_size: Specifies the maximum batch size for each rolling update. + :param pulumi.Input[int] wait_interval_in_seconds: The time to wait between steps during the rolling update, in seconds. + :param pulumi.Input[int] maximum_execution_timeout_in_seconds: The maximum time allowed for the rolling update, in seconds. + :param pulumi.Input['EndpointCapacitySizeArgs'] rollback_maximum_batch_size: The maximum batch size for rollback during an update failure. + """ + pulumi.set(__self__, "maximum_batch_size", maximum_batch_size) + pulumi.set(__self__, "wait_interval_in_seconds", wait_interval_in_seconds) + if maximum_execution_timeout_in_seconds is not None: + pulumi.set(__self__, "maximum_execution_timeout_in_seconds", maximum_execution_timeout_in_seconds) + if rollback_maximum_batch_size is not None: + pulumi.set(__self__, "rollback_maximum_batch_size", rollback_maximum_batch_size) + + @property + @pulumi.getter(name="maximumBatchSize") + def maximum_batch_size(self) -> pulumi.Input['EndpointCapacitySizeArgs']: + """ + Specifies the maximum batch size for each rolling update. + """ + return pulumi.get(self, "maximum_batch_size") + + @maximum_batch_size.setter + def maximum_batch_size(self, value: pulumi.Input['EndpointCapacitySizeArgs']): + pulumi.set(self, "maximum_batch_size", value) + + @property + @pulumi.getter(name="waitIntervalInSeconds") + def wait_interval_in_seconds(self) -> pulumi.Input[int]: + """ + The time to wait between steps during the rolling update, in seconds. + """ + return pulumi.get(self, "wait_interval_in_seconds") + + @wait_interval_in_seconds.setter + def wait_interval_in_seconds(self, value: pulumi.Input[int]): + pulumi.set(self, "wait_interval_in_seconds", value) + + @property + @pulumi.getter(name="maximumExecutionTimeoutInSeconds") + def maximum_execution_timeout_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The maximum time allowed for the rolling update, in seconds. + """ + return pulumi.get(self, "maximum_execution_timeout_in_seconds") + + @maximum_execution_timeout_in_seconds.setter + def maximum_execution_timeout_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "maximum_execution_timeout_in_seconds", value) + + @property + @pulumi.getter(name="rollbackMaximumBatchSize") + def rollback_maximum_batch_size(self) -> Optional[pulumi.Input['EndpointCapacitySizeArgs']]: + """ + The maximum batch size for rollback during an update failure. + """ + return pulumi.get(self, "rollback_maximum_batch_size") + + @rollback_maximum_batch_size.setter + def rollback_maximum_batch_size(self, value: Optional[pulumi.Input['EndpointCapacitySizeArgs']]): + pulumi.set(self, "rollback_maximum_batch_size", value) + + +if not MYPY: + class EndpointTrafficRoutingConfigArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + """ + canary_size: NotRequired[pulumi.Input['EndpointCapacitySizeArgsDict']] + """ + Specifies the size of the canary traffic in a canary deployment. + """ + linear_step_size: NotRequired[pulumi.Input['EndpointCapacitySizeArgsDict']] + """ + Specifies the step size for linear traffic routing. + """ + wait_interval_in_seconds: NotRequired[pulumi.Input[int]] + """ + Specifies the wait interval between traffic shifts, in seconds. + """ +elif False: + EndpointTrafficRoutingConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointTrafficRoutingConfigArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + canary_size: Optional[pulumi.Input['EndpointCapacitySizeArgs']] = None, + linear_step_size: Optional[pulumi.Input['EndpointCapacitySizeArgs']] = None, + wait_interval_in_seconds: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] type: Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + :param pulumi.Input['EndpointCapacitySizeArgs'] canary_size: Specifies the size of the canary traffic in a canary deployment. + :param pulumi.Input['EndpointCapacitySizeArgs'] linear_step_size: Specifies the step size for linear traffic routing. + :param pulumi.Input[int] wait_interval_in_seconds: Specifies the wait interval between traffic shifts, in seconds. + """ + pulumi.set(__self__, "type", type) + if canary_size is not None: + pulumi.set(__self__, "canary_size", canary_size) + if linear_step_size is not None: + pulumi.set(__self__, "linear_step_size", linear_step_size) + if wait_interval_in_seconds is not None: + pulumi.set(__self__, "wait_interval_in_seconds", wait_interval_in_seconds) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="canarySize") + def canary_size(self) -> Optional[pulumi.Input['EndpointCapacitySizeArgs']]: + """ + Specifies the size of the canary traffic in a canary deployment. + """ + return pulumi.get(self, "canary_size") + + @canary_size.setter + def canary_size(self, value: Optional[pulumi.Input['EndpointCapacitySizeArgs']]): + pulumi.set(self, "canary_size", value) + + @property + @pulumi.getter(name="linearStepSize") + def linear_step_size(self) -> Optional[pulumi.Input['EndpointCapacitySizeArgs']]: + """ + Specifies the step size for linear traffic routing. + """ + return pulumi.get(self, "linear_step_size") + + @linear_step_size.setter + def linear_step_size(self, value: Optional[pulumi.Input['EndpointCapacitySizeArgs']]): + pulumi.set(self, "linear_step_size", value) + + @property + @pulumi.getter(name="waitIntervalInSeconds") + def wait_interval_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the wait interval between traffic shifts, in seconds. + """ + return pulumi.get(self, "wait_interval_in_seconds") + + @wait_interval_in_seconds.setter + def wait_interval_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "wait_interval_in_seconds", value) + + +if not MYPY: + class EndpointVariantPropertyArgsDict(TypedDict): + variant_property_type: NotRequired[pulumi.Input[str]] + """ + The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + """ +elif False: + EndpointVariantPropertyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EndpointVariantPropertyArgs: + def __init__(__self__, *, + variant_property_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] variant_property_type: The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + """ + if variant_property_type is not None: + pulumi.set(__self__, "variant_property_type", variant_property_type) + + @property + @pulumi.getter(name="variantPropertyType") + def variant_property_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + """ + return pulumi.get(self, "variant_property_type") + + @variant_property_type.setter + def variant_property_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "variant_property_type", value) + + if not MYPY: class FeatureGroupDataCatalogConfigArgsDict(TypedDict): catalog: pulumi.Input[str] diff --git a/sdk/python/pulumi_aws_native/sagemaker/endpoint.py b/sdk/python/pulumi_aws_native/sagemaker/endpoint.py new file mode 100644 index 0000000000..cfc9d89f33 --- /dev/null +++ b/sdk/python/pulumi_aws_native/sagemaker/endpoint.py @@ -0,0 +1,315 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._inputs import * + +__all__ = ['EndpointArgs', 'Endpoint'] + +@pulumi.input_type +class EndpointArgs: + def __init__(__self__, *, + endpoint_config_name: pulumi.Input[str], + deployment_config: Optional[pulumi.Input['EndpointDeploymentConfigArgs']] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + exclude_retained_variant_properties: Optional[pulumi.Input[Sequence[pulumi.Input['EndpointVariantPropertyArgs']]]] = None, + retain_all_variant_properties: Optional[pulumi.Input[bool]] = None, + retain_deployment_config: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a Endpoint resource. + :param pulumi.Input[str] endpoint_config_name: The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + :param pulumi.Input['EndpointDeploymentConfigArgs'] deployment_config: Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + :param pulumi.Input[str] endpoint_name: The name of the SageMaker endpoint. This name must be unique within an AWS Region. + :param pulumi.Input[Sequence[pulumi.Input['EndpointVariantPropertyArgs']]] exclude_retained_variant_properties: Specifies a list of variant properties that you want to exclude when updating an endpoint. + :param pulumi.Input[bool] retain_all_variant_properties: When set to true, retains all variant properties for an endpoint when it is updated. + :param pulumi.Input[bool] retain_deployment_config: When set to true, retains the deployment configuration during endpoint updates. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. + """ + pulumi.set(__self__, "endpoint_config_name", endpoint_config_name) + if deployment_config is not None: + pulumi.set(__self__, "deployment_config", deployment_config) + if endpoint_name is not None: + pulumi.set(__self__, "endpoint_name", endpoint_name) + if exclude_retained_variant_properties is not None: + pulumi.set(__self__, "exclude_retained_variant_properties", exclude_retained_variant_properties) + if retain_all_variant_properties is not None: + pulumi.set(__self__, "retain_all_variant_properties", retain_all_variant_properties) + if retain_deployment_config is not None: + pulumi.set(__self__, "retain_deployment_config", retain_deployment_config) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="endpointConfigName") + def endpoint_config_name(self) -> pulumi.Input[str]: + """ + The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + """ + return pulumi.get(self, "endpoint_config_name") + + @endpoint_config_name.setter + def endpoint_config_name(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint_config_name", value) + + @property + @pulumi.getter(name="deploymentConfig") + def deployment_config(self) -> Optional[pulumi.Input['EndpointDeploymentConfigArgs']]: + """ + Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + """ + return pulumi.get(self, "deployment_config") + + @deployment_config.setter + def deployment_config(self, value: Optional[pulumi.Input['EndpointDeploymentConfigArgs']]): + pulumi.set(self, "deployment_config", value) + + @property + @pulumi.getter(name="endpointName") + def endpoint_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the SageMaker endpoint. This name must be unique within an AWS Region. + """ + return pulumi.get(self, "endpoint_name") + + @endpoint_name.setter + def endpoint_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint_name", value) + + @property + @pulumi.getter(name="excludeRetainedVariantProperties") + def exclude_retained_variant_properties(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EndpointVariantPropertyArgs']]]]: + """ + Specifies a list of variant properties that you want to exclude when updating an endpoint. + """ + return pulumi.get(self, "exclude_retained_variant_properties") + + @exclude_retained_variant_properties.setter + def exclude_retained_variant_properties(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EndpointVariantPropertyArgs']]]]): + pulumi.set(self, "exclude_retained_variant_properties", value) + + @property + @pulumi.getter(name="retainAllVariantProperties") + def retain_all_variant_properties(self) -> Optional[pulumi.Input[bool]]: + """ + When set to true, retains all variant properties for an endpoint when it is updated. + """ + return pulumi.get(self, "retain_all_variant_properties") + + @retain_all_variant_properties.setter + def retain_all_variant_properties(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "retain_all_variant_properties", value) + + @property + @pulumi.getter(name="retainDeploymentConfig") + def retain_deployment_config(self) -> Optional[pulumi.Input[bool]]: + """ + When set to true, retains the deployment configuration during endpoint updates. + """ + return pulumi.get(self, "retain_deployment_config") + + @retain_deployment_config.setter + def retain_deployment_config(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "retain_deployment_config", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class Endpoint(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + deployment_config: Optional[pulumi.Input[Union['EndpointDeploymentConfigArgs', 'EndpointDeploymentConfigArgsDict']]] = None, + endpoint_config_name: Optional[pulumi.Input[str]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + exclude_retained_variant_properties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EndpointVariantPropertyArgs', 'EndpointVariantPropertyArgsDict']]]]] = None, + retain_all_variant_properties: Optional[pulumi.Input[bool]] = None, + retain_deployment_config: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Resource Type definition for AWS::SageMaker::Endpoint + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['EndpointDeploymentConfigArgs', 'EndpointDeploymentConfigArgsDict']] deployment_config: Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + :param pulumi.Input[str] endpoint_config_name: The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + :param pulumi.Input[str] endpoint_name: The name of the SageMaker endpoint. This name must be unique within an AWS Region. + :param pulumi.Input[Sequence[pulumi.Input[Union['EndpointVariantPropertyArgs', 'EndpointVariantPropertyArgsDict']]]] exclude_retained_variant_properties: Specifies a list of variant properties that you want to exclude when updating an endpoint. + :param pulumi.Input[bool] retain_all_variant_properties: When set to true, retains all variant properties for an endpoint when it is updated. + :param pulumi.Input[bool] retain_deployment_config: When set to true, retains the deployment configuration during endpoint updates. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: An array of key-value pairs to apply to this resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EndpointArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::SageMaker::Endpoint + + :param str resource_name: The name of the resource. + :param EndpointArgs 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(EndpointArgs, 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, + deployment_config: Optional[pulumi.Input[Union['EndpointDeploymentConfigArgs', 'EndpointDeploymentConfigArgsDict']]] = None, + endpoint_config_name: Optional[pulumi.Input[str]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + exclude_retained_variant_properties: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EndpointVariantPropertyArgs', 'EndpointVariantPropertyArgsDict']]]]] = None, + retain_all_variant_properties: Optional[pulumi.Input[bool]] = None, + retain_deployment_config: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = 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__ = EndpointArgs.__new__(EndpointArgs) + + __props__.__dict__["deployment_config"] = deployment_config + if endpoint_config_name is None and not opts.urn: + raise TypeError("Missing required property 'endpoint_config_name'") + __props__.__dict__["endpoint_config_name"] = endpoint_config_name + __props__.__dict__["endpoint_name"] = endpoint_name + __props__.__dict__["exclude_retained_variant_properties"] = exclude_retained_variant_properties + __props__.__dict__["retain_all_variant_properties"] = retain_all_variant_properties + __props__.__dict__["retain_deployment_config"] = retain_deployment_config + __props__.__dict__["tags"] = tags + __props__.__dict__["endpoint_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["endpointName"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Endpoint, __self__).__init__( + 'aws-native:sagemaker:Endpoint', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Endpoint': + """ + Get an existing Endpoint 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = EndpointArgs.__new__(EndpointArgs) + + __props__.__dict__["deployment_config"] = None + __props__.__dict__["endpoint_arn"] = None + __props__.__dict__["endpoint_config_name"] = None + __props__.__dict__["endpoint_name"] = None + __props__.__dict__["exclude_retained_variant_properties"] = None + __props__.__dict__["retain_all_variant_properties"] = None + __props__.__dict__["retain_deployment_config"] = None + __props__.__dict__["tags"] = None + return Endpoint(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="deploymentConfig") + def deployment_config(self) -> pulumi.Output[Optional['outputs.EndpointDeploymentConfig']]: + """ + Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + """ + return pulumi.get(self, "deployment_config") + + @property + @pulumi.getter(name="endpointArn") + def endpoint_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the endpoint. + """ + return pulumi.get(self, "endpoint_arn") + + @property + @pulumi.getter(name="endpointConfigName") + def endpoint_config_name(self) -> pulumi.Output[str]: + """ + The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + """ + return pulumi.get(self, "endpoint_config_name") + + @property + @pulumi.getter(name="endpointName") + def endpoint_name(self) -> pulumi.Output[str]: + """ + The name of the SageMaker endpoint. This name must be unique within an AWS Region. + """ + return pulumi.get(self, "endpoint_name") + + @property + @pulumi.getter(name="excludeRetainedVariantProperties") + def exclude_retained_variant_properties(self) -> pulumi.Output[Optional[Sequence['outputs.EndpointVariantProperty']]]: + """ + Specifies a list of variant properties that you want to exclude when updating an endpoint. + """ + return pulumi.get(self, "exclude_retained_variant_properties") + + @property + @pulumi.getter(name="retainAllVariantProperties") + def retain_all_variant_properties(self) -> pulumi.Output[Optional[bool]]: + """ + When set to true, retains all variant properties for an endpoint when it is updated. + """ + return pulumi.get(self, "retain_all_variant_properties") + + @property + @pulumi.getter(name="retainDeploymentConfig") + def retain_deployment_config(self) -> pulumi.Output[Optional[bool]]: + """ + When set to true, retains the deployment configuration during endpoint updates. + """ + return pulumi.get(self, "retain_deployment_config") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/sagemaker/get_endpoint.py b/sdk/python/pulumi_aws_native/sagemaker/get_endpoint.py new file mode 100644 index 0000000000..f42a50ebd7 --- /dev/null +++ b/sdk/python/pulumi_aws_native/sagemaker/get_endpoint.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** 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 +from . import outputs +from .. import outputs as _root_outputs + +__all__ = [ + 'GetEndpointResult', + 'AwaitableGetEndpointResult', + 'get_endpoint', + 'get_endpoint_output', +] + +@pulumi.output_type +class GetEndpointResult: + def __init__(__self__, deployment_config=None, endpoint_arn=None, endpoint_config_name=None, tags=None): + if deployment_config and not isinstance(deployment_config, dict): + raise TypeError("Expected argument 'deployment_config' to be a dict") + pulumi.set(__self__, "deployment_config", deployment_config) + if endpoint_arn and not isinstance(endpoint_arn, str): + raise TypeError("Expected argument 'endpoint_arn' to be a str") + pulumi.set(__self__, "endpoint_arn", endpoint_arn) + if endpoint_config_name and not isinstance(endpoint_config_name, str): + raise TypeError("Expected argument 'endpoint_config_name' to be a str") + pulumi.set(__self__, "endpoint_config_name", endpoint_config_name) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="deploymentConfig") + def deployment_config(self) -> Optional['outputs.EndpointDeploymentConfig']: + """ + Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies. + """ + return pulumi.get(self, "deployment_config") + + @property + @pulumi.getter(name="endpointArn") + def endpoint_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the endpoint. + """ + return pulumi.get(self, "endpoint_arn") + + @property + @pulumi.getter(name="endpointConfigName") + def endpoint_config_name(self) -> Optional[str]: + """ + The name of the endpoint configuration for the SageMaker endpoint. This is a required property. + """ + return pulumi.get(self, "endpoint_config_name") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetEndpointResult(GetEndpointResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEndpointResult( + deployment_config=self.deployment_config, + endpoint_arn=self.endpoint_arn, + endpoint_config_name=self.endpoint_config_name, + tags=self.tags) + + +def get_endpoint(endpoint_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEndpointResult: + """ + Resource Type definition for AWS::SageMaker::Endpoint + + + :param str endpoint_arn: The Amazon Resource Name (ARN) of the endpoint. + """ + __args__ = dict() + __args__['endpointArn'] = endpoint_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:sagemaker:getEndpoint', __args__, opts=opts, typ=GetEndpointResult).value + + return AwaitableGetEndpointResult( + deployment_config=pulumi.get(__ret__, 'deployment_config'), + endpoint_arn=pulumi.get(__ret__, 'endpoint_arn'), + endpoint_config_name=pulumi.get(__ret__, 'endpoint_config_name'), + tags=pulumi.get(__ret__, 'tags')) +def get_endpoint_output(endpoint_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEndpointResult]: + """ + Resource Type definition for AWS::SageMaker::Endpoint + + + :param str endpoint_arn: The Amazon Resource Name (ARN) of the endpoint. + """ + __args__ = dict() + __args__['endpointArn'] = endpoint_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:sagemaker:getEndpoint', __args__, opts=opts, typ=GetEndpointResult) + return __ret__.apply(lambda __response__: GetEndpointResult( + deployment_config=pulumi.get(__response__, 'deployment_config'), + endpoint_arn=pulumi.get(__response__, 'endpoint_arn'), + endpoint_config_name=pulumi.get(__response__, 'endpoint_config_name'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/sagemaker/outputs.py b/sdk/python/pulumi_aws_native/sagemaker/outputs.py index 1aefd0809b..c168ebfe8f 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/outputs.py @@ -74,6 +74,14 @@ 'DomainSharingSettings', 'DomainStudioWebPortalSettings', 'DomainUserSettings', + 'EndpointAlarm', + 'EndpointAutoRollbackConfig', + 'EndpointBlueGreenUpdatePolicy', + 'EndpointCapacitySize', + 'EndpointDeploymentConfig', + 'EndpointRollingUpdatePolicy', + 'EndpointTrafficRoutingConfig', + 'EndpointVariantProperty', 'FeatureGroupDataCatalogConfig', 'FeatureGroupFeatureDefinition', 'FeatureGroupOnlineStoreSecurityConfig', @@ -3740,6 +3748,402 @@ def studio_web_portal_settings(self) -> Optional['outputs.DomainStudioWebPortalS return pulumi.get(self, "studio_web_portal_settings") +@pulumi.output_type +class EndpointAlarm(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "alarmName": + suggest = "alarm_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EndpointAlarm. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EndpointAlarm.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EndpointAlarm.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + alarm_name: str): + """ + :param str alarm_name: The name of the CloudWatch alarm. + """ + pulumi.set(__self__, "alarm_name", alarm_name) + + @property + @pulumi.getter(name="alarmName") + def alarm_name(self) -> str: + """ + The name of the CloudWatch alarm. + """ + return pulumi.get(self, "alarm_name") + + +@pulumi.output_type +class EndpointAutoRollbackConfig(dict): + def __init__(__self__, *, + alarms: Sequence['outputs.EndpointAlarm']): + """ + :param Sequence['EndpointAlarm'] alarms: List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + """ + pulumi.set(__self__, "alarms", alarms) + + @property + @pulumi.getter + def alarms(self) -> Sequence['outputs.EndpointAlarm']: + """ + List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back. + """ + return pulumi.get(self, "alarms") + + +@pulumi.output_type +class EndpointBlueGreenUpdatePolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "trafficRoutingConfiguration": + suggest = "traffic_routing_configuration" + elif key == "maximumExecutionTimeoutInSeconds": + suggest = "maximum_execution_timeout_in_seconds" + elif key == "terminationWaitInSeconds": + suggest = "termination_wait_in_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EndpointBlueGreenUpdatePolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EndpointBlueGreenUpdatePolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EndpointBlueGreenUpdatePolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + traffic_routing_configuration: 'outputs.EndpointTrafficRoutingConfig', + maximum_execution_timeout_in_seconds: Optional[int] = None, + termination_wait_in_seconds: Optional[int] = None): + """ + :param 'EndpointTrafficRoutingConfig' traffic_routing_configuration: The traffic routing configuration for the blue/green deployment. + :param int maximum_execution_timeout_in_seconds: The maximum time allowed for the blue/green update, in seconds. + :param int termination_wait_in_seconds: The wait time before terminating the old endpoint during a blue/green deployment. + """ + pulumi.set(__self__, "traffic_routing_configuration", traffic_routing_configuration) + if maximum_execution_timeout_in_seconds is not None: + pulumi.set(__self__, "maximum_execution_timeout_in_seconds", maximum_execution_timeout_in_seconds) + if termination_wait_in_seconds is not None: + pulumi.set(__self__, "termination_wait_in_seconds", termination_wait_in_seconds) + + @property + @pulumi.getter(name="trafficRoutingConfiguration") + def traffic_routing_configuration(self) -> 'outputs.EndpointTrafficRoutingConfig': + """ + The traffic routing configuration for the blue/green deployment. + """ + return pulumi.get(self, "traffic_routing_configuration") + + @property + @pulumi.getter(name="maximumExecutionTimeoutInSeconds") + def maximum_execution_timeout_in_seconds(self) -> Optional[int]: + """ + The maximum time allowed for the blue/green update, in seconds. + """ + return pulumi.get(self, "maximum_execution_timeout_in_seconds") + + @property + @pulumi.getter(name="terminationWaitInSeconds") + def termination_wait_in_seconds(self) -> Optional[int]: + """ + The wait time before terminating the old endpoint during a blue/green deployment. + """ + return pulumi.get(self, "termination_wait_in_seconds") + + +@pulumi.output_type +class EndpointCapacitySize(dict): + def __init__(__self__, *, + type: str, + value: int): + """ + :param str type: Specifies whether the `Value` is an instance count or a capacity unit. + :param int value: The value representing either the number of instances or the number of capacity units. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> str: + """ + Specifies whether the `Value` is an instance count or a capacity unit. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> int: + """ + The value representing either the number of instances or the number of capacity units. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class EndpointDeploymentConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoRollbackConfiguration": + suggest = "auto_rollback_configuration" + elif key == "blueGreenUpdatePolicy": + suggest = "blue_green_update_policy" + elif key == "rollingUpdatePolicy": + suggest = "rolling_update_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EndpointDeploymentConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EndpointDeploymentConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EndpointDeploymentConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_rollback_configuration: Optional['outputs.EndpointAutoRollbackConfig'] = None, + blue_green_update_policy: Optional['outputs.EndpointBlueGreenUpdatePolicy'] = None, + rolling_update_policy: Optional['outputs.EndpointRollingUpdatePolicy'] = None): + """ + :param 'EndpointAutoRollbackConfig' auto_rollback_configuration: Configuration for automatic rollback if an error occurs during deployment. + :param 'EndpointBlueGreenUpdatePolicy' blue_green_update_policy: Configuration for blue-green update deployment policies. + :param 'EndpointRollingUpdatePolicy' rolling_update_policy: Configuration for rolling update deployment policies. + """ + if auto_rollback_configuration is not None: + pulumi.set(__self__, "auto_rollback_configuration", auto_rollback_configuration) + if blue_green_update_policy is not None: + pulumi.set(__self__, "blue_green_update_policy", blue_green_update_policy) + if rolling_update_policy is not None: + pulumi.set(__self__, "rolling_update_policy", rolling_update_policy) + + @property + @pulumi.getter(name="autoRollbackConfiguration") + def auto_rollback_configuration(self) -> Optional['outputs.EndpointAutoRollbackConfig']: + """ + Configuration for automatic rollback if an error occurs during deployment. + """ + return pulumi.get(self, "auto_rollback_configuration") + + @property + @pulumi.getter(name="blueGreenUpdatePolicy") + def blue_green_update_policy(self) -> Optional['outputs.EndpointBlueGreenUpdatePolicy']: + """ + Configuration for blue-green update deployment policies. + """ + return pulumi.get(self, "blue_green_update_policy") + + @property + @pulumi.getter(name="rollingUpdatePolicy") + def rolling_update_policy(self) -> Optional['outputs.EndpointRollingUpdatePolicy']: + """ + Configuration for rolling update deployment policies. + """ + return pulumi.get(self, "rolling_update_policy") + + +@pulumi.output_type +class EndpointRollingUpdatePolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maximumBatchSize": + suggest = "maximum_batch_size" + elif key == "waitIntervalInSeconds": + suggest = "wait_interval_in_seconds" + elif key == "maximumExecutionTimeoutInSeconds": + suggest = "maximum_execution_timeout_in_seconds" + elif key == "rollbackMaximumBatchSize": + suggest = "rollback_maximum_batch_size" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EndpointRollingUpdatePolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EndpointRollingUpdatePolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EndpointRollingUpdatePolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + maximum_batch_size: 'outputs.EndpointCapacitySize', + wait_interval_in_seconds: int, + maximum_execution_timeout_in_seconds: Optional[int] = None, + rollback_maximum_batch_size: Optional['outputs.EndpointCapacitySize'] = None): + """ + :param 'EndpointCapacitySize' maximum_batch_size: Specifies the maximum batch size for each rolling update. + :param int wait_interval_in_seconds: The time to wait between steps during the rolling update, in seconds. + :param int maximum_execution_timeout_in_seconds: The maximum time allowed for the rolling update, in seconds. + :param 'EndpointCapacitySize' rollback_maximum_batch_size: The maximum batch size for rollback during an update failure. + """ + pulumi.set(__self__, "maximum_batch_size", maximum_batch_size) + pulumi.set(__self__, "wait_interval_in_seconds", wait_interval_in_seconds) + if maximum_execution_timeout_in_seconds is not None: + pulumi.set(__self__, "maximum_execution_timeout_in_seconds", maximum_execution_timeout_in_seconds) + if rollback_maximum_batch_size is not None: + pulumi.set(__self__, "rollback_maximum_batch_size", rollback_maximum_batch_size) + + @property + @pulumi.getter(name="maximumBatchSize") + def maximum_batch_size(self) -> 'outputs.EndpointCapacitySize': + """ + Specifies the maximum batch size for each rolling update. + """ + return pulumi.get(self, "maximum_batch_size") + + @property + @pulumi.getter(name="waitIntervalInSeconds") + def wait_interval_in_seconds(self) -> int: + """ + The time to wait between steps during the rolling update, in seconds. + """ + return pulumi.get(self, "wait_interval_in_seconds") + + @property + @pulumi.getter(name="maximumExecutionTimeoutInSeconds") + def maximum_execution_timeout_in_seconds(self) -> Optional[int]: + """ + The maximum time allowed for the rolling update, in seconds. + """ + return pulumi.get(self, "maximum_execution_timeout_in_seconds") + + @property + @pulumi.getter(name="rollbackMaximumBatchSize") + def rollback_maximum_batch_size(self) -> Optional['outputs.EndpointCapacitySize']: + """ + The maximum batch size for rollback during an update failure. + """ + return pulumi.get(self, "rollback_maximum_batch_size") + + +@pulumi.output_type +class EndpointTrafficRoutingConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "canarySize": + suggest = "canary_size" + elif key == "linearStepSize": + suggest = "linear_step_size" + elif key == "waitIntervalInSeconds": + suggest = "wait_interval_in_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EndpointTrafficRoutingConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EndpointTrafficRoutingConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EndpointTrafficRoutingConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + canary_size: Optional['outputs.EndpointCapacitySize'] = None, + linear_step_size: Optional['outputs.EndpointCapacitySize'] = None, + wait_interval_in_seconds: Optional[int] = None): + """ + :param str type: Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + :param 'EndpointCapacitySize' canary_size: Specifies the size of the canary traffic in a canary deployment. + :param 'EndpointCapacitySize' linear_step_size: Specifies the step size for linear traffic routing. + :param int wait_interval_in_seconds: Specifies the wait interval between traffic shifts, in seconds. + """ + pulumi.set(__self__, "type", type) + if canary_size is not None: + pulumi.set(__self__, "canary_size", canary_size) + if linear_step_size is not None: + pulumi.set(__self__, "linear_step_size", linear_step_size) + if wait_interval_in_seconds is not None: + pulumi.set(__self__, "wait_interval_in_seconds", wait_interval_in_seconds) + + @property + @pulumi.getter + def type(self) -> str: + """ + Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear'). + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="canarySize") + def canary_size(self) -> Optional['outputs.EndpointCapacitySize']: + """ + Specifies the size of the canary traffic in a canary deployment. + """ + return pulumi.get(self, "canary_size") + + @property + @pulumi.getter(name="linearStepSize") + def linear_step_size(self) -> Optional['outputs.EndpointCapacitySize']: + """ + Specifies the step size for linear traffic routing. + """ + return pulumi.get(self, "linear_step_size") + + @property + @pulumi.getter(name="waitIntervalInSeconds") + def wait_interval_in_seconds(self) -> Optional[int]: + """ + Specifies the wait interval between traffic shifts, in seconds. + """ + return pulumi.get(self, "wait_interval_in_seconds") + + +@pulumi.output_type +class EndpointVariantProperty(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "variantPropertyType": + suggest = "variant_property_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EndpointVariantProperty. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EndpointVariantProperty.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EndpointVariantProperty.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + variant_property_type: Optional[str] = None): + """ + :param str variant_property_type: The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + """ + if variant_property_type is not None: + pulumi.set(__self__, "variant_property_type", variant_property_type) + + @property + @pulumi.getter(name="variantPropertyType") + def variant_property_type(self) -> Optional[str]: + """ + The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig'). + """ + return pulumi.get(self, "variant_property_type") + + @pulumi.output_type class FeatureGroupDataCatalogConfig(dict): @staticmethod