From 04a7d797ad8a0c31d1da19a20e2e43f52e1ef691 Mon Sep 17 00:00:00 2001 From: pulumi-bot Date: Fri, 20 Oct 2023 04:42:51 +0000 Subject: [PATCH] Regenerating based on aws-cloudformation-user-guide @ 6c68a17aef7f0ccd1f6786f19da341d8c92737e7 --- .../aws-apigateway-account.json | 4 +- .../aws-apigateway-authorizer.json | 18 +- .../aws-apigateway-deployment.json | 83 +- .../aws-apigateway-documentationpart.json | 21 +- .../aws-apigateway-documentationversion.json | 8 +- .../aws-apigateway-method.json | 85 +- .../aws-apigateway-model.json | 12 +- .../aws-apigateway-resource.json | 4 +- .../aws-apigateway-restapi.json | 71 +- .../aws-apigateway-stage.json | 66 +- .../aws-apigateway-usageplankey.json | 10 +- .../aws-appsync-functionconfiguration.json | 182 +- .../aws-cognito-identitypool.json | 154 +- .../aws-cognito-userpool.json | 595 +++-- .../aws-cognito-userpoolgroup.json | 59 +- .../aws-datasync-agent.json | 2 +- aws-cloudformation-schema/aws-ec2-subnet.json | 148 +- ...ws-entityresolution-idmappingworkflow.json | 229 ++ .../aws-events-rule.json | 224 +- .../aws-gamelift-fleet.json | 445 ++-- aws-cloudformation-schema/aws-iot-policy.json | 37 +- .../aws-lambda-function.json | 10 +- .../aws-mediapackage-asset.json | 4 +- .../aws-quicksight-analysis.json | 19 +- .../aws-quicksight-dashboard.json | 19 +- .../aws-quicksight-template.json | 19 +- ...ws-sagemaker-dataqualityjobdefinition.json | 10 + .../aws-sagemaker-monitoringschedule.json | 27 +- ...appregistry-attributegroupassociation.json | 29 +- ...atalogappregistry-resourceassociation.json | 27 +- .../aws-sqs-queuepolicy.json | 6 +- provider/cmd/cf2pulumi/schema-full.json | 1542 +++++++---- .../deprecated-types.txt | 4 + .../pulumi-gen-aws-native/supported-types.txt | 5 + .../pulumi-resource-aws-native/metadata.json | 1719 +++++++++--- .../pulumi-resource-aws-native/schema.json | 2347 ++++++++++++++--- 36 files changed, 5877 insertions(+), 2367 deletions(-) create mode 100644 aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json diff --git a/aws-cloudformation-schema/aws-apigateway-account.json b/aws-cloudformation-schema/aws-apigateway-account.json index 2ffc2f3fe0..9b75667282 100644 --- a/aws-cloudformation-schema/aws-apigateway-account.json +++ b/aws-cloudformation-schema/aws-apigateway-account.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::ApiGateway::Account", - "description" : "Resource Type definition for AWS::ApiGateway::Account", + "description" : "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "additionalProperties" : false, "properties" : { @@ -9,7 +9,7 @@ "type" : "string" }, "CloudWatchRoleArn" : { - "description" : "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account.", + "description" : "The ARN of an Amazon CloudWatch role for the current Account.", "type" : "string" } }, diff --git a/aws-cloudformation-schema/aws-apigateway-authorizer.json b/aws-cloudformation-schema/aws-apigateway-authorizer.json index c76211611a..63e99719c0 100644 --- a/aws-cloudformation-schema/aws-apigateway-authorizer.json +++ b/aws-cloudformation-schema/aws-apigateway-authorizer.json @@ -1,10 +1,10 @@ { "typeName" : "AWS::ApiGateway::Authorizer", - "description" : "Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.", + "description" : "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway.git", "properties" : { "RestApiId" : { - "description" : "The identifier of the API.", + "description" : "The string identifier of the associated RestApi.", "type" : "string" }, "AuthorizerId" : { @@ -15,23 +15,23 @@ "type" : "string" }, "AuthorizerCredentials" : { - "description" : "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer.", + "description" : "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", "type" : "string" }, "AuthorizerResultTtlInSeconds" : { - "description" : "The TTL in seconds of cached authorizer results.", + "description" : "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", "type" : "integer" }, "AuthorizerUri" : { - "description" : "Specifies the authorizer's Uniform Resource Identifier (URI).", + "description" : "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``.", "type" : "string" }, "IdentitySource" : { - "description" : "The identity source for which authorization is requested.", + "description" : "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", "type" : "string" }, "IdentityValidationExpression" : { - "description" : "A validation expression for the incoming identity token.", + "description" : "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer.", "type" : "string" }, "Name" : { @@ -39,7 +39,7 @@ "type" : "string" }, "ProviderARNs" : { - "description" : "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer.", + "description" : "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined.", "type" : "array", "uniqueItems" : true, "items" : { @@ -48,7 +48,7 @@ "insertionOrder" : false }, "Type" : { - "description" : "The authorizer type.", + "description" : "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool.", "type" : "string" } }, diff --git a/aws-cloudformation-schema/aws-apigateway-deployment.json b/aws-cloudformation-schema/aws-apigateway-deployment.json index cf9481ead8..c0ae0ada4b 100644 --- a/aws-cloudformation-schema/aws-apigateway-deployment.json +++ b/aws-cloudformation-schema/aws-apigateway-deployment.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::ApiGateway::Deployment", - "description" : "Resource Type definition for AWS::ApiGateway::Deployment", + "description" : "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "additionalProperties" : false, "properties" : { @@ -10,23 +10,23 @@ }, "DeploymentCanarySettings" : { "$ref" : "#/definitions/DeploymentCanarySettings", - "description" : "Specifies settings for the canary deployment." + "description" : "The input configuration for a canary deployment." }, "Description" : { "type" : "string", - "description" : "A description of the purpose of the API Gateway deployment." + "description" : "The description for the Deployment resource to create." }, "RestApiId" : { "type" : "string", - "description" : "The ID of the RestApi resource to deploy. " + "description" : "The string identifier of the associated RestApi." }, "StageDescription" : { "$ref" : "#/definitions/StageDescription", - "description" : "Configures the stage that API Gateway creates with this deployment." + "description" : "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name." }, "StageName" : { "type" : "string", - "description" : "A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters." + "description" : "The name of the Stage resource for the Deployment resource to create." } }, "definitions" : { @@ -39,23 +39,23 @@ "$ref" : "#/definitions/AccessLogSetting" }, "CacheClusterEnabled" : { - "description" : "Indicates whether cache clustering is enabled for the stage.", + "description" : "Specifies whether a cache cluster is enabled for the stage.", "type" : "boolean" }, "CacheClusterSize" : { - "description" : "The size of the stage's cache cluster.", + "description" : "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*.", "type" : "string" }, "CacheDataEncrypted" : { - "description" : "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. ", + "description" : "Indicates whether the cached responses are encrypted.", "type" : "boolean" }, "CacheTtlInSeconds" : { - "description" : "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. ", + "description" : "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.", "type" : "integer" }, "CachingEnabled" : { - "description" : "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses.", + "description" : "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*.", "type" : "boolean" }, "CanarySetting" : { @@ -63,11 +63,11 @@ "$ref" : "#/definitions/CanarySetting" }, "ClientCertificateId" : { - "description" : "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. ", + "description" : "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.", "type" : "string" }, "DataTraceEnabled" : { - "description" : "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. ", + "description" : "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.", "type" : "boolean" }, "Description" : { @@ -79,7 +79,7 @@ "type" : "string" }, "LoggingLevel" : { - "description" : "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. ", + "description" : "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*.", "type" : "string" }, "MethodSettings" : { @@ -105,19 +105,19 @@ } }, "ThrottlingBurstLimit" : { - "description" : "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account.", + "description" : "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.", "type" : "integer" }, "ThrottlingRateLimit" : { - "description" : "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account.", + "description" : "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*.", "type" : "number" }, "TracingEnabled" : { - "description" : "Specifies whether active tracing with X-ray is enabled for this stage.", + "description" : "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*.", "type" : "boolean" }, "Variables" : { - "description" : "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+. ", + "description" : "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -126,18 +126,19 @@ } } } - } + }, + "description" : "``StageDescription`` is a property of the [AWS::ApiGateway::Deployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html) resource that configures a deployment stage." }, "DeploymentCanarySettings" : { "type" : "object", "additionalProperties" : false, "properties" : { "PercentTraffic" : { - "description" : "The percentage (0-100) of traffic diverted to a canary deployment.", + "description" : "The percentage (0.0-100.0) of traffic routed to the canary deployment.", "type" : "number" }, "StageVariableOverrides" : { - "description" : "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. Duplicates are not allowed.", + "description" : "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -147,24 +148,26 @@ } }, "UseStageCache" : { - "description" : "Whether the canary deployment uses the stage cache.", + "description" : "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", "type" : "boolean" } - } + }, + "description" : "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment." }, "AccessLogSetting" : { "type" : "object", "additionalProperties" : false, "properties" : { "DestinationArn" : { - "description" : "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. ", + "description" : "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``.", "type" : "string" }, "Format" : { - "description" : "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. ", + "description" : "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``.", "type" : "string" } - } + }, + "description" : "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type." }, "CanarySetting" : { "type" : "object", @@ -175,7 +178,7 @@ "type" : "number" }, "StageVariableOverrides" : { - "description" : "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. ", + "description" : "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -185,10 +188,11 @@ } }, "UseStageCache" : { - "description" : "Whether the canary deployment uses the stage cache or not.", + "description" : "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", "type" : "boolean" } - } + }, + "description" : "The ``CanarySetting`` property type specifies settings for the canary deployment in this stage.\n ``CanarySetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type." }, "Tag" : { "type" : "object", @@ -210,19 +214,19 @@ "additionalProperties" : false, "properties" : { "CacheDataEncrypted" : { - "description" : "Indicates whether the cached responses are encrypted", + "description" : "Specifies whether the cached responses are encrypted.", "type" : "boolean" }, "CacheTtlInSeconds" : { - "description" : "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. ", + "description" : "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", "type" : "integer" }, "CachingEnabled" : { - "description" : "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses.", + "description" : "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", "type" : "boolean" }, "DataTraceEnabled" : { - "description" : "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. ", + "description" : "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", "type" : "boolean" }, "HttpMethod" : { @@ -230,26 +234,27 @@ "type" : "string" }, "LoggingLevel" : { - "description" : "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. ", + "description" : "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.", "type" : "string" }, "MetricsEnabled" : { - "description" : "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.", + "description" : "Specifies whether Amazon CloudWatch metrics are enabled for this method.", "type" : "boolean" }, "ResourcePath" : { - "description" : "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. ", + "description" : "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``).", "type" : "string" }, "ThrottlingBurstLimit" : { - "description" : "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account.", + "description" : "Specifies the throttling burst limit.", "type" : "integer" }, "ThrottlingRateLimit" : { - "description" : "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account.", + "description" : "Specifies the throttling rate limit.", "type" : "number" } - } + }, + "description" : "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the [Amazon API Gateway Deployment StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type contains a list of ``MethodSetting`` property types." } }, "taggable" : true, diff --git a/aws-cloudformation-schema/aws-apigateway-documentationpart.json b/aws-cloudformation-schema/aws-apigateway-documentationpart.json index 940feb9666..9da352f4f4 100644 --- a/aws-cloudformation-schema/aws-apigateway-documentationpart.json +++ b/aws-cloudformation-schema/aws-apigateway-documentationpart.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::ApiGateway::DocumentationPart", - "description" : "Resource Type definition for AWS::ApiGateway::DocumentationPart", + "description" : "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "additionalProperties" : false, "properties" : { @@ -9,15 +9,15 @@ "type" : "string" }, "Location" : { - "description" : "The location of the API entity that the documentation applies to.", + "description" : "The location of the targeted API entity of the to-be-created documentation part.", "$ref" : "#/definitions/Location" }, "Properties" : { - "description" : "The documentation content map of the targeted API entity.", + "description" : "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.", "type" : "string" }, "RestApiId" : { - "description" : "Identifier of the targeted API entity", + "description" : "The string identifier of the associated RestApi.", "type" : "string" } }, @@ -27,27 +27,28 @@ "additionalProperties" : false, "properties" : { "Method" : { - "description" : "The HTTP verb of a method.", + "description" : "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly.", "type" : "string" }, "Name" : { - "description" : "The name of the targeted API entity.", + "description" : "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type.", "type" : "string" }, "Path" : { - "description" : "The URL path of the target.", + "description" : "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix.", "type" : "string" }, "StatusCode" : { - "description" : "The HTTP status code of a response.", + "description" : "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly.", "type" : "string" }, "Type" : { - "description" : "The type of API entity that the documentation content applies to.", + "description" : "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type.", "type" : "string", "enum" : [ "API", "AUTHORIZER", "MODEL", "RESOURCE", "METHOD", "PATH_PARAMETER", "QUERY_PARAMETER", "REQUEST_HEADER", "REQUEST_BODY", "RESPONSE", "RESPONSE_HEADER", "RESPONSE_BODY" ] } - } + }, + "description" : "The ``Location`` property specifies the location of the Amazon API Gateway API entity that the documentation applies to. ``Location`` is a property of the [AWS::ApiGateway::DocumentationPart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html) resource.\n For more information about each property, including constraints and valid values, see [DocumentationPart](https://docs.aws.amazon.com/apigateway/latest/api/API_DocumentationPartLocation.html) in the *Amazon API Gateway REST API Reference*." } }, "required" : [ "Location", "Properties", "RestApiId" ], diff --git a/aws-cloudformation-schema/aws-apigateway-documentationversion.json b/aws-cloudformation-schema/aws-apigateway-documentationversion.json index 0f20898527..5e04395a51 100644 --- a/aws-cloudformation-schema/aws-apigateway-documentationversion.json +++ b/aws-cloudformation-schema/aws-apigateway-documentationversion.json @@ -1,20 +1,20 @@ { "typeName" : "AWS::ApiGateway::DocumentationVersion", - "description" : "A snapshot of the documentation of an API.", + "description" : "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "definitions" : { }, "properties" : { "Description" : { - "description" : "The description of the API documentation snapshot.", + "description" : "A description about the new documentation snapshot.", "type" : "string" }, "DocumentationVersion" : { - "description" : "The version identifier of the API documentation snapshot.", + "description" : "The version identifier of the to-be-updated documentation version.", "type" : "string", "minLength" : 1 }, "RestApiId" : { - "description" : "The identifier of the API.", + "description" : "The string identifier of the associated RestApi.", "type" : "string", "minLength" : 1 } diff --git a/aws-cloudformation-schema/aws-apigateway-method.json b/aws-cloudformation-schema/aws-apigateway-method.json index b01c7d2f3f..ff752f3625 100644 --- a/aws-cloudformation-schema/aws-apigateway-method.json +++ b/aws-cloudformation-schema/aws-apigateway-method.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::ApiGateway::Method", - "description" : "Resource Type definition for AWS::ApiGateway::Method", + "description" : "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway.git", "definitions" : { "Integration" : { @@ -8,7 +8,7 @@ "additionalProperties" : false, "properties" : { "CacheKeyParameters" : { - "description" : "A list of request parameters whose values API Gateway caches.", + "description" : "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``.", "type" : "array", "uniqueItems" : true, "items" : { @@ -16,33 +16,33 @@ } }, "CacheNamespace" : { - "description" : "An API-specific tag group of related cached parameters.", + "description" : "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources.", "type" : "string" }, "ConnectionId" : { - "description" : "The ID of the VpcLink used for the integration when connectionType=VPC_LINK, otherwise undefined.", + "description" : "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise.", "type" : "string" }, "ConnectionType" : { - "description" : "The type of the network connection to the integration endpoint.", + "description" : "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``.", "type" : "string", "enum" : [ "INTERNET", "VPC_LINK" ] }, "ContentHandling" : { - "description" : "Specifies how to handle request payload content type conversions.", + "description" : "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through.", "type" : "string", "enum" : [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ] }, "Credentials" : { - "description" : "The credentials that are required for the integration.", + "description" : "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null.", "type" : "string" }, "IntegrationHttpMethod" : { - "description" : "The integration's HTTP method type.", + "description" : "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property.", "type" : "string" }, "IntegrationResponses" : { - "description" : "The response that API Gateway provides after a method's backend completes processing a request.", + "description" : "Specifies the integration's responses.", "type" : "array", "uniqueItems" : true, "items" : { @@ -50,12 +50,12 @@ } }, "PassthroughBehavior" : { - "description" : "Indicates when API Gateway passes requests to the targeted backend.", + "description" : "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", "type" : "string", "enum" : [ "WHEN_NO_MATCH", "WHEN_NO_TEMPLATES", "NEVER" ] }, "RequestParameters" : { - "description" : "The request parameters that API Gateway sends with the backend request.", + "description" : "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -65,7 +65,7 @@ } }, "RequestTemplates" : { - "description" : "A map of Apache Velocity templates that are applied on the request payload.", + "description" : "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -75,29 +75,30 @@ } }, "TimeoutInMillis" : { - "description" : "Custom timeout between 50 and 29,000 milliseconds.", + "description" : "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.", "type" : "integer", "minimum" : 50, "maximum" : 29000 }, "Type" : { - "description" : "The type of backend that your method is running.", + "description" : "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", "type" : "string", "enum" : [ "AWS", "AWS_PROXY", "HTTP", "HTTP_PROXY", "MOCK" ] }, "Uri" : { - "description" : "The Uniform Resource Identifier (URI) for the integration.", + "description" : "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``", "type" : "string" } }, - "required" : [ "Type" ] + "required" : [ "Type" ], + "description" : "``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls." }, "MethodResponse" : { "type" : "object", "additionalProperties" : false, "properties" : { "ResponseModels" : { - "description" : "The resources used for the response's content type. Specify response models as key-value pairs (string-to-string maps), with a content type as the key and a Model resource name as the value.", + "description" : "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -107,33 +108,34 @@ } }, "ResponseParameters" : { - "description" : "Response parameters that API Gateway sends to the client that called a method. Specify response parameters as key-value pairs (string-to-Boolean maps), with a destination as the key and a Boolean as the value.", + "description" : "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)", "type" : "object", "additionalProperties" : false, "patternProperties" : { "[a-zA-Z0-9]+" : { - "type" : "boolean" + "type" : [ "boolean", "string" ] } } }, "StatusCode" : { - "description" : "The method response's status code, which you map to an IntegrationResponse.", + "description" : "The method response's status code.", "type" : "string" } }, - "required" : [ "StatusCode" ] + "required" : [ "StatusCode" ], + "description" : "Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template." }, "IntegrationResponse" : { "type" : "object", "additionalProperties" : false, "properties" : { "ContentHandling" : { - "description" : "Specifies how to handle request payload content type conversions.", + "description" : "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", "type" : "string", "enum" : [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ] }, "ResponseParameters" : { - "description" : "The response parameters from the backend response that API Gateway sends to the method response.", + "description" : "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -143,7 +145,7 @@ } }, "ResponseTemplates" : { - "description" : "The templates that are used to transform the integration response body. Specify templates as key-value pairs (string-to-string mappings), with a content type as the key and a template as the value.", + "description" : "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -153,48 +155,49 @@ } }, "SelectionPattern" : { - "description" : "A regular expression that specifies which error strings or status codes from the backend map to the integration response.", + "description" : "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.", "type" : "string" }, "StatusCode" : { - "description" : "The status code that API Gateway uses to map the integration response to a MethodResponse status code.", + "description" : "Specifies the status code that is used to map the integration response to an existing MethodResponse.", "type" : "string" } }, - "required" : [ "StatusCode" ] + "required" : [ "StatusCode" ], + "description" : "``IntegrationResponse`` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request." } }, "properties" : { "ApiKeyRequired" : { - "description" : "Indicates whether the method requires clients to submit a valid API key.", + "description" : "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", "type" : "boolean" }, "AuthorizationScopes" : { - "description" : "A list of authorization scopes configured on the method.", + "description" : "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", "type" : "array", "items" : { "type" : "string" } }, "AuthorizationType" : { - "description" : "The method's authorization type.", + "description" : "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property.", "type" : "string", "enum" : [ "NONE", "AWS_IAM", "CUSTOM", "COGNITO_USER_POOLS" ] }, "AuthorizerId" : { - "description" : "The identifier of the authorizer to use on this method.", + "description" : "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``.", "type" : "string" }, "HttpMethod" : { - "description" : "The backend system that the method calls when it receives a request.", + "description" : "The method's HTTP verb.", "type" : "string" }, "Integration" : { - "description" : "The backend system that the method calls when it receives a request.", + "description" : "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration.", "$ref" : "#/definitions/Integration" }, "MethodResponses" : { - "description" : "The responses that can be sent to the client who calls the method.", + "description" : "Gets a method response associated with a given HTTP status code.", "type" : "array", "uniqueItems" : true, "items" : { @@ -202,11 +205,11 @@ } }, "OperationName" : { - "description" : "A friendly operation name for the method.", + "description" : "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example.", "type" : "string" }, "RequestModels" : { - "description" : "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value.", + "description" : "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -216,25 +219,25 @@ } }, "RequestParameters" : { - "description" : "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value.", + "description" : "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.", "type" : "object", "additionalProperties" : false, "patternProperties" : { "[a-zA-Z0-9]+" : { - "type" : "boolean" + "type" : [ "boolean", "string" ] } } }, "RequestValidatorId" : { - "description" : "The ID of the associated request validator.", + "description" : "The identifier of a RequestValidator for request validation.", "type" : "string" }, "ResourceId" : { - "description" : "The ID of an API Gateway resource.", + "description" : "The Resource identifier for the MethodResponse resource.", "type" : "string" }, "RestApiId" : { - "description" : "The ID of the RestApi resource in which API Gateway creates the method.", + "description" : "The string identifier of the associated RestApi.", "type" : "string" } }, diff --git a/aws-cloudformation-schema/aws-apigateway-model.json b/aws-cloudformation-schema/aws-apigateway-model.json index 53118f2c32..1fa49ed9ca 100644 --- a/aws-cloudformation-schema/aws-apigateway-model.json +++ b/aws-cloudformation-schema/aws-apigateway-model.json @@ -1,27 +1,27 @@ { "typeName" : "AWS::ApiGateway::Model", - "description" : "Resource Type definition for AWS::ApiGateway::Model", + "description" : "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "additionalProperties" : false, "properties" : { "ContentType" : { "type" : "string", - "description" : "The content type for the model." + "description" : "The content-type for the model." }, "Description" : { "type" : "string", - "description" : "A description that identifies this model." + "description" : "The description of the model." }, "Name" : { "type" : "string", - "description" : "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name." + "description" : "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "RestApiId" : { "type" : "string", - "description" : "The ID of a REST API with which to associate this model." + "description" : "The string identifier of the associated RestApi." }, "Schema" : { - "description" : "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema.", + "description" : "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.", "type" : [ "object", "string" ] } }, diff --git a/aws-cloudformation-schema/aws-apigateway-resource.json b/aws-cloudformation-schema/aws-apigateway-resource.json index 716f1b25a7..79866d0ef2 100644 --- a/aws-cloudformation-schema/aws-apigateway-resource.json +++ b/aws-cloudformation-schema/aws-apigateway-resource.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::ApiGateway::Resource", - "description" : "Resource Type definition for AWS::ApiGateway::Resource", + "description" : "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "additionalProperties" : false, "properties" : { @@ -9,7 +9,7 @@ "type" : "string" }, "RestApiId" : { - "description" : "The ID of the RestApi resource in which you want to create this resource..", + "description" : "The string identifier of the associated RestApi.", "type" : "string" }, "ParentId" : { diff --git a/aws-cloudformation-schema/aws-apigateway-restapi.json b/aws-cloudformation-schema/aws-apigateway-restapi.json index 821a069b7e..cfd1b46a3b 100644 --- a/aws-cloudformation-schema/aws-apigateway-restapi.json +++ b/aws-cloudformation-schema/aws-apigateway-restapi.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::ApiGateway::RestApi", - "description" : "Resource Type definition for AWS::ApiGateway::RestApi.", + "description" : "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "additionalProperties" : false, "definitions" : { @@ -13,16 +13,19 @@ "uniqueItems" : true, "items" : { "type" : "string" - } + }, + "description" : "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``." }, "VpcEndpointIds" : { "type" : "array", "uniqueItems" : true, "items" : { "type" : "string" - } + }, + "description" : "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type." } - } + }, + "description" : "The ``EndpointConfiguration`` property type specifies the endpoint types of a REST API.\n ``EndpointConfiguration`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource." }, "Tag" : { "type" : "object", @@ -42,18 +45,23 @@ "additionalProperties" : false, "properties" : { "Bucket" : { - "type" : "string" + "type" : "string", + "description" : "The name of the S3 bucket where the OpenAPI file is stored." }, "ETag" : { - "type" : "string" + "type" : "string", + "description" : "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file." }, "Version" : { - "type" : "string" + "type" : "string", + "description" : "For versioning-enabled buckets, a specific version of the OpenAPI file." }, "Key" : { - "type" : "string" + "type" : "string", + "description" : "The file name of the OpenAPI file (Amazon S3 object name)." } - } + }, + "description" : "``S3Location`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification." } }, "properties" : { @@ -64,47 +72,60 @@ "type" : "string" }, "ApiKeySourceType" : { - "type" : "string" + "type" : "string", + "description" : "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "BinaryMediaTypes" : { "type" : "array", "uniqueItems" : true, "items" : { "type" : "string" - } + }, + "description" : "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "Body" : { - "type" : [ "object", "string" ] + "type" : [ "object", "string" ], + "description" : "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format." }, "BodyS3Location" : { - "$ref" : "#/definitions/S3Location" + "$ref" : "#/definitions/S3Location", + "description" : "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format." }, "CloneFrom" : { - "type" : "string" + "type" : "string", + "description" : "The ID of the RestApi that you want to clone from." }, "EndpointConfiguration" : { - "$ref" : "#/definitions/EndpointConfiguration" + "$ref" : "#/definitions/EndpointConfiguration", + "description" : "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "Description" : { - "type" : "string" + "type" : "string", + "description" : "The description of the RestApi." }, "DisableExecuteApiEndpoint" : { - "type" : "boolean" + "type" : "boolean", + "description" : "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "FailOnWarnings" : { - "type" : "boolean" + "type" : "boolean", + "description" : "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``." }, "Name" : { - "type" : "string" + "type" : "string", + "description" : "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "MinimumCompressionSize" : { - "type" : "integer" + "type" : "integer", + "description" : "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "Mode" : { - "type" : "string" + "type" : "string", + "description" : "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties." }, "Policy" : { - "type" : [ "object", "string" ] + "type" : [ "object", "string" ], + "description" : "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "Parameters" : { "type" : [ "object", "string" ], @@ -113,14 +134,16 @@ "[a-zA-Z0-9]+" : { "type" : "string" } - } + }, + "description" : "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``." }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/Tag" - } + }, + "description" : "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } }, "tagging" : { diff --git a/aws-cloudformation-schema/aws-apigateway-stage.json b/aws-cloudformation-schema/aws-apigateway-stage.json index 26d347ba40..b263668ac2 100644 --- a/aws-cloudformation-schema/aws-apigateway-stage.json +++ b/aws-cloudformation-schema/aws-apigateway-stage.json @@ -1,43 +1,43 @@ { "typeName" : "AWS::ApiGateway::Stage", - "description" : "Resource Type definition for AWS::ApiGateway::Stage", + "description" : "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "additionalProperties" : false, "properties" : { "AccessLogSetting" : { - "description" : "Specifies settings for logging access in this stage.", + "description" : "Access log settings, including the access log format and access log destination ARN.", "$ref" : "#/definitions/AccessLogSetting" }, "CacheClusterEnabled" : { - "description" : "Indicates whether cache clustering is enabled for the stage.", + "description" : "Specifies whether a cache cluster is enabled for the stage.", "type" : "boolean" }, "CacheClusterSize" : { - "description" : "The stage's cache cluster size.", + "description" : "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html).", "type" : "string" }, "CanarySetting" : { - "description" : "Specifies settings for the canary deployment in this stage.", + "description" : "Settings for the canary deployment in this stage.", "$ref" : "#/definitions/CanarySetting" }, "ClientCertificateId" : { - "description" : "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. ", + "description" : "The identifier of a client certificate for an API stage.", "type" : "string" }, "DeploymentId" : { - "description" : "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. ", + "description" : "The identifier of the Deployment that the stage points to.", "type" : "string" }, "Description" : { - "description" : "A description of the stage.", + "description" : "The stage's description.", "type" : "string" }, "DocumentationVersion" : { - "description" : "The version ID of the API documentation snapshot.", + "description" : "The version of the associated API documentation.", "type" : "string" }, "MethodSettings" : { - "description" : "Settings for all methods in the stage.", + "description" : "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, @@ -46,15 +46,15 @@ } }, "RestApiId" : { - "description" : "The ID of the RestApi resource that you're deploying with this stage.", + "description" : "The string identifier of the associated RestApi.", "type" : "string" }, "StageName" : { - "description" : "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI).", + "description" : "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", "type" : "string" }, "Tags" : { - "description" : "An array of arbitrary tags (key-value pairs) to associate with the stage.", + "description" : "The collection of tags. Each tag element is associated with a given resource.", "type" : "array", "uniqueItems" : false, "insertionOrder" : false, @@ -63,11 +63,11 @@ } }, "TracingEnabled" : { - "description" : "Specifies whether active X-Ray tracing is enabled for this stage.", + "description" : "Specifies whether active tracing with X-ray is enabled for the Stage.", "type" : "boolean" }, "Variables" : { - "description" : "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value.", + "description" : "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.", "type" : "object", "additionalProperties" : false, "patternProperties" : { @@ -79,16 +79,16 @@ }, "definitions" : { "CanarySetting" : { - "description" : "Specifies settings for the canary deployment in this stage.", + "description" : "Configuration settings of a canary deployment.", "type" : "object", "additionalProperties" : false, "properties" : { "DeploymentId" : { - "description" : "The identifier of the deployment that the stage points to.", + "description" : "The ID of the canary deployment.", "type" : "string" }, "PercentTraffic" : { - "description" : "The percentage (0-100) of traffic diverted to a canary deployment.", + "description" : "The percent (0-100) of traffic diverted to a canary deployment.", "type" : "number", "minimum" : 0, "maximum" : 100 @@ -104,70 +104,70 @@ } }, "UseStageCache" : { - "description" : "Whether the canary deployment uses the stage cache or not.", + "description" : "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", "type" : "boolean" } } }, "AccessLogSetting" : { - "description" : "Specifies settings for logging access in this stage.", + "description" : "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.", "type" : "object", "additionalProperties" : false, "properties" : { "DestinationArn" : { - "description" : "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. This parameter is required to enable access logging.", + "description" : "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``. This parameter is required to enable access logging.", "type" : "string" }, "Format" : { - "description" : "A single line format of the access logs of data, as specified by selected $context variables (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least $context.requestId. This parameter is required to enable access logging.", + "description" : "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least ``$context.requestId``. This parameter is required to enable access logging.", "type" : "string" } } }, "MethodSetting" : { - "description" : "Configures settings for all methods in a stage.", + "description" : "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the ``AWS::ApiGateway::Stage`` resource contains a list of ``MethodSetting`` property types.", "type" : "object", "additionalProperties" : false, "properties" : { "CacheDataEncrypted" : { - "description" : "Indicates whether the cached responses are encrypted.", + "description" : "Specifies whether the cached responses are encrypted.", "type" : "boolean" }, "CacheTtlInSeconds" : { - "description" : "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.", + "description" : "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", "type" : "integer" }, "CachingEnabled" : { - "description" : "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses.", + "description" : "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", "type" : "boolean" }, "DataTraceEnabled" : { - "description" : "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.", + "description" : "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", "type" : "boolean" }, "HttpMethod" : { - "description" : "The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to multiple methods.", + "description" : "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.", "type" : "string" }, "LoggingLevel" : { - "description" : "The logging level for this method. For valid values, see the loggingLevel property of the Stage (https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the Amazon API Gateway API Reference.", + "description" : "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.", "type" : "string" }, "MetricsEnabled" : { - "description" : "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.", + "description" : "Specifies whether Amazon CloudWatch metrics are enabled for this method.", "type" : "boolean" }, "ResourcePath" : { - "description" : "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource. To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard to apply method settings to multiple methods.", + "description" : "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.", "type" : "string" }, "ThrottlingBurstLimit" : { - "description" : "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account.", + "description" : "Specifies the throttling burst limit.", "type" : "integer", "minimum" : 0 }, "ThrottlingRateLimit" : { - "description" : "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account.", + "description" : "Specifies the throttling rate limit.", "type" : "number", "minimum" : 0 } diff --git a/aws-cloudformation-schema/aws-apigateway-usageplankey.json b/aws-cloudformation-schema/aws-apigateway-usageplankey.json index 0f7cf75f5a..4a346c0249 100644 --- a/aws-cloudformation-schema/aws-apigateway-usageplankey.json +++ b/aws-cloudformation-schema/aws-apigateway-usageplankey.json @@ -1,20 +1,20 @@ { "typeName" : "AWS::ApiGateway::UsagePlanKey", - "description" : "Resource Type definition for AWS::ApiGateway::UsagePlanKey", + "description" : "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", "additionalProperties" : false, "properties" : { "KeyId" : { - "description" : "The ID of the usage plan key.", + "description" : "The Id of the UsagePlanKey resource.", "type" : "string" }, "KeyType" : { - "description" : "The type of usage plan key. Currently, the only valid key type is API_KEY.", + "description" : "The type of a UsagePlanKey resource for a plan customer.", "type" : "string", "enum" : [ "API_KEY" ] }, "UsagePlanId" : { - "description" : "The ID of the usage plan.", + "description" : "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", "type" : "string" }, "Id" : { @@ -35,7 +35,7 @@ "permissions" : [ "apigateway:GET" ] }, "delete" : { - "permissions" : [ "apigateway:DELETE" ] + "permissions" : [ "apigateway:DELETE", "apigateway:GET" ] }, "list" : { "handlerSchema" : { diff --git a/aws-cloudformation-schema/aws-appsync-functionconfiguration.json b/aws-cloudformation-schema/aws-appsync-functionconfiguration.json index fab3022329..6f9c0a1dc5 100644 --- a/aws-cloudformation-schema/aws-appsync-functionconfiguration.json +++ b/aws-cloudformation-schema/aws-appsync-functionconfiguration.json @@ -1,102 +1,156 @@ { "typeName" : "AWS::AppSync::FunctionConfiguration", - "description" : "Resource Type definition for AWS::AppSync::FunctionConfiguration", - "additionalProperties" : false, + "description" : "An example resource schema demonstrating some basic constructs and validation rules.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions" : { + "AppSyncRuntime" : { + "description" : "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Name" : { + "type" : "string", + "description" : "The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS." + }, + "RuntimeVersion" : { + "type" : "string", + "description" : "The version of the runtime to use. Currently, the only allowed version is 1.0.0." + } + }, + "required" : [ "Name", "RuntimeVersion" ] + }, + "SyncConfig" : { + "description" : "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ConflictDetection" : { + "type" : "string", + "description" : "The Conflict Detection strategy to use." + }, + "ConflictHandler" : { + "type" : "string", + "description" : "The Conflict Resolution strategy to perform in the event of a conflict." + }, + "LambdaConflictHandlerConfig" : { + "$ref" : "#/definitions/LambdaConflictHandlerConfig" + } + }, + "required" : [ "ConflictDetection" ] + }, + "LambdaConflictHandlerConfig" : { + "type" : "object", + "description" : "The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.", + "additionalProperties" : false, + "properties" : { + "LambdaConflictHandlerArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler." + } + } + } + }, "properties" : { "FunctionId" : { + "description" : "The unique identifier for the function generated by the service", "type" : "string" }, "FunctionArn" : { + "description" : "The ARN for the function generated by the service", "type" : "string" }, - "Description" : { + "ApiId" : { + "description" : "The AWS AppSync GraphQL API that you want to attach using this function.", "type" : "string" }, - "RequestMappingTemplate" : { + "Code" : { + "description" : "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.", "type" : "string" }, - "ResponseMappingTemplate" : { + "CodeS3Location" : { + "description" : "The Amazon S3 endpoint (where the code is located??).", "type" : "string" }, - "MaxBatchSize" : { - "type" : "integer" - }, - "SyncConfig" : { - "$ref" : "#/definitions/SyncConfig" - }, - "Code" : { + "DataSourceName" : { + "description" : "The name of data source this function will attach.", "type" : "string" }, - "Name" : { + "Description" : { + "description" : "The function description.", "type" : "string" }, - "ResponseMappingTemplateS3Location" : { + "FunctionVersion" : { + "description" : "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported.", "type" : "string" }, - "Runtime" : { - "$ref" : "#/definitions/AppSyncRuntime" + "MaxBatchSize" : { + "description" : "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation.", + "type" : "integer" }, - "CodeS3Location" : { + "Name" : { + "description" : "The name of the function.", "type" : "string" }, - "DataSourceName" : { + "RequestMappingTemplate" : { + "description" : "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.", "type" : "string" }, - "FunctionVersion" : { + "RequestMappingTemplateS3Location" : { + "description" : "Describes a Sync configuration for a resolver. Contains information on which Conflict Detection, as well as Resolution strategy, should be performed when the resolver is invoked.", "type" : "string" }, - "Id" : { + "ResponseMappingTemplate" : { + "description" : "The Function response mapping template.", "type" : "string" }, - "RequestMappingTemplateS3Location" : { + "ResponseMappingTemplateS3Location" : { + "description" : "The location of a response mapping template in an Amazon S3 bucket. Use this if you want to provision with a template file in Amazon S3 rather than embedding it in your CloudFormation template.", "type" : "string" }, - "ApiId" : { - "type" : "string" - } - }, - "definitions" : { - "AppSyncRuntime" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "RuntimeVersion" : { - "type" : "string" - }, - "Name" : { - "type" : "string" - } - }, - "required" : [ "RuntimeVersion", "Name" ] + "Runtime" : { + "description" : "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.", + "$ref" : "#/definitions/AppSyncRuntime" }, "SyncConfig" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "ConflictHandler" : { - "type" : "string" - }, - "ConflictDetection" : { - "type" : "string" - }, - "LambdaConflictHandlerConfig" : { - "$ref" : "#/definitions/LambdaConflictHandlerConfig" - } - }, - "required" : [ "ConflictDetection" ] - }, - "LambdaConflictHandlerConfig" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "LambdaConflictHandlerArn" : { - "type" : "string" - } - } + "description" : "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.", + "$ref" : "#/definitions/SyncConfig" } }, - "required" : [ "DataSourceName", "ApiId", "Name" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "additionalProperties" : false, + "required" : [ "ApiId", "DataSourceName", "Name" ], + "readOnlyProperties" : [ "/properties/FunctionArn", "/properties/FunctionId" ], + "writeOnlyProperties" : [ "/properties/CodeS3Location", "/properties/ResponseMappingTemplateS3Location", "/properties/RequestMappingTemplateS3Location" ], "createOnlyProperties" : [ "/properties/ApiId" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/FunctionArn", "/properties/Id", "/properties/FunctionId" ] + "primaryIdentifier" : [ "/properties/FunctionArn" ], + "handlers" : { + "create" : { + "permissions" : [ "s3:GetObject", "appsync:CreateFunction" ] + }, + "read" : { + "permissions" : [ "appsync:GetFunction" ] + }, + "update" : { + "permissions" : [ "s3:GetObject", "appsync:UpdateFunction" ] + }, + "delete" : { + "permissions" : [ "appsync:DeleteFunction" ] + }, + "list" : { + "permissions" : [ "appsync:ListFunctions" ], + "handlerSchema" : { + "properties" : { + "ApiId" : { + "$ref" : "resource-schema.json#/properties/ApiId" + } + }, + "required" : [ "ApiId" ] + } + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-cognito-identitypool.json b/aws-cloudformation-schema/aws-cognito-identitypool.json index 3a157d7494..0b3ae9b82b 100644 --- a/aws-cloudformation-schema/aws-cognito-identitypool.json +++ b/aws-cloudformation-schema/aws-cognito-identitypool.json @@ -1,85 +1,7 @@ { "typeName" : "AWS::Cognito::IdentityPool", "description" : "Resource Type definition for AWS::Cognito::IdentityPool", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "additionalProperties" : false, - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/IdentityPoolTags" - }, - "definitions" : { - "PushSync" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "ApplicationArns" : { - "type" : "array", - "uniqueItems" : false, - "insertionOrder" : false, - "items" : { - "type" : "string" - } - }, - "RoleArn" : { - "type" : "string" - } - } - }, - "CognitoIdentityProvider" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "ServerSideTokenCheck" : { - "type" : "boolean" - }, - "ProviderName" : { - "type" : "string" - }, - "ClientId" : { - "type" : "string" - } - }, - "required" : [ "ProviderName", "ClientId" ] - }, - "CognitoStreams" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "StreamingStatus" : { - "type" : "string" - }, - "StreamName" : { - "type" : "string" - }, - "RoleArn" : { - "type" : "string" - } - } - }, - "Tag" : { - "description" : "A key-value pair to associate with a resource.", - "type" : "object", - "properties" : { - "Key" : { - "type" : "string", - "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "minLength" : 1, - "maxLength" : 128 - }, - "Value" : { - "type" : "string", - "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "minLength" : 0, - "maxLength" : 256 - } - }, - "required" : [ "Key", "Value" ], - "additionalProperties" : false - } - }, "properties" : { "PushSync" : { "$ref" : "#/definitions/PushSync" @@ -87,7 +9,6 @@ "CognitoIdentityProviders" : { "type" : "array", "uniqueItems" : false, - "insertionOrder" : false, "items" : { "$ref" : "#/definitions/CognitoIdentityProvider" } @@ -119,7 +40,6 @@ "SamlProviderARNs" : { "type" : "array", "uniqueItems" : false, - "insertionOrder" : false, "items" : { "type" : "string" } @@ -127,43 +47,63 @@ "OpenIdConnectProviderARNs" : { "type" : "array", "uniqueItems" : false, - "insertionOrder" : false, "items" : { "type" : "string" } }, "AllowClassicFlow" : { "type" : "boolean" + } + }, + "definitions" : { + "PushSync" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ApplicationArns" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string" + } + }, + "RoleArn" : { + "type" : "string" + } + } }, - "IdentityPoolTags" : { - "description" : "An array of key-value pairs to apply to this resource.", - "type" : "array", - "uniqueItems" : true, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/Tag" + "CognitoIdentityProvider" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerSideTokenCheck" : { + "type" : "boolean" + }, + "ProviderName" : { + "type" : "string" + }, + "ClientId" : { + "type" : "string" + } + } + }, + "CognitoStreams" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "StreamingStatus" : { + "type" : "string" + }, + "StreamName" : { + "type" : "string" + }, + "RoleArn" : { + "type" : "string" + } } } }, "required" : [ "AllowUnauthenticatedIdentities" ], "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/Name" ], - "writeOnlyProperties" : [ "/properties/PushSync", "/properties/CognitoStreams", "/properties/CognitoEvents" ], - "handlers" : { - "create" : { - "permissions" : [ "cognito-identity:CreateIdentityPool", "cognito-identity:DescribeIdentityPool", "cognito-identity:TagResource", "cognito-sync:SetIdentityPoolConfiguration", "cognito-sync:SetCognitoEvents", "iam:PassRole" ] - }, - "read" : { - "permissions" : [ "cognito-identity:DescribeIdentityPool" ] - }, - "update" : { - "permissions" : [ "cognito-identity:UpdateIdentityPool", "cognito-identity:DescribeIdentityPool", "cognito-identity:TagResource", "cognito-identity:UntagResource", "cognito-sync:SetIdentityPoolConfiguration", "cognito-sync:SetCognitoEvents", "iam:PassRole" ] - }, - "delete" : { - "permissions" : [ "cognito-identity:DeleteIdentityPool", "cognito-identity:DescribeIdentityPool" ] - }, - "list" : { - "permissions" : [ "cognito-identity:ListIdentityPools" ] - } - } + "readOnlyProperties" : [ "/properties/Id", "/properties/Name" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-cognito-userpool.json b/aws-cloudformation-schema/aws-cognito-userpool.json index 254ae9d920..f18e4e3761 100644 --- a/aws-cloudformation-schema/aws-cognito-userpool.json +++ b/aws-cloudformation-schema/aws-cognito-userpool.json @@ -1,427 +1,468 @@ { "typeName" : "AWS::Cognito::UserPool", "description" : "Resource Type definition for AWS::Cognito::UserPool", - "additionalProperties" : false, - "properties" : { - "UserPoolTags" : { - "type" : "object" - }, - "Policies" : { - "$ref" : "#/definitions/Policies" - }, - "Schema" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/SchemaAttribute" - } - }, - "AdminCreateUserConfig" : { - "$ref" : "#/definitions/AdminCreateUserConfig" - }, - "UsernameConfiguration" : { - "$ref" : "#/definitions/UsernameConfiguration" - }, - "UserPoolName" : { - "type" : "string" - }, - "SmsVerificationMessage" : { - "type" : "string" - }, - "UserAttributeUpdateSettings" : { - "$ref" : "#/definitions/UserAttributeUpdateSettings" - }, - "EmailConfiguration" : { - "$ref" : "#/definitions/EmailConfiguration" - }, - "SmsConfiguration" : { - "$ref" : "#/definitions/SmsConfiguration" - }, - "EmailVerificationSubject" : { - "type" : "string" - }, - "AccountRecoverySetting" : { - "$ref" : "#/definitions/AccountRecoverySetting" - }, - "VerificationMessageTemplate" : { - "$ref" : "#/definitions/VerificationMessageTemplate" - }, - "ProviderURL" : { - "type" : "string" - }, - "MfaConfiguration" : { - "type" : "string" - }, - "DeletionProtection" : { - "type" : "string" - }, - "SmsAuthenticationMessage" : { - "type" : "string" - }, - "ProviderName" : { - "type" : "string" - }, - "UserPoolAddOns" : { - "$ref" : "#/definitions/UserPoolAddOns" - }, - "AliasAttributes" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "EnabledMfas" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "LambdaConfig" : { - "$ref" : "#/definitions/LambdaConfig" - }, - "Id" : { - "type" : "string" - }, - "Arn" : { - "type" : "string" - }, - "UsernameAttributes" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "AutoVerifiedAttributes" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "DeviceConfiguration" : { - "$ref" : "#/definitions/DeviceConfiguration" - }, - "EmailVerificationMessage" : { - "type" : "string" - } + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/UserPoolTags" }, "definitions" : { - "Policies" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "PasswordPolicy" : { - "$ref" : "#/definitions/PasswordPolicy" - } - } - }, - "VerificationMessageTemplate" : { + "PasswordPolicy" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "EmailMessageByLink" : { - "type" : "string" + "MinimumLength" : { + "type" : "integer" }, - "EmailMessage" : { - "type" : "string" + "RequireLowercase" : { + "type" : "boolean" }, - "SmsMessage" : { - "type" : "string" + "RequireNumbers" : { + "type" : "boolean" }, - "EmailSubject" : { - "type" : "string" + "RequireSymbols" : { + "type" : "boolean" }, - "DefaultEmailOption" : { - "type" : "string" + "RequireUppercase" : { + "type" : "boolean" }, - "EmailSubjectByLink" : { - "type" : "string" + "TemporaryPasswordValidityDays" : { + "type" : "integer" } - } + }, + "additionalProperties" : false }, - "NumberAttributeConstraints" : { + "Policies" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "MinValue" : { - "type" : "string" - }, - "MaxValue" : { - "type" : "string" + "PasswordPolicy" : { + "$ref" : "#/definitions/PasswordPolicy" } - } + }, + "additionalProperties" : false }, "InviteMessageTemplate" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "EmailSubject" : { + "EmailMessage" : { "type" : "string" }, - "EmailMessage" : { + "EmailSubject" : { "type" : "string" }, "SMSMessage" : { "type" : "string" } - } + }, + "additionalProperties" : false }, - "AdminCreateUserConfig" : { + "RecoveryOption" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "InviteMessageTemplate" : { - "$ref" : "#/definitions/InviteMessageTemplate" + "Name" : { + "type" : "string" }, - "UnusedAccountValidityDays" : { + "Priority" : { "type" : "integer" - }, - "AllowAdminCreateUserOnly" : { - "type" : "boolean" - } - } - }, - "UsernameConfiguration" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "CaseSensitive" : { - "type" : "boolean" } - } + }, + "additionalProperties" : false }, - "UserPoolAddOns" : { + "AccountRecoverySetting" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "AdvancedSecurityMode" : { - "type" : "string" + "RecoveryMechanisms" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/RecoveryOption" + } } - } + }, + "additionalProperties" : false }, - "RecoveryOption" : { + "AdminCreateUserConfig" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "Priority" : { - "type" : "integer" + "AllowAdminCreateUserOnly" : { + "type" : "boolean" }, - "Name" : { - "type" : "string" - } - } - }, - "StringAttributeConstraints" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "MaxLength" : { - "type" : "string" + "InviteMessageTemplate" : { + "$ref" : "#/definitions/InviteMessageTemplate" }, - "MinLength" : { - "type" : "string" - } - } - }, - "UserAttributeUpdateSettings" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "AttributesRequireVerificationBeforeUpdate" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } + "UnusedAccountValidityDays" : { + "type" : "integer" } }, - "required" : [ "AttributesRequireVerificationBeforeUpdate" ] + "additionalProperties" : false }, - "CustomSMSSender" : { + "DeviceConfiguration" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "LambdaArn" : { - "type" : "string" + "ChallengeRequiredOnNewDevice" : { + "type" : "boolean" }, - "LambdaVersion" : { - "type" : "string" + "DeviceOnlyRememberedOnUserPrompt" : { + "type" : "boolean" } - } + }, + "additionalProperties" : false }, "EmailConfiguration" : { "type" : "object", - "additionalProperties" : false, "properties" : { "ReplyToEmailAddress" : { "type" : "string" }, - "ConfigurationSet" : { + "SourceArn" : { "type" : "string" }, - "EmailSendingAccount" : { + "From" : { "type" : "string" }, - "From" : { + "ConfigurationSet" : { "type" : "string" }, - "SourceArn" : { + "EmailSendingAccount" : { "type" : "string" } - } + }, + "additionalProperties" : false }, - "SmsConfiguration" : { + "CustomEmailSender" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "SnsCallerArn" : { - "type" : "string" - }, - "SnsRegion" : { + "LambdaVersion" : { "type" : "string" }, - "ExternalId" : { + "LambdaArn" : { "type" : "string" } - } + }, + "additionalProperties" : false }, - "PasswordPolicy" : { + "CustomSMSSender" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "RequireNumbers" : { - "type" : "boolean" - }, - "MinimumLength" : { - "type" : "integer" - }, - "TemporaryPasswordValidityDays" : { - "type" : "integer" - }, - "RequireUppercase" : { - "type" : "boolean" - }, - "RequireLowercase" : { - "type" : "boolean" + "LambdaVersion" : { + "type" : "string" }, - "RequireSymbols" : { - "type" : "boolean" + "LambdaArn" : { + "type" : "string" } - } + }, + "additionalProperties" : false }, "LambdaConfig" : { "type" : "object", - "additionalProperties" : false, "properties" : { "CreateAuthChallenge" : { "type" : "string" }, - "PreSignUp" : { - "type" : "string" - }, - "KMSKeyID" : { + "CustomMessage" : { "type" : "string" }, - "UserMigration" : { + "DefineAuthChallenge" : { "type" : "string" }, "PostAuthentication" : { "type" : "string" }, - "VerifyAuthChallengeResponse" : { + "PostConfirmation" : { "type" : "string" }, "PreAuthentication" : { "type" : "string" }, - "DefineAuthChallenge" : { + "PreSignUp" : { + "type" : "string" + }, + "VerifyAuthChallengeResponse" : { + "type" : "string" + }, + "UserMigration" : { "type" : "string" }, "PreTokenGeneration" : { "type" : "string" }, + "CustomEmailSender" : { + "$ref" : "#/definitions/CustomEmailSender" + }, "CustomSMSSender" : { "$ref" : "#/definitions/CustomSMSSender" }, - "PostConfirmation" : { + "KMSKeyID" : { + "type" : "string" + } + }, + "additionalProperties" : false + }, + "SmsConfiguration" : { + "type" : "object", + "properties" : { + "ExternalId" : { "type" : "string" }, - "CustomMessage" : { + "SnsCallerArn" : { "type" : "string" }, - "CustomEmailSender" : { - "$ref" : "#/definitions/CustomEmailSender" + "SnsRegion" : { + "type" : "string" } - } + }, + "additionalProperties" : false }, - "CustomEmailSender" : { + "StringAttributeConstraints" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "LambdaArn" : { + "MaxLength" : { "type" : "string" }, - "LambdaVersion" : { + "MinLength" : { "type" : "string" } - } + }, + "additionalProperties" : false + }, + "NumberAttributeConstraints" : { + "type" : "object", + "properties" : { + "MaxValue" : { + "type" : "string" + }, + "MinValue" : { + "type" : "string" + } + }, + "additionalProperties" : false }, "SchemaAttribute" : { "type" : "object", - "additionalProperties" : false, "properties" : { + "AttributeDataType" : { + "type" : "string" + }, "DeveloperOnlyAttribute" : { "type" : "boolean" }, "Mutable" : { "type" : "boolean" }, - "AttributeDataType" : { + "Name" : { "type" : "string" }, + "NumberAttributeConstraints" : { + "$ref" : "#/definitions/NumberAttributeConstraints" + }, "StringAttributeConstraints" : { "$ref" : "#/definitions/StringAttributeConstraints" }, "Required" : { "type" : "boolean" - }, - "NumberAttributeConstraints" : { - "$ref" : "#/definitions/NumberAttributeConstraints" - }, - "Name" : { - "type" : "string" } - } + }, + "additionalProperties" : false }, - "DeviceConfiguration" : { + "UsernameConfiguration" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "DeviceOnlyRememberedOnUserPrompt" : { - "type" : "boolean" - }, - "ChallengeRequiredOnNewDevice" : { + "CaseSensitive" : { "type" : "boolean" } - } + }, + "additionalProperties" : false }, - "AccountRecoverySetting" : { + "UserAttributeUpdateSettings" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "RecoveryMechanisms" : { + "AttributesRequireVerificationBeforeUpdate" : { "type" : "array", - "uniqueItems" : false, "items" : { - "$ref" : "#/definitions/RecoveryOption" + "type" : "string" } } + }, + "required" : [ "AttributesRequireVerificationBeforeUpdate" ], + "additionalProperties" : false + }, + "VerificationMessageTemplate" : { + "type" : "object", + "properties" : { + "DefaultEmailOption" : { + "type" : "string" + }, + "EmailMessage" : { + "type" : "string" + }, + "EmailMessageByLink" : { + "type" : "string" + }, + "EmailSubject" : { + "type" : "string" + }, + "EmailSubjectByLink" : { + "type" : "string" + }, + "SmsMessage" : { + "type" : "string" + } + }, + "additionalProperties" : false + }, + "UserPoolAddOns" : { + "type" : "object", + "properties" : { + "AdvancedSecurityMode" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "UserPoolName" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 128 + }, + "Policies" : { + "$ref" : "#/definitions/Policies" + }, + "AccountRecoverySetting" : { + "$ref" : "#/definitions/AccountRecoverySetting" + }, + "AdminCreateUserConfig" : { + "$ref" : "#/definitions/AdminCreateUserConfig" + }, + "AliasAttributes" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "UsernameAttributes" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "AutoVerifiedAttributes" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "DeviceConfiguration" : { + "$ref" : "#/definitions/DeviceConfiguration" + }, + "EmailConfiguration" : { + "$ref" : "#/definitions/EmailConfiguration" + }, + "EmailVerificationMessage" : { + "type" : "string", + "minLength" : 6, + "maxLength" : 20000 + }, + "EmailVerificationSubject" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 140 + }, + "DeletionProtection" : { + "type" : "string" + }, + "LambdaConfig" : { + "$ref" : "#/definitions/LambdaConfig" + }, + "MfaConfiguration" : { + "type" : "string" + }, + "EnabledMfas" : { + "type" : "array", + "items" : { + "type" : "string" } + }, + "SmsAuthenticationMessage" : { + "type" : "string", + "minLength" : 6, + "maxLength" : 140 + }, + "SmsConfiguration" : { + "$ref" : "#/definitions/SmsConfiguration" + }, + "SmsVerificationMessage" : { + "type" : "string", + "minLength" : 6, + "maxLength" : 140 + }, + "Schema" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/SchemaAttribute" + } + }, + "UsernameConfiguration" : { + "$ref" : "#/definitions/UsernameConfiguration" + }, + "UserAttributeUpdateSettings" : { + "$ref" : "#/definitions/UserAttributeUpdateSettings" + }, + "UserPoolTags" : { + "type" : "object", + "patternProperties" : { + "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" : { + "type" : "string" + } + }, + "additionalProperties" : false + }, + "VerificationMessageTemplate" : { + "$ref" : "#/definitions/VerificationMessageTemplate" + }, + "UserPoolAddOns" : { + "$ref" : "#/definitions/UserPoolAddOns" + }, + "ProviderName" : { + "type" : "string" + }, + "ProviderURL" : { + "type" : "string" + }, + "Arn" : { + "type" : "string" + }, + "UserPoolId" : { + "type" : "string" } }, - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/ProviderName", "/properties/ProviderURL" ] + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/UserPoolId" ], + "readOnlyProperties" : [ "/properties/ProviderName", "/properties/UserPoolId", "/properties/ProviderURL", "/properties/Arn" ], + "writeOnlyProperties" : [ "/properties/EnabledMfas" ], + "propertyTransform" : { + "/properties/Schema/*/Name" : "'custom:' & '' & Name" + }, + "handlers" : { + "create" : { + "permissions" : [ "cognito-idp:CreateUserPool", "iam:PassRole", "cognito-idp:SetUserPoolMfaConfig", "cognito-idp:DescribeUserPool", "kms:CreateGrant", "iam:CreateServiceLinkedRole" ], + "timeoutInMinutes" : 2 + }, + "read" : { + "permissions" : [ "cognito-idp:DescribeUserPool" ] + }, + "update" : { + "permissions" : [ "cognito-idp:UpdateUserPool", "cognito-idp:ListTagsForResource", "cognito-idp:UntagResource", "cognito-idp:TagResource", "cognito-idp:SetUserPoolMfaConfig", "cognito-idp:AddCustomAttributes", "cognito-idp:DescribeUserPool", "iam:PassRole" ], + "timeoutInMinutes" : 2 + }, + "delete" : { + "permissions" : [ "cognito-idp:DeleteUserPool" ], + "timeoutInMinutes" : 2 + }, + "list" : { + "permissions" : [ "cognito-idp:ListUserPools" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-cognito-userpoolgroup.json b/aws-cloudformation-schema/aws-cognito-userpoolgroup.json index 1263f55108..56b6f1b89d 100644 --- a/aws-cloudformation-schema/aws-cognito-userpoolgroup.json +++ b/aws-cloudformation-schema/aws-cognito-userpoolgroup.json @@ -1,29 +1,62 @@ { "typeName" : "AWS::Cognito::UserPoolGroup", "description" : "Resource Type definition for AWS::Cognito::UserPoolGroup", - "additionalProperties" : false, + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "properties" : { - "GroupName" : { - "type" : "string" - }, "Description" : { - "type" : "string" + "type" : "string", + "maxLength" : 2048 }, - "UserPoolId" : { - "type" : "string" - }, - "Id" : { + "GroupName" : { "type" : "string" }, "Precedence" : { - "type" : "number" + "type" : "integer", + "minimum" : 0 }, "RoleArn" : { "type" : "string" + }, + "UserPoolId" : { + "type" : "string" } }, + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "additionalProperties" : false, "required" : [ "UserPoolId" ], - "createOnlyProperties" : [ "/properties/GroupName", "/properties/UserPoolId" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "createOnlyProperties" : [ "/properties/UserPoolId", "/properties/GroupName" ], + "primaryIdentifier" : [ "/properties/UserPoolId", "/properties/GroupName" ], + "handlers" : { + "create" : { + "permissions" : [ "cognito-idp:CreateGroup", "iam:PassRole", "iam:PutRolePolicy", "cognito-idp:GetGroup" ], + "timeoutInMinutes" : 5 + }, + "read" : { + "permissions" : [ "cognito-idp:GetGroup" ] + }, + "update" : { + "permissions" : [ "cognito-idp:UpdateGroup", "iam:PassRole", "iam:PutRolePolicy" ], + "timeoutInMinutes" : 5 + }, + "delete" : { + "permissions" : [ "cognito-idp:DeleteGroup", "cognito-idp:GetGroup", "iam:PutRolePolicy" ], + "timeoutInMinutes" : 5 + }, + "list" : { + "handlerSchema" : { + "properties" : { + "UserPoolId" : { + "$ref" : "resource-schema.json#/properties/UserPoolId" + } + }, + "required" : [ "UserPoolId" ] + }, + "permissions" : [ "cognito-idp:ListGroups" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-datasync-agent.json b/aws-cloudformation-schema/aws-datasync-agent.json index 8f7281326e..1eb022c7ee 100644 --- a/aws-cloudformation-schema/aws-datasync-agent.json +++ b/aws-cloudformation-schema/aws-datasync-agent.json @@ -102,7 +102,7 @@ "writeOnlyProperties" : [ "/properties/ActivationKey" ], "handlers" : { "create" : { - "permissions" : [ "datasync:CreateAgent", "datasync:TagResource", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpoints" ] + "permissions" : [ "datasync:CreateAgent", "datasync:TagResource", "datasync:DescribeAgent", "datasync:ListTagsForResource", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpoints" ] }, "read" : { "permissions" : [ "datasync:DescribeAgent", "datasync:ListTagsForResource" ] diff --git a/aws-cloudformation-schema/aws-ec2-subnet.json b/aws-cloudformation-schema/aws-ec2-subnet.json index 9cbf7485dd..3cf4f9c81a 100644 --- a/aws-cloudformation-schema/aws-ec2-subnet.json +++ b/aws-cloudformation-schema/aws-ec2-subnet.json @@ -1,24 +1,65 @@ { + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : true + }, "typeName" : "AWS::EC2::Subnet", + "readOnlyProperties" : [ "/properties/NetworkAclAssociationId", "/properties/SubnetId", "/properties/Ipv6CidrBlocks" ], "description" : "Resource Type definition for AWS::EC2::Subnet", + "createOnlyProperties" : [ "/properties/VpcId", "/properties/AvailabilityZone", "/properties/AvailabilityZoneId", "/properties/CidrBlock", "/properties/OutpostArn", "/properties/Ipv6Native" ], + "primaryIdentifier" : [ "/properties/SubnetId" ], + "required" : [ "VpcId" ], + "conditionalCreateOnlyProperties" : [ "/properties/Ipv6CidrBlock" ], + "handlers" : { + "read" : { + "permissions" : [ "ec2:DescribeSubnets", "ec2:DescribeNetworkAcls" ] + }, + "create" : { + "permissions" : [ "ec2:DescribeSubnets", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:ModifySubnetAttribute" ] + }, + "update" : { + "permissions" : [ "ec2:DescribeSubnets", "ec2:ModifySubnetAttribute", "ec2:CreateTags", "ec2:DeleteTags", "ec2:AssociateSubnetCidrBlock", "ec2:DisassociateSubnetCidrBlock" ] + }, + "list" : { + "permissions" : [ "ec2:DescribeSubnets", "ec2:DescribeNetworkAcls" ] + }, + "delete" : { + "permissions" : [ "ec2:DescribeSubnets", "ec2:DeleteSubnet" ] + } + }, "additionalProperties" : false, + "definitions" : { + "Tag" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Value" : { + "type" : "string" + }, + "Key" : { + "type" : "string" + } + }, + "required" : [ "Value", "Key" ] + } + }, "properties" : { - "AssignIpv6AddressOnCreation" : { + "MapPublicIpOnLaunch" : { "type" : "boolean" }, - "VpcId" : { - "type" : "string" - }, - "MapPublicIpOnLaunch" : { + "EnableDns64" : { "type" : "boolean" }, - "NetworkAclAssociationId" : { + "AvailabilityZoneId" : { "type" : "string" }, - "AvailabilityZone" : { + "OutpostArn" : { "type" : "string" }, - "AvailabilityZoneId" : { + "AvailabilityZone" : { "type" : "string" }, "CidrBlock" : { @@ -27,90 +68,57 @@ "SubnetId" : { "type" : "string" }, - "Ipv6CidrBlocks" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } + "Ipv6NetmaskLength" : { + "description" : "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool", + "type" : "integer" }, - "Ipv6CidrBlock" : { - "type" : "string" + "AssignIpv6AddressOnCreation" : { + "type" : "boolean" }, - "OutpostArn" : { + "VpcId" : { "type" : "string" }, - "Ipv6Native" : { - "type" : "boolean" + "Ipv4NetmaskLength" : { + "description" : "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool", + "type" : "integer" }, - "EnableDns64" : { - "type" : "boolean" + "NetworkAclAssociationId" : { + "type" : "string" }, "PrivateDnsNameOptionsOnLaunch" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "HostnameType" : { - "type" : "string" - }, "EnableResourceNameDnsARecord" : { "type" : "boolean" }, + "HostnameType" : { + "type" : "string" + }, "EnableResourceNameDnsAAAARecord" : { "type" : "boolean" } } }, - "Tags" : { - "type" : "array", + "Ipv6Native" : { + "type" : "boolean" + }, + "Ipv6CidrBlocks" : { "uniqueItems" : false, + "type" : "array", "items" : { - "$ref" : "#/definitions/Tag" + "type" : "string" } - } - }, - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" - }, - "definitions" : { - "Tag" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Value" : { - "type" : "string" - }, - "Key" : { - "type" : "string" - } - }, - "required" : [ "Value", "Key" ] - } - }, - "required" : [ "VpcId" ], - "createOnlyProperties" : [ "/properties/VpcId", "/properties/AvailabilityZone", "/properties/AvailabilityZoneId", "/properties/CidrBlock", "/properties/OutpostArn", "/properties/Ipv6Native" ], - "conditionalCreateOnlyProperties" : [ "/properties/Ipv6CidrBlock" ], - "primaryIdentifier" : [ "/properties/SubnetId" ], - "readOnlyProperties" : [ "/properties/NetworkAclAssociationId", "/properties/SubnetId", "/properties/Ipv6CidrBlocks" ], - "handlers" : { - "create" : { - "permissions" : [ "ec2:DescribeSubnets", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:ModifySubnetAttribute" ] - }, - "read" : { - "permissions" : [ "ec2:DescribeSubnets", "ec2:DescribeNetworkAcls" ] - }, - "update" : { - "permissions" : [ "ec2:DescribeSubnets", "ec2:ModifySubnetAttribute", "ec2:CreateTags", "ec2:DeleteTags", "ec2:AssociateSubnetCidrBlock", "ec2:DisassociateSubnetCidrBlock" ] }, - "delete" : { - "permissions" : [ "ec2:DescribeSubnets", "ec2:DeleteSubnet" ] + "Ipv6CidrBlock" : { + "type" : "string" }, - "list" : { - "permissions" : [ "ec2:DescribeSubnets", "ec2:DescribeNetworkAcls" ] + "Tags" : { + "uniqueItems" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json b/aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json new file mode 100644 index 0000000000..6ad71a3e75 --- /dev/null +++ b/aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json @@ -0,0 +1,229 @@ +{ + "typeName" : "AWS::EntityResolution::IdMappingWorkflow", + "description" : "IdMappingWorkflow defined in AWS Entity Resolution service", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-entity-resolution.git", + "definitions" : { + "EntityName" : { + "type" : "string", + "pattern" : "^[a-zA-Z_0-9-]*$", + "minLength" : 0, + "maxLength" : 255 + }, + "Description" : { + "type" : "string", + "minLength" : 0, + "maxLength" : 255 + }, + "AttributeName" : { + "type" : "string", + "pattern" : "^[a-zA-Z_0-9- \\t]*$", + "minLength" : 0, + "maxLength" : 255 + }, + "SchemaMappingArn" : { + "description" : "The SchemaMapping arn associated with the Schema", + "type" : "string", + "pattern" : "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(schemamapping/.*)$" + }, + "KMSArn" : { + "type" : "string", + "pattern" : "^arn:(aws|aws-us-gov|aws-cn):kms:.*:[0-9]+:.*$" + }, + "IdMappingWorkflowArn" : { + "description" : "The default IdMappingWorkflow arn", + "type" : "string", + "pattern" : "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(idmappingworkflow/.*)$" + }, + "CreatedAt" : { + "description" : "The time of this IdMappingWorkflow got created", + "type" : "string" + }, + "UpdatedAt" : { + "description" : "The time of this IdMappingWorkflow got last updated at", + "type" : "string" + }, + "IdMappingWorkflowInputSource" : { + "type" : "object", + "properties" : { + "InputSourceARN" : { + "description" : "An Glue table ARN for the input source table", + "type" : "string", + "pattern" : "arn:(aws|aws-us-gov|aws-cn):.*:.*:[0-9]+:.*$" + }, + "SchemaArn" : { + "type" : "string", + "$ref" : "#/definitions/SchemaMappingArn" + } + }, + "required" : [ "InputSourceARN", "SchemaArn" ], + "additionalProperties" : false + }, + "IdMappingWorkflowOutputSource" : { + "type" : "object", + "properties" : { + "OutputS3Path" : { + "description" : "The S3 path to which Entity Resolution will write the output table", + "type" : "string", + "pattern" : "^s3://([^/]+)/?(.*?([^/]+)/?)$" + }, + "KMSArn" : { + "$ref" : "#/definitions/KMSArn" + } + }, + "required" : [ "OutputS3Path" ], + "additionalProperties" : false + }, + "IdMappingTechniques" : { + "type" : "object", + "properties" : { + "IdMappingType" : { + "type" : "string", + "enum" : [ "PROVIDER" ] + }, + "ProviderProperties" : { + "$ref" : "#/definitions/ProviderProperties" + } + }, + "additionalProperties" : false + }, + "ProviderProperties" : { + "type" : "object", + "properties" : { + "ProviderServiceArn" : { + "type" : "string", + "description" : "Arn of the Provider Service being used.", + "pattern" : "^arn:(aws|aws-us-gov|aws-cn):entityresolution:([A-Za-z0-9]+(-[A-Za-z0-9]+)+)::providerservice/[A-Za-z0-9]+/[A-Za-z0-9]+$" + }, + "ProviderConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + "^.+$" : { + "type" : "string" + } + }, + "description" : "Additional Provider configuration that would be required for the provider service. The Configuration must be in JSON string format" + }, + "IntermediateSourceConfiguration" : { + "$ref" : "#/definitions/IntermediateSourceConfiguration" + } + }, + "required" : [ "ProviderServiceArn" ], + "additionalProperties" : false + }, + "IntermediateSourceConfiguration" : { + "type" : "object", + "properties" : { + "IntermediateS3Path" : { + "type" : "string", + "description" : "The s3 path that would be used to stage the intermediate data being generated during workflow execution." + } + }, + "required" : [ "IntermediateS3Path" ], + "additionalProperties" : false + }, + "Tag" : { + "description" : "A key-value pair to associate with a resource", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "WorkflowName" : { + "description" : "The name of the IdMappingWorkflow", + "$ref" : "#/definitions/EntityName" + }, + "Description" : { + "description" : "The description of the IdMappingWorkflow", + "$ref" : "#/definitions/Description" + }, + "InputSourceConfig" : { + "type" : "array", + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 20, + "items" : { + "$ref" : "#/definitions/IdMappingWorkflowInputSource" + } + }, + "OutputSourceConfig" : { + "type" : "array", + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 1, + "items" : { + "$ref" : "#/definitions/IdMappingWorkflowOutputSource" + } + }, + "IdMappingTechniques" : { + "$ref" : "#/definitions/IdMappingTechniques" + }, + "RoleArn" : { + "type" : "string", + "pattern" : "^arn:(aws|aws-us-gov|aws-cn):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" + }, + "Tags" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "minItems" : 0, + "maxItems" : 200, + "items" : { + "$ref" : "#/definitions/Tag" + } + }, + "WorkflowArn" : { + "$ref" : "#/definitions/IdMappingWorkflowArn" + }, + "CreatedAt" : { + "$ref" : "#/definitions/CreatedAt" + }, + "UpdatedAt" : { + "$ref" : "#/definitions/UpdatedAt" + } + }, + "createOnlyProperties" : [ "/properties/WorkflowName" ], + "readOnlyProperties" : [ "/properties/WorkflowArn", "/properties/UpdatedAt", "/properties/CreatedAt" ], + "primaryIdentifier" : [ "/properties/WorkflowName" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, + "handlers" : { + "create" : { + "permissions" : [ "entityresolution:CreateIdMappingWorkflow", "entityresolution:GetIdMappingWorkflow", "entityresolution:TagResource", "kms:CreateGrant", "kms:DescribeKey", "iam:PassRole" ] + }, + "update" : { + "permissions" : [ "entityresolution:GetIdMappingWorkflow", "entityresolution:UpdateIdMappingWorkflow", "entityresolution:ListTagsForResource", "entityresolution:TagResource", "entityresolution:UntagResource", "iam:PassRole", "kms:CreateGrant", "kms:DescribeKey" ] + }, + "read" : { + "permissions" : [ "entityresolution:GetIdMappingWorkflow", "entityresolution:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "entityresolution:DeleteIdMappingWorkflow", "entityresolution:GetIdMappingWorkflow", "entityresolution:UntagResource" ] + }, + "list" : { + "permissions" : [ "entityresolution:ListIdMappingWorkflows" ] + } + }, + "required" : [ "WorkflowName", "InputSourceConfig", "OutputSourceConfig", "IdMappingTechniques", "RoleArn" ], + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-events-rule.json b/aws-cloudformation-schema/aws-events-rule.json index e49c56e976..80df7f3eb2 100644 --- a/aws-cloudformation-schema/aws-events-rule.json +++ b/aws-cloudformation-schema/aws-events-rule.json @@ -1,82 +1,92 @@ { - "tagging" : { - "taggable" : false - }, - "handlers" : { - "read" : { - "permissions" : [ "iam:PassRole", "events:DescribeRule", "events:ListTargetsByRule" ] + "typeName" : "AWS::Events::Rule", + "description" : "Resource Type definition for AWS::Events::Rule", + "additionalProperties" : false, + "properties" : { + "EventBusName" : { + "type" : "string" }, - "create" : { - "permissions" : [ "iam:PassRole", "events:DescribeRule", "events:PutRule", "events:PutTargets" ] + "EventPattern" : { + "type" : "object" }, - "update" : { - "permissions" : [ "iam:PassRole", "events:DescribeRule", "events:PutRule", "events:RemoveTargets", "events:PutTargets" ] + "ScheduleExpression" : { + "type" : "string" }, - "list" : { - "permissions" : [ "events:ListRules" ] + "Description" : { + "type" : "string" }, - "delete" : { - "permissions" : [ "iam:PassRole", "events:DescribeRule", "events:DeleteRule", "events:RemoveTargets", "events:ListTargetsByRule" ] + "State" : { + "type" : "string" + }, + "Targets" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/Target" + } + }, + "Id" : { + "type" : "string" + }, + "Arn" : { + "type" : "string" + }, + "RoleArn" : { + "type" : "string" + }, + "Name" : { + "type" : "string" } }, - "typeName" : "AWS::Events::Rule", - "readOnlyProperties" : [ "/properties/Arn" ], - "description" : "Resource Type definition for AWS::Events::Rule", - "createOnlyProperties" : [ "/properties/Name" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/Arn" ], "definitions" : { "CapacityProviderStrategyItem" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "CapacityProvider" : { - "type" : "string" - }, "Base" : { "type" : "integer" }, "Weight" : { "type" : "integer" + }, + "CapacityProvider" : { + "type" : "string" } }, "required" : [ "CapacityProvider" ] }, "HttpParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "PathParameterValues" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "type" : "string" } }, "HeaderParameters" : { + "type" : "object", "patternProperties" : { "[a-zA-Z0-9]+" : { "type" : "string" } - }, - "additionalProperties" : false, - "type" : "object" + } }, "QueryStringParameters" : { + "type" : "object", "patternProperties" : { "[a-zA-Z0-9]+" : { "type" : "string" } - }, - "additionalProperties" : false, - "type" : "object" + } } } }, "DeadLetterConfig" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Arn" : { "type" : "string" @@ -84,13 +94,12 @@ } }, "RunCommandParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "RunCommandTargets" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/RunCommandTarget" } @@ -99,8 +108,8 @@ "required" : [ "RunCommandTargets" ] }, "PlacementStrategy" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Field" : { "type" : "string" @@ -111,27 +120,26 @@ } }, "InputTransformer" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { + "InputTemplate" : { + "type" : "string" + }, "InputPathsMap" : { + "type" : "object", "patternProperties" : { "[a-zA-Z0-9]+" : { "type" : "string" } - }, - "additionalProperties" : false, - "type" : "object" - }, - "InputTemplate" : { - "type" : "string" + } } }, "required" : [ "InputTemplate" ] }, "KinesisParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "PartitionKeyPath" : { "type" : "string" @@ -140,8 +148,8 @@ "required" : [ "PartitionKeyPath" ] }, "BatchRetryStrategy" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Attempts" : { "type" : "integer" @@ -149,20 +157,12 @@ } }, "RedshiftDataParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "StatementName" : { "type" : "string" }, - "Sqls" : { - "uniqueItems" : false, - "insertionOrder" : true, - "type" : "array", - "items" : { - "type" : "string" - } - }, "Database" : { "type" : "string" }, @@ -182,8 +182,8 @@ "required" : [ "Database" ] }, "Target" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "InputPath" : { "type" : "string" @@ -237,33 +237,31 @@ "required" : [ "Id", "Arn" ] }, "PlacementConstraint" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "Type" : { + "Expression" : { "type" : "string" }, - "Expression" : { + "Type" : { "type" : "string" } } }, "AwsVpcConfiguration" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "SecurityGroups" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "type" : "string" } }, "Subnets" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "type" : "string" } @@ -275,8 +273,8 @@ "required" : [ "Subnets" ] }, "SqsParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "MessageGroupId" : { "type" : "string" @@ -285,13 +283,12 @@ "required" : [ "MessageGroupId" ] }, "RunCommandTarget" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Values" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "type" : "string" } @@ -303,8 +300,8 @@ "required" : [ "Values", "Key" ] }, "EcsParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "PlatformVersion" : { "type" : "string" @@ -319,9 +316,8 @@ "type" : "boolean" }, "PlacementConstraints" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/PlacementConstraint" } @@ -333,17 +329,15 @@ "type" : "integer" }, "PlacementStrategies" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/PlacementStrategy" } }, "CapacityProviderStrategy" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/CapacityProviderStrategyItem" } @@ -355,9 +349,8 @@ "type" : "string" }, "TagList" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/Tag" } @@ -372,18 +365,18 @@ "required" : [ "TaskDefinitionArn" ] }, "BatchParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "ArrayProperties" : { - "$ref" : "#/definitions/BatchArrayProperties" - }, "JobName" : { "type" : "string" }, "RetryStrategy" : { "$ref" : "#/definitions/BatchRetryStrategy" }, + "ArrayProperties" : { + "$ref" : "#/definitions/BatchArrayProperties" + }, "JobDefinition" : { "type" : "string" } @@ -391,8 +384,8 @@ "required" : [ "JobName", "JobDefinition" ] }, "NetworkConfiguration" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "AwsVpcConfiguration" : { "$ref" : "#/definitions/AwsVpcConfiguration" @@ -400,8 +393,8 @@ } }, "Tag" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Value" : { "type" : "string" @@ -412,13 +405,12 @@ } }, "SageMakerPipelineParameters" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "PipelineParameterList" : { - "uniqueItems" : true, - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/SageMakerPipelineParameter" } @@ -426,20 +418,20 @@ } }, "RetryPolicy" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "MaximumRetryAttempts" : { + "MaximumEventAgeInSeconds" : { "type" : "integer" }, - "MaximumEventAgeInSeconds" : { + "MaximumRetryAttempts" : { "type" : "integer" } } }, "BatchArrayProperties" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Size" : { "type" : "integer" @@ -447,8 +439,8 @@ } }, "SageMakerPipelineParameter" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Value" : { "type" : "string" @@ -460,49 +452,7 @@ "required" : [ "Value", "Name" ] } }, - "properties" : { - "EventBusName" : { - "description" : "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.", - "type" : "string" - }, - "EventPattern" : { - "description" : "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.", - "type" : [ "string", "object" ] - }, - "ScheduleExpression" : { - "description" : "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule.", - "type" : "string" - }, - "Description" : { - "description" : "The description of the rule.", - "type" : "string" - }, - "State" : { - "description" : "The state of the rule.", - "type" : "string", - "enum" : [ "DISABLED", "ENABLED" ] - }, - "Targets" : { - "uniqueItems" : true, - "description" : "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Target" - } - }, - "Arn" : { - "description" : "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example.", - "type" : "string" - }, - "RoleArn" : { - "description" : "The Amazon Resource Name (ARN) of the role that is used for target invocation.", - "type" : "string" - }, - "Name" : { - "description" : "The name of the rule.", - "type" : "string" - } - }, - "conditionalCreateOnlyProperties" : [ "/properties/EventBusName" ] + "createOnlyProperties" : [ "/properties/Name", "/properties/EventBusName" ], + "primaryIdentifier" : [ "/properties/Id" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-gamelift-fleet.json b/aws-cloudformation-schema/aws-gamelift-fleet.json index baabfdef41..e11febf50f 100644 --- a/aws-cloudformation-schema/aws-gamelift-fleet.json +++ b/aws-cloudformation-schema/aws-gamelift-fleet.json @@ -1,102 +1,82 @@ { "$schema" : "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "deprecatedProperties" : [ "/properties/LogPaths", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath" ], - "taggable" : true, "typeName" : "AWS::GameLift::Fleet", - "readOnlyProperties" : [ "/properties/FleetId" ], "description" : "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions.", - "createOnlyProperties" : [ "/properties/BuildId", "/properties/CertificateConfiguration", "/properties/EC2InstanceType", "/properties/FleetType", "/properties/InstanceRoleARN", "/properties/LogPaths", "/properties/PeerVpcAwsAccountId", "/properties/PeerVpcId", "/properties/ScriptId", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath", "/properties/CertificateType", "/properties/ComputeType" ], - "primaryIdentifier" : [ "/properties/FleetId" ], - "required" : [ "Name" ], "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "handlers" : { - "read" : { - "permissions" : [ "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes", "gamelift:DescribeFleetCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetUtilization", "gamelift:DescribeRuntimeConfiguration", "gamelift:DescribeEC2InstanceLimits", "gamelift:DescribeFleetEvents" ] - }, - "create" : { - "permissions" : [ "gamelift:CreateFleet", "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes" ] - }, - "update" : { - "permissions" : [ "gamelift:UpdateFleetAttributes", "gamelift:CreateFleetLocations", "gamelift:DeleteFleetLocations", "gamelift:UpdateFleetCapacity", "gamelift:UpdateFleetPortSettings", "gamelift:UpdateRuntimeConfiguration", "gamelift:DescribeFleetLocationCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetLocationAttributes" ] - }, - "list" : { - "permissions" : [ "gamelift:ListFleets" ] - }, - "delete" : { - "permissions" : [ "gamelift:DeleteFleet", "gamelift:DescribeFleetLocationCapacity" ] - } - }, - "additionalProperties" : false, "definitions" : { - "ServerProcess" : { - "description" : "A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "ConcurrentExecutions" : { - "description" : "The number of server processes that use this configuration to run concurrently on an instance.", - "type" : "integer", - "minimum" : 1 - }, - "Parameters" : { - "minLength" : 1, - "description" : "An optional list of parameters to pass to the server executable or Realtime script on launch.", - "type" : "string", - "maxLength" : 1024 - }, - "LaunchPath" : { - "minLength" : 1, - "pattern" : "^([Cc]:\\\\game\\S+|/local/game/\\S+)", - "description" : "The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:\n\nWindows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"\n\nLinux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"", - "type" : "string", - "maxLength" : 1024 - } - }, - "required" : [ "ConcurrentExecutions", "LaunchPath" ] - }, "AnywhereConfiguration" : { "description" : "Configuration for Anywhere fleet.", - "additionalProperties" : false, "properties" : { "Cost" : { - "minLength" : 1, - "pattern" : "^\\d{1,5}(?:\\.\\d{1,5})?$", "description" : "Cost of compute can be specified on Anywhere Fleets to prioritize placement across Queue destinations based on Cost.", "type" : "string", + "pattern" : "^\\d{1,5}(?:\\.\\d{1,5})?$", + "minLength" : 1, "maxLength" : 11 } }, + "additionalProperties" : false, "required" : [ "Cost" ] }, - "ResourceCreationLimitPolicy" : { - "description" : "A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".\n\nThe policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.", + "CertificateConfiguration" : { + "description" : "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.", + "type" : "object", + "properties" : { + "CertificateType" : { + "type" : "string", + "enum" : [ "DISABLED", "GENERATED" ] + } + }, "additionalProperties" : false, + "required" : [ "CertificateType" ] + }, + "IpPermission" : { + "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", "type" : "object", "properties" : { - "PolicyPeriodInMinutes" : { - "description" : "The time span used in evaluating the resource creation limit policy.", + "FromPort" : { + "description" : "A starting value for a range of allowed port numbers.", "type" : "integer", - "minimum" : 0 + "minimum" : 1, + "maximum" : 60000 }, - "NewGameSessionsPerCreator" : { - "description" : "The maximum number of game sessions that an individual can create during the policy period.", + "IpRange" : { + "description" : "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".", + "type" : "string", + "pattern" : "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)" + }, + "Protocol" : { + "description" : "The network communication protocol used by the fleet.", + "type" : "string", + "enum" : [ "TCP", "UDP" ] + }, + "ToPort" : { + "description" : "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", "type" : "integer", - "minimum" : 0 + "minimum" : 1, + "maximum" : 60000 } - } + }, + "additionalProperties" : false, + "required" : [ "FromPort", "IpRange", "Protocol", "ToPort" ] + }, + "Location" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 64, + "pattern" : "^[A-Za-z0-9\\-]+" }, "LocationCapacity" : { "description" : "Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.", - "additionalProperties" : false, "type" : "object", "properties" : { - "MinSize" : { - "description" : "The minimum value allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", + "DesiredEC2Instances" : { + "description" : "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.", "type" : "integer", "minimum" : 0 }, - "DesiredEC2Instances" : { - "description" : "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.", + "MinSize" : { + "description" : "The minimum value allowed for the fleet's instance count for a location. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", "type" : "integer", "minimum" : 0 }, @@ -106,244 +86,269 @@ "minimum" : 0 } }, + "additionalProperties" : false, "required" : [ "DesiredEC2Instances", "MinSize", "MaxSize" ] }, - "CertificateConfiguration" : { - "description" : "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.", - "additionalProperties" : false, + "LocationConfiguration" : { + "description" : "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.", "type" : "object", "properties" : { - "CertificateType" : { - "type" : "string", - "enum" : [ "DISABLED", "GENERATED" ] + "Location" : { + "$ref" : "#/definitions/Location" + }, + "LocationCapacity" : { + "$ref" : "#/definitions/LocationCapacity" } }, - "required" : [ "CertificateType" ] - }, - "IpPermission" : { - "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", "additionalProperties" : false, + "required" : [ "Location" ] + }, + "ResourceCreationLimitPolicy" : { + "description" : "A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".\n\nThe policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.", "type" : "object", "properties" : { - "IpRange" : { - "pattern" : "(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$)", - "description" : "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".", - "type" : "string" - }, - "FromPort" : { - "description" : "A starting value for a range of allowed port numbers.", - "maximum" : 60000, + "NewGameSessionsPerCreator" : { + "description" : "The maximum number of game sessions that an individual can create during the policy period.", "type" : "integer", - "minimum" : 1 + "minimum" : 0 }, - "ToPort" : { - "description" : "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", - "maximum" : 60000, + "PolicyPeriodInMinutes" : { + "description" : "The time span used in evaluating the resource creation limit policy.", "type" : "integer", - "minimum" : 1 - }, - "Protocol" : { - "description" : "The network communication protocol used by the fleet.", - "type" : "string", - "enum" : [ "TCP", "UDP" ] + "minimum" : 0 } }, - "required" : [ "FromPort", "IpRange", "Protocol", "ToPort" ] + "additionalProperties" : false }, "RuntimeConfiguration" : { "description" : "A collection of server process configurations that describe the processes to run on each instance in a fleet. All fleets must have a runtime configuration. Each instance in the fleet maintains server processes as specified in the runtime configuration, launching new ones as existing processes end. Each instance regularly checks for an updated runtime configuration makes adjustments as called for.\n\nThe runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different executables, such as your game server and a metrics tracking program. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.\n\nAn Amazon GameLift instance is limited to 50 processes running simultaneously. A runtime configuration must specify fewer than this limit. To calculate the total number of processes specified in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the runtime configuration.", - "additionalProperties" : false, "type" : "object", "properties" : { - "ServerProcesses" : { - "maxItems" : 50, - "description" : "A collection of server process configurations that describe which server processes to run on each instance in a fleet.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/ServerProcess" - } + "GameSessionActivationTimeoutSeconds" : { + "description" : "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.", + "type" : "integer", + "minimum" : 1, + "maximum" : 600 }, "MaxConcurrentGameSessionActivations" : { "description" : "The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.", - "maximum" : 2147483647, "type" : "integer", - "minimum" : 1 + "minimum" : 1, + "maximum" : 2147483647 }, - "GameSessionActivationTimeoutSeconds" : { - "description" : "The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.", - "maximum" : 600, - "type" : "integer", - "minimum" : 1 + "ServerProcesses" : { + "description" : "A collection of server process configurations that describe which server processes to run on each instance in a fleet.", + "type" : "array", + "maxItems" : 50, + "items" : { + "$ref" : "#/definitions/ServerProcess" + }, + "insertionOrder" : false } - } - }, - "Location" : { - "minLength" : 1, - "pattern" : "^[A-Za-z0-9\\-]+", - "type" : "string", - "maxLength" : 64 + }, + "additionalProperties" : false }, - "LocationConfiguration" : { - "description" : "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.", - "additionalProperties" : false, + "ServerProcess" : { + "description" : "A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration.", "type" : "object", "properties" : { - "LocationCapacity" : { - "$ref" : "#/definitions/LocationCapacity" + "ConcurrentExecutions" : { + "description" : "The number of server processes that use this configuration to run concurrently on an instance.", + "type" : "integer", + "minimum" : 1 }, - "Location" : { - "$ref" : "#/definitions/Location" + "LaunchPath" : { + "description" : "The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:\n\nWindows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"\n\nLinux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024, + "pattern" : "^([Cc]:\\\\game\\S+|/local/game/\\S+)" + }, + "Parameters" : { + "description" : "An optional list of parameters to pass to the server executable or Realtime script on launch.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 } }, - "required" : [ "Location" ] + "additionalProperties" : false, + "required" : [ "ConcurrentExecutions", "LaunchPath" ] } }, "properties" : { - "Description" : { - "minLength" : 1, - "description" : "A human-readable description of a fleet.", - "type" : "string", - "maxLength" : 1024 - }, - "PeerVpcId" : { - "minLength" : 1, - "pattern" : "^vpc-\\S+", - "description" : "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.", - "type" : "string", - "maxLength" : 1024 + "AnywhereConfiguration" : { + "description" : "Configuration for Anywhere fleet.", + "$ref" : "#/definitions/AnywhereConfiguration" }, - "EC2InboundPermissions" : { - "maxItems" : 50, - "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/IpPermission" - } + "CertificateConfiguration" : { + "description" : "Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created.", + "$ref" : "#/definitions/CertificateConfiguration" }, "ComputeType" : { "description" : "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.", "type" : "string", "enum" : [ "EC2", "ANYWHERE" ] }, - "Name" : { - "minLength" : 1, - "description" : "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.", + "Description" : { + "description" : "A human-readable description of a fleet.", "type" : "string", - "maxLength" : 1024 - }, - "AnywhereConfiguration" : { - "description" : "Configuration for Anywhere fleet.", - "$ref" : "#/definitions/AnywhereConfiguration" - }, - "InstanceRoleARN" : { "minLength" : 1, - "pattern" : "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$", - "description" : "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", - "type" : "string" - }, - "FleetId" : { - "pattern" : "^fleet-\\S+", - "description" : "Unique fleet ID", - "type" : "string" - }, - "CertificateConfiguration" : { - "description" : "Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created.", - "$ref" : "#/definitions/CertificateConfiguration" + "maxLength" : 1024 }, "DesiredEC2Instances" : { "description" : "[DEPRECATED] The number of EC2 instances that you want this fleet to host. When creating a new fleet, GameLift automatically sets this value to \"1\" and initiates a single instance. Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet.", "type" : "integer", "minimum" : 0 }, - "ServerLaunchParameters" : { - "minLength" : 1, - "description" : "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.", + "EC2InboundPermissions" : { + "description" : "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.", + "type" : "array", + "maxItems" : 50, + "items" : { + "$ref" : "#/definitions/IpPermission" + }, + "insertionOrder" : false + }, + "EC2InstanceType" : { + "description" : "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.", "type" : "string", - "maxLength" : 1024 + "pattern" : "^.*..*$" }, "FleetType" : { "description" : "Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.", "type" : "string", "enum" : [ "ON_DEMAND", "SPOT" ] }, + "InstanceRoleARN" : { + "description" : "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", + "type" : "string", + "minLength" : 1, + "pattern" : "^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" + }, + "InstanceRoleCredentialsProvider" : { + "description" : "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "type" : "string", + "enum" : [ "SHARED_CREDENTIAL_FILE" ] + }, "Locations" : { + "type" : "array", "minItems" : 1, "maxItems" : 100, - "insertionOrder" : false, - "type" : "array", "items" : { "$ref" : "#/definitions/LocationConfiguration" - } - }, - "NewGameSessionProtectionPolicy" : { - "description" : "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.", - "type" : "string", - "enum" : [ "FullProtection", "NoProtection" ] + }, + "insertionOrder" : false }, - "ScriptId" : { - "pattern" : "^script-\\S+|^arn:.*:script/script-\\S+", - "description" : "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.", - "type" : "string" + "LogPaths" : { + "description" : "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()", + "type" : "array", + "items" : { + "type" : "string" + }, + "insertionOrder" : false }, "MaxSize" : { "description" : "[DEPRECATED] The maximum value that is allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"1\". Once the fleet is active, you can change this value.", "type" : "integer", "minimum" : 0 }, - "RuntimeConfiguration" : { - "description" : "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.", - "$ref" : "#/definitions/RuntimeConfiguration" - }, - "LogPaths" : { - "description" : "This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()", - "insertionOrder" : false, + "MetricGroups" : { + "description" : "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.", "type" : "array", + "maxItems" : 1, "items" : { "type" : "string" - } - }, - "ServerLaunchPath" : { - "minLength" : 1, - "description" : "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.", - "type" : "string", - "maxLength" : 1024 + }, + "insertionOrder" : false }, "MinSize" : { "description" : "[DEPRECATED] The minimum value allowed for the fleet's instance count. When creating a new fleet, GameLift automatically sets this value to \"0\". After the fleet is active, you can change this value.", "type" : "integer", "minimum" : 0 }, - "PeerVpcAwsAccountId" : { - "minLength" : 1, - "pattern" : "^[0-9]{12}$", - "description" : "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.", + "Name" : { + "description" : "A descriptive label that is associated with a fleet. Fleet names do not need to be unique.", "type" : "string", + "minLength" : 1, "maxLength" : 1024 }, - "MetricGroups" : { - "maxItems" : 1, - "description" : "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "type" : "string" - } + "NewGameSessionProtectionPolicy" : { + "description" : "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.", + "type" : "string", + "enum" : [ "FullProtection", "NoProtection" ] }, - "BuildId" : { - "pattern" : "^build-\\S+|^arn:.*:build/build-\\S+", - "description" : "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", - "type" : "string" + "PeerVpcAwsAccountId" : { + "description" : "A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024, + "pattern" : "^[0-9]{12}$" + }, + "PeerVpcId" : { + "description" : "A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024, + "pattern" : "^vpc-\\S+" }, "ResourceCreationLimitPolicy" : { "description" : "A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.", "$ref" : "#/definitions/ResourceCreationLimitPolicy" }, - "EC2InstanceType" : { - "pattern" : "^.*..*$", - "description" : "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.", - "type" : "string" + "FleetId" : { + "description" : "Unique fleet ID", + "type" : "string", + "pattern" : "^fleet-\\S+" + }, + "BuildId" : { + "description" : "A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.", + "type" : "string", + "pattern" : "^build-\\S+|^arn:.*:build/build-\\S+" + }, + "ScriptId" : { + "description" : "A unique identifier for a Realtime script to be deployed on a new Realtime Servers fleet. The script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.\n\nNote: It is not currently possible to use the !Ref command to reference a script created with a CloudFormation template for the fleet property ScriptId. Instead, use Fn::GetAtt Script.Arn or Fn::GetAtt Script.Id to retrieve either of these properties as input for ScriptId. Alternatively, enter a ScriptId string manually.", + "type" : "string", + "pattern" : "^script-\\S+|^arn:.*:script/script-\\S+" + }, + "RuntimeConfiguration" : { + "description" : "Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception.\n\nThis parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration has replaced these parameters, but fleets that use them will continue to work.", + "$ref" : "#/definitions/RuntimeConfiguration" + }, + "ServerLaunchParameters" : { + "description" : "This parameter is no longer used but is retained for backward compatibility. Instead, specify server launch parameters in the RuntimeConfiguration parameter. A request must specify either a runtime configuration or values for both ServerLaunchParameters and ServerLaunchPath.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 + }, + "ServerLaunchPath" : { + "description" : "This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.", + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 } - } + }, + "required" : [ "Name" ], + "additionalProperties" : false, + "createOnlyProperties" : [ "/properties/BuildId", "/properties/CertificateConfiguration", "/properties/EC2InstanceType", "/properties/FleetType", "/properties/InstanceRoleARN", "/properties/InstanceRoleCredentialsProvider", "/properties/LogPaths", "/properties/PeerVpcAwsAccountId", "/properties/PeerVpcId", "/properties/ScriptId", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath", "/properties/CertificateType", "/properties/ComputeType" ], + "deprecatedProperties" : [ "/properties/LogPaths", "/properties/ServerLaunchParameters", "/properties/ServerLaunchPath" ], + "readOnlyProperties" : [ "/properties/FleetId" ], + "primaryIdentifier" : [ "/properties/FleetId" ], + "handlers" : { + "create" : { + "permissions" : [ "gamelift:CreateFleet", "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes" ] + }, + "read" : { + "permissions" : [ "gamelift:DescribeFleetAttributes", "gamelift:DescribeFleetLocationAttributes", "gamelift:DescribeFleetCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetUtilization", "gamelift:DescribeRuntimeConfiguration", "gamelift:DescribeEC2InstanceLimits", "gamelift:DescribeFleetEvents" ] + }, + "update" : { + "permissions" : [ "gamelift:UpdateFleetAttributes", "gamelift:CreateFleetLocations", "gamelift:DeleteFleetLocations", "gamelift:UpdateFleetCapacity", "gamelift:UpdateFleetPortSettings", "gamelift:UpdateRuntimeConfiguration", "gamelift:DescribeFleetLocationCapacity", "gamelift:DescribeFleetPortSettings", "gamelift:DescribeFleetLocationAttributes" ] + }, + "delete" : { + "permissions" : [ "gamelift:DeleteFleet", "gamelift:DescribeFleetLocationCapacity" ] + }, + "list" : { + "permissions" : [ "gamelift:ListFleets" ] + } + }, + "taggable" : true } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-iot-policy.json b/aws-cloudformation-schema/aws-iot-policy.json index 71c1298b23..4db11c482d 100644 --- a/aws-cloudformation-schema/aws-iot-policy.json +++ b/aws-cloudformation-schema/aws-iot-policy.json @@ -1,12 +1,28 @@ { "typeName" : "AWS::IoT::Policy", "description" : "Resource Type definition for AWS::IoT::Policy", + "definitions" : { + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string" + }, + "Value" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "Key", "Value" ] + } + }, "additionalProperties" : false, "tagging" : { - "taggable" : false, - "tagOnCreate" : false, - "tagUpdatable" : false, - "cloudFormationSystemTags" : false + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" }, "properties" : { "Id" : { @@ -22,6 +38,13 @@ }, "PolicyName" : { "type" : "string" + }, + "Tags" : { + "type" : "array", + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Tag" + } } }, "required" : [ "PolicyDocument" ], @@ -30,16 +53,16 @@ "primaryIdentifier" : [ "/properties/Id" ], "handlers" : { "create" : { - "permissions" : [ "iot:CreatePolicy", "iot:GetPolicy" ] + "permissions" : [ "iot:CreatePolicy", "iot:GetPolicy", "iot:TagResource", "iot:ListTagsForResource" ] }, "read" : { - "permissions" : [ "iot:GetPolicy" ] + "permissions" : [ "iot:GetPolicy", "iot:ListTagsForResource" ] }, "delete" : { "permissions" : [ "iot:DeletePolicy", "iot:GetPolicy", "iot:ListPolicyVersions", "iot:DeletePolicyVersion" ] }, "update" : { - "permissions" : [ "iot:ListPolicyVersions", "iot:CreatePolicyVersion", "iot:DeletePolicyVersion", "iot:SetDefaultPolicyVersion" ] + "permissions" : [ "iot:GetPolicy", "iot:ListPolicyVersions", "iot:CreatePolicyVersion", "iot:DeletePolicyVersion", "iot:SetDefaultPolicyVersion", "iot:TagResource", "iot:UntagResource", "iot:ListTagsForResource" ] }, "list" : { "permissions" : [ "iot:ListPolicies" ] diff --git a/aws-cloudformation-schema/aws-lambda-function.json b/aws-cloudformation-schema/aws-lambda-function.json index 4e12107a5a..b1f28abb6b 100644 --- a/aws-cloudformation-schema/aws-lambda-function.json +++ b/aws-cloudformation-schema/aws-lambda-function.json @@ -11,10 +11,10 @@ "permissions" : [ "lambda:GetFunction", "lambda:GetFunctionCodeSigningConfig" ] }, "create" : { - "permissions" : [ "lambda:CreateFunction", "lambda:GetFunction", "lambda:PutFunctionConcurrency", "iam:PassRole", "s3:GetObject", "s3:GetObjectVersion", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticfilesystem:DescribeMountTargets", "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey", "lambda:GetCodeSigningConfig", "lambda:GetFunctionCodeSigningConfig", "lambda:GetLayerVersion", "lambda:GetRuntimeManagementConfig", "lambda:PutRuntimeManagementConfig", "lambda:TagResource" ] + "permissions" : [ "lambda:CreateFunction", "lambda:GetFunction", "lambda:PutFunctionConcurrency", "iam:PassRole", "s3:GetObject", "s3:GetObjectVersion", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticfilesystem:DescribeMountTargets", "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey", "lambda:GetCodeSigningConfig", "lambda:GetFunctionCodeSigningConfig", "lambda:GetLayerVersion", "lambda:GetRuntimeManagementConfig", "lambda:PutRuntimeManagementConfig", "lambda:TagResource", "lambda:GetPolicy", "lambda:AddPermission", "lambda:RemovePermission", "lambda:GetResourcePolicy", "lambda:PutResourcePolicy" ] }, "update" : { - "permissions" : [ "lambda:DeleteFunctionConcurrency", "lambda:GetFunction", "lambda:PutFunctionConcurrency", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "lambda:UpdateFunctionConfiguration", "lambda:UpdateFunctionCode", "iam:PassRole", "s3:GetObject", "s3:GetObjectVersion", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticfilesystem:DescribeMountTargets", "kms:CreateGrant", "kms:Decrypt", "kms:GenerateDataKey", "lambda:GetRuntimeManagementConfig", "lambda:PutRuntimeManagementConfig", "lambda:PutFunctionCodeSigningConfig", "lambda:DeleteFunctionCodeSigningConfig", "lambda:GetCodeSigningConfig", "lambda:GetFunctionCodeSigningConfig" ] + "permissions" : [ "lambda:DeleteFunctionConcurrency", "lambda:GetFunction", "lambda:PutFunctionConcurrency", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "lambda:UpdateFunctionConfiguration", "lambda:UpdateFunctionCode", "iam:PassRole", "s3:GetObject", "s3:GetObjectVersion", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticfilesystem:DescribeMountTargets", "kms:CreateGrant", "kms:Decrypt", "kms:GenerateDataKey", "lambda:GetRuntimeManagementConfig", "lambda:PutRuntimeManagementConfig", "lambda:PutFunctionCodeSigningConfig", "lambda:DeleteFunctionCodeSigningConfig", "lambda:GetCodeSigningConfig", "lambda:GetFunctionCodeSigningConfig", "lambda:GetPolicy", "lambda:AddPermission", "lambda:RemovePermission", "lambda:GetResourcePolicy", "lambda:PutResourcePolicy", "lambda:DeleteResourcePolicy" ] }, "list" : { "permissions" : [ "lambda:ListFunctions" ] @@ -26,7 +26,7 @@ "typeName" : "AWS::Lambda::Function", "readOnlyProperties" : [ "/properties/SnapStartResponse", "/properties/SnapStartResponse/ApplyOn", "/properties/SnapStartResponse/OptimizationStatus", "/properties/Arn" ], "description" : "Resource Type definition for AWS::Lambda::Function in region", - "writeOnlyProperties" : [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", "/properties/Code", "/properties/Code/ImageUri", "/properties/Code/S3Bucket", "/properties/Code/S3Key", "/properties/Code/S3ObjectVersion", "/properties/Code/ZipFile" ], + "writeOnlyProperties" : [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", "/properties/Code", "/properties/Code/ImageUri", "/properties/Code/S3Bucket", "/properties/Code/S3Key", "/properties/Code/S3ObjectVersion", "/properties/Code/ZipFile", "/properties/Policy" ], "createOnlyProperties" : [ "/properties/FunctionName" ], "additionalProperties" : false, "primaryIdentifier" : [ "/properties/FunctionName" ], @@ -263,6 +263,10 @@ }, "required" : [ "Code", "Role" ], "properties" : { + "Policy" : { + "description" : "The resource policy of your function", + "type" : "object" + }, "Description" : { "description" : "A description of the function.", "type" : "string", diff --git a/aws-cloudformation-schema/aws-mediapackage-asset.json b/aws-cloudformation-schema/aws-mediapackage-asset.json index bf8f0c164e..da2652f931 100644 --- a/aws-cloudformation-schema/aws-mediapackage-asset.json +++ b/aws-cloudformation-schema/aws-mediapackage-asset.json @@ -84,13 +84,13 @@ "primaryIdentifier" : [ "/properties/Id" ], "handlers" : { "create" : { - "permissions" : [ "mediapackage-vod:CreateAsset", "mediapackage-vod:DescribeAsset", "mediapackage-vod:DescribePackagingGroup", "mediapackage-vod:TagResource", "iam:PassRole" ] + "permissions" : [ "mediapackage-vod:CreateAsset", "mediapackage-vod:DescribeAsset", "mediapackage-vod:TagResource", "iam:PassRole" ] }, "read" : { "permissions" : [ "mediapackage-vod:DescribeAsset" ] }, "delete" : { - "permissions" : [ "mediapackage-vod:DeleteAsset" ] + "permissions" : [ "mediapackage-vod:DescribeAsset", "mediapackage-vod:DeleteAsset" ] }, "list" : { "permissions" : [ "mediapackage-vod:ListAssets", "mediapackage-vod:DescribePackagingGroup" ] diff --git a/aws-cloudformation-schema/aws-quicksight-analysis.json b/aws-cloudformation-schema/aws-quicksight-analysis.json index 232b96b63b..67bf5d7e48 100644 --- a/aws-cloudformation-schema/aws-quicksight-analysis.json +++ b/aws-cloudformation-schema/aws-quicksight-analysis.json @@ -9308,6 +9308,20 @@ "required" : [ "ComputationId" ], "additionalProperties" : false }, + "ValidationStrategy" : { + "type" : "object", + "properties" : { + "Mode" : { + "$ref" : "#/definitions/ValidationStrategyMode" + } + }, + "required" : [ "Mode" ], + "additionalProperties" : false + }, + "ValidationStrategyMode" : { + "type" : "string", + "enum" : [ "STRICT", "LENIENT" ] + }, "ValueWhenUnsetOption" : { "type" : "string", "enum" : [ "RECOMMENDED_VALUE", "NULL" ] @@ -9910,10 +9924,13 @@ }, "ThemeArn" : { "type" : "string" + }, + "ValidationStrategy" : { + "$ref" : "#/definitions/ValidationStrategy" } }, "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedTime", "/properties/DataSetArns", "/properties/Errors", "/properties/Sheets", "/properties/LastUpdatedTime" ], - "writeOnlyProperties" : [ "/properties/Definition", "/properties/Parameters", "/properties/SourceEntity", "/properties/LastUpdatedTime", "/properties/Status", "/properties/Sheets" ], + "writeOnlyProperties" : [ "/properties/Definition", "/properties/Parameters", "/properties/SourceEntity", "/properties/LastUpdatedTime", "/properties/Status", "/properties/Sheets", "/properties/ValidationStrategy" ], "createOnlyProperties" : [ "/properties/AnalysisId", "/properties/AwsAccountId" ], "primaryIdentifier" : [ "/properties/AnalysisId", "/properties/AwsAccountId" ], "handlers" : { diff --git a/aws-cloudformation-schema/aws-quicksight-dashboard.json b/aws-cloudformation-schema/aws-quicksight-dashboard.json index 905f196e45..77ac38ae97 100644 --- a/aws-cloudformation-schema/aws-quicksight-dashboard.json +++ b/aws-cloudformation-schema/aws-quicksight-dashboard.json @@ -9499,6 +9499,20 @@ "required" : [ "ComputationId" ], "additionalProperties" : false }, + "ValidationStrategy" : { + "type" : "object", + "properties" : { + "Mode" : { + "$ref" : "#/definitions/ValidationStrategyMode" + } + }, + "required" : [ "Mode" ], + "additionalProperties" : false + }, + "ValidationStrategyMode" : { + "type" : "string", + "enum" : [ "STRICT", "LENIENT" ] + }, "ValueWhenUnsetOption" : { "type" : "string", "enum" : [ "RECOMMENDED_VALUE", "NULL" ] @@ -10101,6 +10115,9 @@ "ThemeArn" : { "type" : "string" }, + "ValidationStrategy" : { + "$ref" : "#/definitions/ValidationStrategy" + }, "Version" : { "$ref" : "#/definitions/DashboardVersion" }, @@ -10112,7 +10129,7 @@ }, "required" : [ "AwsAccountId", "DashboardId", "Name" ], "readOnlyProperties" : [ "/properties/DashboardError", "/properties/Arn", "/properties/CreatedTime", "/properties/LastPublishedTime", "/properties/LastUpdatedTime", "/properties/Version" ], - "writeOnlyProperties" : [ "/properties/DashboardPublishOptions", "/properties/Definition", "/properties/Parameters", "/properties/SourceEntity", "/properties/ThemeArn", "/properties/VersionDescription", "/properties/CreatedTime", "/properties/LastUpdatedTime" ], + "writeOnlyProperties" : [ "/properties/DashboardPublishOptions", "/properties/Definition", "/properties/Parameters", "/properties/SourceEntity", "/properties/ThemeArn", "/properties/VersionDescription", "/properties/CreatedTime", "/properties/LastUpdatedTime", "/properties/ValidationStrategy" ], "createOnlyProperties" : [ "/properties/AwsAccountId", "/properties/DashboardId" ], "primaryIdentifier" : [ "/properties/AwsAccountId", "/properties/DashboardId" ], "handlers" : { diff --git a/aws-cloudformation-schema/aws-quicksight-template.json b/aws-cloudformation-schema/aws-quicksight-template.json index fec0d3387a..9b7d843238 100644 --- a/aws-cloudformation-schema/aws-quicksight-template.json +++ b/aws-cloudformation-schema/aws-quicksight-template.json @@ -9324,6 +9324,20 @@ "required" : [ "ComputationId" ], "additionalProperties" : false }, + "ValidationStrategy" : { + "type" : "object", + "properties" : { + "Mode" : { + "$ref" : "#/definitions/ValidationStrategyMode" + } + }, + "required" : [ "Mode" ], + "additionalProperties" : false + }, + "ValidationStrategyMode" : { + "type" : "string", + "enum" : [ "STRICT", "LENIENT" ] + }, "ValueWhenUnsetOption" : { "type" : "string", "enum" : [ "RECOMMENDED_VALUE", "NULL" ] @@ -9895,6 +9909,9 @@ "minLength" : 1, "pattern" : "[\\w\\-]+" }, + "ValidationStrategy" : { + "$ref" : "#/definitions/ValidationStrategy" + }, "Version" : { "$ref" : "#/definitions/TemplateVersion" }, @@ -9905,7 +9922,7 @@ } }, "readOnlyProperties" : [ "/properties/TemplateError", "/properties/Arn", "/properties/CreatedTime", "/properties/LastUpdatedTime", "/properties/Version" ], - "writeOnlyProperties" : [ "/properties/Definition", "/properties/VersionDescription", "/properties/SourceEntity", "/properties/CreatedTime", "/properties/Version", "/properties/LastUpdatedTime" ], + "writeOnlyProperties" : [ "/properties/Definition", "/properties/VersionDescription", "/properties/SourceEntity", "/properties/CreatedTime", "/properties/Version", "/properties/LastUpdatedTime", "/properties/ValidationStrategy" ], "createOnlyProperties" : [ "/properties/AwsAccountId", "/properties/TemplateId" ], "primaryIdentifier" : [ "/properties/AwsAccountId", "/properties/TemplateId" ], "handlers" : { diff --git a/aws-cloudformation-schema/aws-sagemaker-dataqualityjobdefinition.json b/aws-cloudformation-schema/aws-sagemaker-dataqualityjobdefinition.json index 43e1c7d1c2..fd55384668 100644 --- a/aws-cloudformation-schema/aws-sagemaker-dataqualityjobdefinition.json +++ b/aws-cloudformation-schema/aws-sagemaker-dataqualityjobdefinition.json @@ -195,6 +195,11 @@ "type" : "string", "description" : "Whether the Pipe or File is used as the input mode for transfering data for the monitoring job. Pipe mode is recommended for large datasets. File mode is useful for small files that fit in memory. Defaults to File.", "enum" : [ "Pipe", "File" ] + }, + "ExcludeFeaturesAttribute" : { + "type" : "string", + "description" : "Indexes or names of the features to be excluded from analysis", + "maxLength" : 100 } }, "required" : [ "EndpointName", "LocalPath" ] @@ -228,6 +233,11 @@ "type" : "string", "description" : "Whether the Pipe or File is used as the input mode for transfering data for the monitoring job. Pipe mode is recommended for large datasets. File mode is useful for small files that fit in memory. Defaults to File.", "enum" : [ "Pipe", "File" ] + }, + "ExcludeFeaturesAttribute" : { + "type" : "string", + "description" : "Indexes or names of the features to be excluded from analysis", + "maxLength" : 100 } }, "required" : [ "DataCapturedDestinationS3Uri", "DatasetFormat", "LocalPath" ] diff --git a/aws-cloudformation-schema/aws-sagemaker-monitoringschedule.json b/aws-cloudformation-schema/aws-sagemaker-monitoringschedule.json index c50f41288a..09f0e3dfb5 100644 --- a/aws-cloudformation-schema/aws-sagemaker-monitoringschedule.json +++ b/aws-cloudformation-schema/aws-sagemaker-monitoringschedule.json @@ -264,6 +264,11 @@ "type" : "string", "description" : "Whether the Pipe or File is used as the input mode for transfering data for the monitoring job. Pipe mode is recommended for large datasets. File mode is useful for small files that fit in memory. Defaults to File.", "enum" : [ "Pipe", "File" ] + }, + "ExcludeFeaturesAttribute" : { + "type" : "string", + "description" : "Indexes or names of the features to be excluded from analysis", + "maxLength" : 100 } }, "required" : [ "EndpointName", "LocalPath" ] @@ -297,6 +302,11 @@ "type" : "string", "description" : "Whether the Pipe or File is used as the input mode for transfering data for the monitoring job. Pipe mode is recommended for large datasets. File mode is useful for small files that fit in memory. Defaults to File.", "enum" : [ "Pipe", "File" ] + }, + "ExcludeFeaturesAttribute" : { + "type" : "string", + "description" : "Indexes or names of the features to be excluded from analysis", + "maxLength" : 100 } }, "required" : [ "DataCapturedDestinationS3Uri", "DatasetFormat", "LocalPath" ] @@ -469,14 +479,29 @@ "description" : "Configuration details about the monitoring schedule.", "properties" : { "ScheduleExpression" : { - "description" : "A cron expression that describes details about the monitoring schedule.", + "description" : "A cron expression or 'NOW' that describes details about the monitoring schedule.", "type" : "string", "minLength" : 1, "maxLength" : 256 + }, + "DataAnalysisStartTime" : { + "description" : "Data Analysis start time, e.g. -PT1H", + "$ref" : "#/definitions/DataAnalysisTimeString" + }, + "DataAnalysisEndTime" : { + "description" : "Data Analysis end time, e.g. PT0H", + "$ref" : "#/definitions/DataAnalysisTimeString" } }, "required" : [ "ScheduleExpression" ] }, + "DataAnalysisTimeString" : { + "type" : "string", + "description" : "Analysis time in ISO duration format", + "pattern" : "^.?P.*", + "minLength" : 1, + "maxLength" : 15 + }, "Tag" : { "description" : "A key-value pair to associate with a resource.", "type" : "object", diff --git a/aws-cloudformation-schema/aws-servicecatalogappregistry-attributegroupassociation.json b/aws-cloudformation-schema/aws-servicecatalogappregistry-attributegroupassociation.json index e1e9fd92d1..722f680ef9 100644 --- a/aws-cloudformation-schema/aws-servicecatalogappregistry-attributegroupassociation.json +++ b/aws-cloudformation-schema/aws-servicecatalogappregistry-attributegroupassociation.json @@ -1,7 +1,7 @@ { "typeName" : "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation", "description" : "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation.", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-servicecatalog-appregistry.git", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-servicecatalog-appregistry", "documentationUrl" : "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-appregistry-attributegroupassociation.html", "properties" : { "Application" : { @@ -25,26 +25,39 @@ "AttributeGroupArn" : { "type" : "string", "pattern" : "arn:aws[-a-z]*:servicecatalog:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:/attribute-groups/[a-z0-9]+" - }, - "Id" : { - "type" : "string" } }, "additionalProperties" : false, "required" : [ "Application", "AttributeGroup" ], - "readOnlyProperties" : [ "/properties/ApplicationArn", "/properties/AttributeGroupArn", "/properties/Id" ], + "readOnlyProperties" : [ "/properties/ApplicationArn", "/properties/AttributeGroupArn" ], "createOnlyProperties" : [ "/properties/Application", "/properties/AttributeGroup" ], - "primaryIdentifier" : [ "/properties/Id" ], - "taggable" : false, + "primaryIdentifier" : [ "/properties/ApplicationArn", "/properties/AttributeGroupArn" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, "handlers" : { "create" : { "permissions" : [ "servicecatalog:AssociateAttributeGroup" ] }, "read" : { - "permissions" : [ "servicecatalog:ListAssociatedAttributeGroups" ] + "permissions" : [ "servicecatalog:ListAttributeGroupsForApplication" ] }, "delete" : { "permissions" : [ "servicecatalog:DisassociateAttributeGroup" ] + }, + "list" : { + "permissions" : [ "servicecatalog:ListAttributeGroupsForApplication" ], + "handlerSchema" : { + "properties" : { + "ApplicationArn" : { + "$ref" : "resource-schema.json#/properties/ApplicationArn" + } + }, + "required" : [ "ApplicationArn" ] + } } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-servicecatalogappregistry-resourceassociation.json b/aws-cloudformation-schema/aws-servicecatalogappregistry-resourceassociation.json index 6e8f5c6479..2447d706ee 100644 --- a/aws-cloudformation-schema/aws-servicecatalogappregistry-resourceassociation.json +++ b/aws-cloudformation-schema/aws-servicecatalogappregistry-resourceassociation.json @@ -1,7 +1,7 @@ { "typeName" : "AWS::ServiceCatalogAppRegistry::ResourceAssociation", "description" : "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-servicecatalog-appregistry.git", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-servicecatalog-appregistry", "documentationUrl" : "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-appregistry-resourceassociation.html", "properties" : { "Application" : { @@ -28,17 +28,19 @@ "ResourceArn" : { "type" : "string", "pattern" : "arn:aws[-a-z]*:cloudformation:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:stack/[a-zA-Z][-A-Za-z0-9]{0,127}/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}" - }, - "Id" : { - "type" : "string" } }, "additionalProperties" : false, "required" : [ "Application", "Resource", "ResourceType" ], - "readOnlyProperties" : [ "/properties/ApplicationArn", "/properties/ResourceArn", "/properties/Id" ], + "readOnlyProperties" : [ "/properties/ApplicationArn", "/properties/ResourceArn" ], "createOnlyProperties" : [ "/properties/Application", "/properties/Resource", "/properties/ResourceType" ], - "primaryIdentifier" : [ "/properties/Id" ], - "taggable" : false, + "primaryIdentifier" : [ "/properties/ApplicationArn", "/properties/ResourceArn", "/properties/ResourceType" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, "handlers" : { "create" : { "permissions" : [ "servicecatalog:AssociateResource", "cloudformation:DescribeStacks" ] @@ -48,6 +50,17 @@ }, "delete" : { "permissions" : [ "servicecatalog:DisassociateResource" ] + }, + "list" : { + "permissions" : [ "servicecatalog:ListAssociatedResources" ], + "handlerSchema" : { + "properties" : { + "ApplicationArn" : { + "$ref" : "resource-schema.json#/properties/ApplicationArn" + } + }, + "required" : [ "ApplicationArn" ] + } } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sqs-queuepolicy.json b/aws-cloudformation-schema/aws-sqs-queuepolicy.json index 430f9dd7fe..89237db2a1 100644 --- a/aws-cloudformation-schema/aws-sqs-queuepolicy.json +++ b/aws-cloudformation-schema/aws-sqs-queuepolicy.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::SQS::QueuePolicy", - "description" : "Resource Type definition for AWS::SQS::QueuePolicy", + "description" : "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sqs.git", "additionalProperties" : false, "properties" : { @@ -10,11 +10,11 @@ }, "PolicyDocument" : { "type" : [ "object", "string" ], - "description" : "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see Creating Custom Policies Using the Access Policy Language in the Amazon Simple Queue Service Developer Guide." + "description" : "A policy document that contains the permissions for the specified SQS queues. For more information about SQS policies, see [Using custom policies with the access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Developer Guide*." }, "Queues" : { "type" : "array", - "description" : "The URLs of the queues to which you want to add the policy. You can use the Ref function to specify an AWS::SQS::Queue resource.", + "description" : "The URLs of the queues to which you want to add the policy. You can use the ``Ref`` function to specify an ``AWS::SQS::Queue`` resource.", "uniqueItems" : false, "insertionOrder" : false, "items" : { diff --git a/provider/cmd/cf2pulumi/schema-full.json b/provider/cmd/cf2pulumi/schema-full.json index 1362bd7228..726e1ff8c0 100644 --- a/provider/cmd/cf2pulumi/schema-full.json +++ b/provider/cmd/cf2pulumi/schema-full.json @@ -1803,19 +1803,21 @@ ] }, "aws-native:apigateway:DeploymentAccessLogSetting": { + "description": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.", "properties": { "destinationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. " + "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``." }, "format": { "type": "string", - "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. " + "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``." } }, "type": "object" }, "aws-native:apigateway:DeploymentCanarySetting": { + "description": "The ``CanarySetting`` property type specifies settings for the canary deployment in this stage.\n ``CanarySetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.", "properties": { "percentTraffic": { "type": "number", @@ -1823,49 +1825,51 @@ }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. " + "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values." }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache or not." + "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not." } }, "type": "object" }, "aws-native:apigateway:DeploymentCanarySettings": { + "description": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.", "properties": { "percentTraffic": { "type": "number", - "description": "The percentage (0-100) of traffic diverted to a canary deployment." + "description": "The percentage (0.0-100.0) of traffic routed to the canary deployment." }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. Duplicates are not allowed." + "description": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values." }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache." + "description": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not." } }, "type": "object" }, "aws-native:apigateway:DeploymentMethodSetting": { + "description": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the [Amazon API Gateway Deployment StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type contains a list of ``MethodSetting`` property types.", "properties": { "cacheDataEncrypted": { "type": "boolean", - "description": "Indicates whether the cached responses are encrypted" + "description": "Specifies whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. " + "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs." }, "httpMethod": { "type": "string", @@ -1873,28 +1877,29 @@ }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. " + "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events." }, "metricsEnabled": { "type": "boolean", - "description": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage." + "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method." }, "resourcePath": { "type": "string", - "description": "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. " + "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``)." }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling burst limit." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling rate limit." } }, "type": "object" }, "aws-native:apigateway:DeploymentStageDescription": { + "description": "``StageDescription`` is a property of the [AWS::ApiGateway::Deployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html) resource that configures a deployment stage.", "properties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:DeploymentAccessLogSetting", @@ -1902,23 +1907,23 @@ }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The size of the stage's cache cluster." + "description": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*." }, "cacheDataEncrypted": { "type": "boolean", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "Indicates whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySetting", @@ -1926,11 +1931,11 @@ }, "clientCertificateId": { "type": "string", - "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. " + "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs." }, "description": { "type": "string", @@ -1942,7 +1947,7 @@ }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. " + "description": "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*." }, "methodSettings": { "type": "array", @@ -1964,19 +1969,19 @@ }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active tracing with X-ray is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: [A-Za-z0-9-._~:/?#\u0026=,]+. " + "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "type": "object" @@ -1999,32 +2004,33 @@ ] }, "aws-native:apigateway:DocumentationPartLocation": { + "description": "The ``Location`` property specifies the location of the Amazon API Gateway API entity that the documentation applies to. ``Location`` is a property of the [AWS::ApiGateway::DocumentationPart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html) resource.\n For more information about each property, including constraints and valid values, see [DocumentationPart](https://docs.aws.amazon.com/apigateway/latest/api/API_DocumentationPartLocation.html) in the *Amazon API Gateway REST API Reference*.", "properties": { "method": { "type": "string", - "description": "The HTTP verb of a method." + "description": "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly." }, "name": { "type": "string", - "description": "The name of the targeted API entity." + "description": "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type." }, "path": { "type": "string", - "description": "The URL path of the target." + "description": "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix." }, "statusCode": { "type": "string", - "description": "The HTTP status code of a response." + "description": "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly." }, "type": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocationType", - "description": "The type of API entity that the documentation content applies to." + "description": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type." } }, "type": "object" }, "aws-native:apigateway:DocumentationPartLocationType": { - "description": "The type of API entity that the documentation content applies to.", + "description": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type.", "type": "string", "enum": [ { @@ -2111,7 +2117,7 @@ "type": "object" }, "aws-native:apigateway:MethodAuthorizationType": { - "description": "The method's authorization type.", + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property.", "type": "string", "enum": [ { @@ -2133,68 +2139,69 @@ ] }, "aws-native:apigateway:MethodIntegration": { + "description": "``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls.", "properties": { "cacheKeyParameters": { "type": "array", "items": { "type": "string" }, - "description": "A list of request parameters whose values API Gateway caches." + "description": "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``." }, "cacheNamespace": { "type": "string", - "description": "An API-specific tag group of related cached parameters." + "description": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources." }, "connectionId": { "type": "string", - "description": "The ID of the VpcLink used for the integration when connectionType=VPC_LINK, otherwise undefined." + "description": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise." }, "connectionType": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationConnectionType", - "description": "The type of the network connection to the integration endpoint." + "description": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``." }, "contentHandling": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationContentHandling", - "description": "Specifies how to handle request payload content type conversions." + "description": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through." }, "credentials": { "type": "string", - "description": "The credentials that are required for the integration." + "description": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null." }, "integrationHttpMethod": { "type": "string", - "description": "The integration's HTTP method type." + "description": "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property." }, "integrationResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationResponse" }, - "description": "The response that API Gateway provides after a method's backend completes processing a request." + "description": "Specifies the integration's responses." }, "passthroughBehavior": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationPassthroughBehavior", - "description": "Indicates when API Gateway passes requests to the targeted backend." + "description": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway sends with the backend request." + "description": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name." }, "requestTemplates": { "$ref": "pulumi.json#/Any", - "description": "A map of Apache Velocity templates that are applied on the request payload." + "description": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value." }, "timeoutInMillis": { "type": "integer", - "description": "Custom timeout between 50 and 29,000 milliseconds." + "description": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds." }, "type": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationType", - "description": "The type of backend that your method is running." + "description": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC." }, "uri": { "type": "string", - "description": "The Uniform Resource Identifier (URI) for the integration." + "description": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}\u0026{p1}={v1}\u0026p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject\u0026Bucket={bucket}\u0026Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``" } }, "type": "object", @@ -2203,7 +2210,7 @@ ] }, "aws-native:apigateway:MethodIntegrationConnectionType": { - "description": "The type of the network connection to the integration endpoint.", + "description": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``.", "type": "string", "enum": [ { @@ -2217,7 +2224,7 @@ ] }, "aws-native:apigateway:MethodIntegrationContentHandling": { - "description": "Specifies how to handle request payload content type conversions.", + "description": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through.", "type": "string", "enum": [ { @@ -2231,7 +2238,7 @@ ] }, "aws-native:apigateway:MethodIntegrationPassthroughBehavior": { - "description": "Indicates when API Gateway passes requests to the targeted backend.", + "description": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", "type": "string", "enum": [ { @@ -2249,26 +2256,27 @@ ] }, "aws-native:apigateway:MethodIntegrationResponse": { + "description": "``IntegrationResponse`` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request.", "properties": { "contentHandling": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationResponseContentHandling", - "description": "Specifies how to handle request payload content type conversions." + "description": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification." }, "responseParameters": { "$ref": "pulumi.json#/Any", - "description": "The response parameters from the backend response that API Gateway sends to the method response." + "description": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix." }, "responseTemplates": { "$ref": "pulumi.json#/Any", - "description": "The templates that are used to transform the integration response body. Specify templates as key-value pairs (string-to-string mappings), with a content type as the key and a template as the value." + "description": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value." }, "selectionPattern": { "type": "string", - "description": "A regular expression that specifies which error strings or status codes from the backend map to the integration response." + "description": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched." }, "statusCode": { "type": "string", - "description": "The status code that API Gateway uses to map the integration response to a MethodResponse status code." + "description": "Specifies the status code that is used to map the integration response to an existing MethodResponse." } }, "type": "object", @@ -2277,7 +2285,7 @@ ] }, "aws-native:apigateway:MethodIntegrationResponseContentHandling": { - "description": "Specifies how to handle request payload content type conversions.", + "description": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", "type": "string", "enum": [ { @@ -2291,7 +2299,7 @@ ] }, "aws-native:apigateway:MethodIntegrationType": { - "description": "The type of backend that your method is running.", + "description": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", "type": "string", "enum": [ { @@ -2317,18 +2325,19 @@ ] }, "aws-native:apigateway:MethodResponse": { + "description": "Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.", "properties": { "responseModels": { "$ref": "pulumi.json#/Any", - "description": "The resources used for the response's content type. Specify response models as key-value pairs (string-to-string maps), with a content type as the key and a Model resource name as the value." + "description": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value." }, "responseParameters": { "$ref": "pulumi.json#/Any", - "description": "Response parameters that API Gateway sends to the client that called a method. Specify response parameters as key-value pairs (string-to-Boolean maps), with a destination as the key and a Boolean as the value." + "description": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)" }, "statusCode": { "type": "string", - "description": "The method response's status code, which you map to an IntegrationResponse." + "description": "The method response's status code." } }, "type": "object", @@ -2337,35 +2346,43 @@ ] }, "aws-native:apigateway:RestApiEndpointConfiguration": { + "description": "The ``EndpointConfiguration`` property type specifies the endpoint types of a REST API.\n ``EndpointConfiguration`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource.", "properties": { "types": { "type": "array", "items": { "type": "string" - } + }, + "description": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``." }, "vpcEndpointIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type." } }, "type": "object" }, "aws-native:apigateway:RestApiS3Location": { + "description": "``S3Location`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.", "properties": { "bucket": { - "type": "string" + "type": "string", + "description": "The name of the S3 bucket where the OpenAPI file is stored." }, "eTag": { - "type": "string" + "type": "string", + "description": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file." }, "key": { - "type": "string" + "type": "string", + "description": "The file name of the OpenAPI file (Amazon S3 object name)." }, "version": { - "type": "string" + "type": "string", + "description": "For versioning-enabled buckets, a specific version of the OpenAPI file." } }, "type": "object" @@ -2386,29 +2403,29 @@ ] }, "aws-native:apigateway:StageAccessLogSetting": { - "description": "Specifies settings for logging access in this stage.", + "description": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.", "properties": { "destinationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. This parameter is required to enable access logging." + "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``. This parameter is required to enable access logging." }, "format": { "type": "string", - "description": "A single line format of the access logs of data, as specified by selected $context variables (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least $context.requestId. This parameter is required to enable access logging." + "description": "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least ``$context.requestId``. This parameter is required to enable access logging." } }, "type": "object" }, "aws-native:apigateway:StageCanarySetting": { - "description": "Specifies settings for the canary deployment in this stage.", + "description": "Configuration settings of a canary deployment.", "properties": { "deploymentId": { "type": "string", - "description": "The identifier of the deployment that the stage points to." + "description": "The ID of the canary deployment." }, "percentTraffic": { "type": "number", - "description": "The percentage (0-100) of traffic diverted to a canary deployment." + "description": "The percent (0-100) of traffic diverted to a canary deployment." }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", @@ -2416,53 +2433,53 @@ }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache or not." + "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not." } }, "type": "object" }, "aws-native:apigateway:StageMethodSetting": { - "description": "Configures settings for all methods in a stage.", + "description": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the ``AWS::ApiGateway::Stage`` resource contains a list of ``MethodSetting`` property types.", "properties": { "cacheDataEncrypted": { "type": "boolean", - "description": "Indicates whether the cached responses are encrypted." + "description": "Specifies whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses." + "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs." + "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs." }, "httpMethod": { "type": "string", - "description": "The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to multiple methods." + "description": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``." }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage (https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the Amazon API Gateway API Reference." + "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events." }, "metricsEnabled": { "type": "boolean", - "description": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage." + "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method." }, "resourcePath": { "type": "string", - "description": "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource. To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard to apply method settings to multiple methods." + "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``." }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling burst limit." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling rate limit." } }, "type": "object" @@ -2503,7 +2520,7 @@ "type": "object" }, "aws-native:apigateway:UsagePlanKeyKeyType": { - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY.", + "description": "The type of a UsagePlanKey resource for a plan customer.", "type": "string", "enum": [ { @@ -10365,12 +10382,15 @@ ] }, "aws-native:appsync:FunctionConfigurationAppSyncRuntime": { + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.", "properties": { "name": { - "type": "string" + "type": "string", + "description": "The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS." }, "runtimeVersion": { - "type": "string" + "type": "string", + "description": "The version of the runtime to use. Currently, the only allowed version is 1.0.0." } }, "type": "object", @@ -10380,20 +10400,25 @@ ] }, "aws-native:appsync:FunctionConfigurationLambdaConflictHandlerConfig": { + "description": "The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.", "properties": { "lambdaConflictHandlerArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler." } }, "type": "object" }, "aws-native:appsync:FunctionConfigurationSyncConfig": { + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.", "properties": { "conflictDetection": { - "type": "string" + "type": "string", + "description": "The Conflict Detection strategy to use." }, "conflictHandler": { - "type": "string" + "type": "string", + "description": "The Conflict Resolution strategy to perform in the event of a conflict." }, "lambdaConflictHandlerConfig": { "$ref": "#/types/aws-native:appsync:FunctionConfigurationLambdaConflictHandlerConfig" @@ -19557,11 +19582,7 @@ "type": "boolean" } }, - "type": "object", - "required": [ - "clientId", - "providerName" - ] + "type": "object" }, "aws-native:cognito:IdentityPoolCognitoStreams": { "properties": { @@ -19591,24 +19612,6 @@ }, "type": "object" }, - "aws-native:cognito:IdentityPoolTag": { - "description": "A key-value pair to associate with a resource.", - "properties": { - "key": { - "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." - }, - "value": { - "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." - } - }, - "type": "object", - "required": [ - "key", - "value" - ] - }, "aws-native:cognito:LogDeliveryConfigurationCloudWatchLogsConfiguration": { "properties": { "logGroupArn": { @@ -42012,6 +42015,106 @@ "aws-native:emrserverless:ApplicationWorkerTypeSpecificationInputMap": { "type": "object" }, + "aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques": { + "properties": { + "idMappingType": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniquesIdMappingType" + }, + "providerProperties": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowProviderProperties" + } + }, + "type": "object" + }, + "aws-native:entityresolution:IdMappingWorkflowIdMappingTechniquesIdMappingType": { + "type": "string", + "enum": [ + { + "name": "Provider", + "value": "PROVIDER" + } + ] + }, + "aws-native:entityresolution:IdMappingWorkflowInputSource": { + "properties": { + "inputSourceArn": { + "type": "string", + "description": "An Glue table ARN for the input source table" + }, + "schemaArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "inputSourceArn", + "schemaArn" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowIntermediateSourceConfiguration": { + "properties": { + "intermediateS3Path": { + "type": "string", + "description": "The s3 path that would be used to stage the intermediate data being generated during workflow execution." + } + }, + "type": "object", + "required": [ + "intermediateS3Path" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowOutputSource": { + "properties": { + "kmsArn": { + "type": "string" + }, + "outputS3Path": { + "type": "string", + "description": "The S3 path to which Entity Resolution will write the output table" + } + }, + "type": "object", + "required": [ + "outputS3Path" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowProviderProperties": { + "properties": { + "intermediateSourceConfiguration": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIntermediateSourceConfiguration" + }, + "providerConfiguration": { + "$ref": "pulumi.json#/Any", + "description": "Additional Provider configuration that would be required for the provider service. The Configuration must be in JSON string format" + }, + "providerServiceArn": { + "type": "string", + "description": "Arn of the Provider Service being used." + } + }, + "type": "object", + "required": [ + "providerServiceArn" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowTag": { + "description": "A key-value pair to associate with a resource", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:entityresolution:MatchingWorkflowInputSource": { "properties": { "applyNormalization": { @@ -42893,12 +42996,6 @@ "sql": { "type": "string" }, - "sqls": { - "type": "array", - "items": { - "type": "string" - } - }, "statementName": { "type": "string" }, @@ -42991,20 +43088,6 @@ "messageGroupId" ] }, - "aws-native:events:RuleState": { - "description": "The state of the rule.", - "type": "string", - "enum": [ - { - "name": "Disabled", - "value": "DISABLED" - }, - { - "name": "Enabled", - "value": "ENABLED" - } - ] - }, "aws-native:events:RuleTag": { "properties": { "key": { @@ -45980,6 +46063,16 @@ } ] }, + "aws-native:gamelift:FleetInstanceRoleCredentialsProvider": { + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "type": "string", + "enum": [ + { + "name": "SharedCredentialFile", + "value": "SHARED_CREDENTIAL_FILE" + } + ] + }, "aws-native:gamelift:FleetIpPermission": { "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", "properties": { @@ -54382,6 +54475,21 @@ } ] }, + "aws-native:iot:PolicyTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:iot:PresignedUrlConfigProperties": { "description": "Configuration for pre-signed S3 URLs.", "properties": { @@ -95539,6 +95647,30 @@ } ] }, + "aws-native:quicksight:AnalysisValidationStrategy": { + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategyMode" + } + }, + "type": "object", + "required": [ + "mode" + ] + }, + "aws-native:quicksight:AnalysisValidationStrategyMode": { + "type": "string", + "enum": [ + { + "name": "Strict", + "value": "STRICT" + }, + { + "name": "Lenient", + "value": "LENIENT" + } + ] + }, "aws-native:quicksight:AnalysisValueWhenUnsetOption": { "type": "string", "enum": [ @@ -105869,6 +106001,30 @@ } ] }, + "aws-native:quicksight:DashboardValidationStrategy": { + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategyMode" + } + }, + "type": "object", + "required": [ + "mode" + ] + }, + "aws-native:quicksight:DashboardValidationStrategyMode": { + "type": "string", + "enum": [ + { + "name": "Strict", + "value": "STRICT" + }, + { + "name": "Lenient", + "value": "LENIENT" + } + ] + }, "aws-native:quicksight:DashboardValueWhenUnsetOption": { "type": "string", "enum": [ @@ -117567,6 +117723,30 @@ } ] }, + "aws-native:quicksight:TemplateValidationStrategy": { + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategyMode" + } + }, + "type": "object", + "required": [ + "mode" + ] + }, + "aws-native:quicksight:TemplateValidationStrategyMode": { + "type": "string", + "enum": [ + { + "name": "Strict", + "value": "STRICT" + }, + { + "name": "Lenient", + "value": "LENIENT" + } + ] + }, "aws-native:quicksight:TemplateValueWhenUnsetOption": { "type": "string", "enum": [ @@ -126413,6 +126593,10 @@ "datasetFormat": { "$ref": "#/types/aws-native:sagemaker:DataQualityJobDefinitionDatasetFormat" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -126595,6 +126779,10 @@ "endpointName": { "type": "string" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -131524,6 +131712,10 @@ "datasetFormat": { "$ref": "#/types/aws-native:sagemaker:MonitoringScheduleDatasetFormat" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -131659,6 +131851,10 @@ "endpointName": { "type": "string" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -132007,9 +132203,17 @@ "aws-native:sagemaker:MonitoringScheduleScheduleConfig": { "description": "Configuration details about the monitoring schedule.", "properties": { + "dataAnalysisEndTime": { + "type": "string", + "description": "Data Analysis end time, e.g. PT0H" + }, + "dataAnalysisStartTime": { + "type": "string", + "description": "Data Analysis start time, e.g. -PT1H" + }, "scheduleExpression": { "type": "string", - "description": "A cron expression that describes details about the monitoring schedule." + "description": "A cron expression or 'NOW' that describes details about the monitoring schedule." } }, "type": "object", @@ -145531,18 +145735,18 @@ ] }, "aws-native:apigateway:Account": { - "description": "Resource Type definition for AWS::ApiGateway::Account", + "description": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account.", "properties": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." } }, "type": "object", "inputProperties": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." } } }, @@ -145641,7 +145845,7 @@ } }, "aws-native:apigateway:Authorizer": { - "description": "Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.", + "description": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.", "properties": { "authType": { "type": "string", @@ -145649,26 +145853,26 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerId": { "type": "string" }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -145679,16 +145883,16 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "restApiId": { "type": "string", - "description": "The identifier of the API.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } }, "type": "object", @@ -145705,23 +145909,23 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -145732,15 +145936,15 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } }, "requiredInputs": [ @@ -145834,11 +146038,11 @@ } }, "aws-native:apigateway:Deployment": { - "description": "Resource Type definition for AWS::ApiGateway::Deployment", + "description": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.", "properties": { "deploymentCanarySettings": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySettings", - "description": "Specifies settings for the canary deployment.", + "description": "The input configuration for a canary deployment.", "replaceOnChanges": true }, "deploymentId": { @@ -145847,20 +146051,20 @@ }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. ", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "stageDescription": { "$ref": "#/types/aws-native:apigateway:DeploymentStageDescription", - "description": "Configures the stage that API Gateway creates with this deployment." + "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name." }, "stageName": { "type": "string", - "description": "A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters." + "description": "The name of the Stage resource for the Deployment resource to create." } }, "type": "object", @@ -145871,23 +146075,23 @@ "inputProperties": { "deploymentCanarySettings": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySettings", - "description": "Specifies settings for the canary deployment." + "description": "The input configuration for a canary deployment." }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. " + "description": "The string identifier of the associated RestApi." }, "stageDescription": { "$ref": "#/types/aws-native:apigateway:DeploymentStageDescription", - "description": "Configures the stage that API Gateway creates with this deployment." + "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name." }, "stageName": { "type": "string", - "description": "A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters." + "description": "The name of the Stage resource for the Deployment resource to create." } }, "requiredInputs": [ @@ -145895,7 +146099,7 @@ ] }, "aws-native:apigateway:DocumentationPart": { - "description": "Resource Type definition for AWS::ApiGateway::DocumentationPart", + "description": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "properties": { "documentationPartId": { "type": "string", @@ -145903,16 +146107,16 @@ }, "location": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocation", - "description": "The location of the API entity that the documentation applies to.", + "description": "The location of the targeted API entity of the to-be-created documentation part.", "replaceOnChanges": true }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -145926,15 +146130,15 @@ "inputProperties": { "location": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocation", - "description": "The location of the API entity that the documentation applies to." + "description": "The location of the targeted API entity of the to-be-created documentation part." }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity" + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -145944,15 +146148,15 @@ ] }, "aws-native:apigateway:DocumentationVersion": { - "description": "A snapshot of the documentation of an API.", + "description": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "properties": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." }, "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -145962,7 +146166,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -145974,11 +146178,11 @@ "inputProperties": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." }, "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -145987,7 +146191,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -146136,67 +146340,67 @@ "deprecationMessage": "GatewayResponse is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." }, "aws-native:apigateway:Method": { - "description": "Resource Type definition for AWS::ApiGateway::Method", + "description": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.", "properties": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request.", + "description": "The method's HTTP verb.", "replaceOnChanges": true }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource.", + "description": "The Resource identifier for the MethodResponse resource.", "replaceOnChanges": true }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -146209,61 +146413,61 @@ "inputProperties": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request." + "description": "The method's HTTP verb." }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource." + "description": "The Resource identifier for the MethodResponse resource." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method." + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -146273,30 +146477,30 @@ ] }, "aws-native:apigateway:Model": { - "description": "Resource Type definition for AWS::ApiGateway::Model", + "description": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method.", "properties": { "contentType": { "type": "string", - "description": "The content type for the model.", + "description": "The content-type for the model.", "replaceOnChanges": true }, "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name.", + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "replaceOnChanges": true }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } }, "type": "object", @@ -146306,23 +146510,23 @@ "inputProperties": { "contentType": { "type": "string", - "description": "The content type for the model." + "description": "The content-type for the model." }, "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name." + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model." + "description": "The string identifier of the associated RestApi." }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } }, "requiredInputs": [ @@ -146383,7 +146587,7 @@ ] }, "aws-native:apigateway:Resource": { - "description": "Resource Type definition for AWS::ApiGateway::Resource", + "description": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.", "properties": { "parentId": { "type": "string", @@ -146401,7 +146605,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource..", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -146423,7 +146627,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource.." + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -146433,52 +146637,66 @@ ] }, "aws-native:apigateway:RestApi": { - "description": "Resource Type definition for AWS::ApiGateway::RestApi.", + "description": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.", "properties": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "body": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format." }, "bodyS3Location": { - "$ref": "#/types/aws-native:apigateway:RestApiS3Location" + "$ref": "#/types/aws-native:apigateway:RestApiS3Location", + "description": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format." }, "cloneFrom": { - "type": "string" + "type": "string", + "description": "The ID of the RestApi that you want to clone from." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "failOnWarnings": { - "type": "boolean" + "type": "boolean", + "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "mode": { - "type": "string" + "type": "string", + "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "parameters": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "restApiId": { "type": "string" @@ -146490,7 +146708,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } }, "type": "object", @@ -146500,108 +146719,123 @@ ], "inputProperties": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "body": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format." }, "bodyS3Location": { - "$ref": "#/types/aws-native:apigateway:RestApiS3Location" + "$ref": "#/types/aws-native:apigateway:RestApiS3Location", + "description": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format." }, "cloneFrom": { - "type": "string" + "type": "string", + "description": "The ID of the RestApi that you want to clone from." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "failOnWarnings": { - "type": "boolean" + "type": "boolean", + "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "mode": { - "type": "string" + "type": "string", + "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "parameters": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } } }, "aws-native:apigateway:Stage": { - "description": "Resource Type definition for AWS::ApiGateway::Stage", + "description": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment.", "properties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI).", + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", "replaceOnChanges": true }, "tags": { @@ -146609,15 +146843,15 @@ "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "type": "object", @@ -146627,65 +146861,65 @@ "inputProperties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage." + "description": "The string identifier of the associated RestApi." }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI)." + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "requiredInputs": [ @@ -146761,21 +146995,21 @@ } }, "aws-native:apigateway:UsagePlanKey": { - "description": "Resource Type definition for AWS::ApiGateway::UsagePlanKey", + "description": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.", "properties": { "keyId": { "type": "string", - "description": "The ID of the usage plan key.", + "description": "The Id of the UsagePlanKey resource.", "replaceOnChanges": true }, "keyType": { "$ref": "#/types/aws-native:apigateway:UsagePlanKeyKeyType", - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY.", + "description": "The type of a UsagePlanKey resource for a plan customer.", "replaceOnChanges": true }, "usagePlanId": { "type": "string", - "description": "The ID of the usage plan.", + "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", "replaceOnChanges": true } }, @@ -146788,15 +147022,15 @@ "inputProperties": { "keyId": { "type": "string", - "description": "The ID of the usage plan key." + "description": "The Id of the UsagePlanKey resource." }, "keyType": { "$ref": "#/types/aws-native:apigateway:UsagePlanKeyKeyType", - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY." + "description": "The type of a UsagePlanKey resource for a plan customer." }, "usagePlanId": { "type": "string", - "description": "The ID of the usage plan." + "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer." } }, "requiredInputs": [ @@ -151420,56 +151654,72 @@ ] }, "aws-native:appsync:FunctionConfiguration": { - "description": "Resource Type definition for AWS::AppSync::FunctionConfiguration", + "description": "An example resource schema demonstrating some basic constructs and validation rules.", "properties": { "apiId": { "type": "string", + "description": "The AWS AppSync GraphQL API that you want to attach using this function.", "replaceOnChanges": true }, "code": { - "type": "string" + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." }, "codeS3Location": { - "type": "string" + "type": "string", + "description": "The Amazon S3 endpoint (where the code is located??)." }, "dataSourceName": { - "type": "string" + "type": "string", + "description": "The name of data source this function will attach." }, "description": { - "type": "string" + "type": "string", + "description": "The function description." }, "functionArn": { - "type": "string" + "type": "string", + "description": "The ARN for the function generated by the service" }, "functionId": { - "type": "string" + "type": "string", + "description": "The unique identifier for the function generated by the service" }, "functionVersion": { - "type": "string" + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." }, "maxBatchSize": { - "type": "integer" + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the function." }, "requestMappingTemplate": { - "type": "string" + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." }, "requestMappingTemplateS3Location": { - "type": "string" + "type": "string", + "description": "Describes a Sync configuration for a resolver. Contains information on which Conflict Detection, as well as Resolution strategy, should be performed when the resolver is invoked." }, "responseMappingTemplate": { - "type": "string" + "type": "string", + "description": "The Function response mapping template." }, "responseMappingTemplateS3Location": { - "type": "string" + "type": "string", + "description": "The location of a response mapping template in an Amazon S3 bucket. Use this if you want to provision with a template file in Amazon S3 rather than embedding it in your CloudFormation template." }, "runtime": { - "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime" + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." }, "syncConfig": { - "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig" + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." } }, "type": "object", @@ -151482,53 +151732,66 @@ ], "inputProperties": { "apiId": { - "type": "string" + "type": "string", + "description": "The AWS AppSync GraphQL API that you want to attach using this function." }, "code": { - "type": "string" + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." }, "codeS3Location": { - "type": "string" + "type": "string", + "description": "The Amazon S3 endpoint (where the code is located??)." }, "dataSourceName": { - "type": "string" + "type": "string", + "description": "The name of data source this function will attach." }, "description": { - "type": "string" + "type": "string", + "description": "The function description." }, "functionVersion": { - "type": "string" + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." }, "maxBatchSize": { - "type": "integer" + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the function." }, "requestMappingTemplate": { - "type": "string" + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." }, "requestMappingTemplateS3Location": { - "type": "string" + "type": "string", + "description": "Describes a Sync configuration for a resolver. Contains information on which Conflict Detection, as well as Resolution strategy, should be performed when the resolver is invoked." }, "responseMappingTemplate": { - "type": "string" + "type": "string", + "description": "The Function response mapping template." }, "responseMappingTemplateS3Location": { - "type": "string" + "type": "string", + "description": "The location of a response mapping template in an Amazon S3 bucket. Use this if you want to provision with a template file in Amazon S3 rather than embedding it in your CloudFormation template." }, "runtime": { - "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime" + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." }, "syncConfig": { - "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig" + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." } }, "requiredInputs": [ "apiId", "dataSourceName" - ], - "deprecationMessage": "FunctionConfiguration is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:appsync:GraphQlApi": { "description": "Resource Type definition for AWS::AppSync::GraphQLApi", @@ -159718,13 +159981,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "name": { "type": "string" }, @@ -159777,13 +160033,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "openIdConnectProviderArns": { "type": "array", "items": { @@ -159997,6 +160246,9 @@ "userPoolAddOns": { "$ref": "#/types/aws-native:cognito:UserPoolAddOns" }, + "userPoolId": { + "type": "string" + }, "userPoolName": { "type": "string" }, @@ -160020,7 +160272,8 @@ "required": [ "arn", "providerName", - "providerUrl" + "providerUrl", + "userPoolId" ], "inputProperties": { "accountRecoverySetting": { @@ -160110,8 +160363,7 @@ "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate" } - }, - "deprecationMessage": "UserPool is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + } }, "aws-native:cognito:UserPoolClient": { "description": "Resource Type definition for AWS::Cognito::UserPoolClient", @@ -160370,7 +160622,7 @@ "replaceOnChanges": true }, "precedence": { - "type": "number" + "type": "integer" }, "roleArn": { "type": "string" @@ -160392,7 +160644,7 @@ "type": "string" }, "precedence": { - "type": "number" + "type": "integer" }, "roleArn": { "type": "string" @@ -160403,8 +160655,7 @@ }, "requiredInputs": [ "userPoolId" - ], - "deprecationMessage": "UserPoolGroup is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:cognito:UserPoolIdentityProvider": { "description": "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider", @@ -172719,6 +172970,10 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, @@ -172732,6 +172987,10 @@ "type": "boolean", "replaceOnChanges": true }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -172782,12 +173041,20 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, "ipv6Native": { "type": "boolean" }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -180315,6 +180582,105 @@ "type" ] }, + "aws-native:entityresolution:IdMappingWorkflow": { + "description": "IdMappingWorkflow defined in AWS Entity Resolution service", + "properties": { + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "updatedAt": { + "type": "string" + }, + "workflowArn": { + "type": "string" + }, + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "createdAt", + "idMappingTechniques", + "inputSourceConfig", + "outputSourceConfig", + "roleArn", + "updatedAt", + "workflowArn", + "workflowName" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow" + } + }, + "requiredInputs": [ + "idMappingTechniques", + "inputSourceConfig", + "outputSourceConfig", + "roleArn", + "workflowName" + ] + }, "aws-native:entityresolution:MatchingWorkflow": { "description": "MatchingWorkflow defined in AWS Entity Resolution service", "properties": { @@ -180849,44 +181215,36 @@ "description": "Resource Type definition for AWS::Events::Rule", "properties": { "arn": { - "type": "string", - "description": "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example." + "type": "string" }, "description": { - "type": "string", - "description": "The description of the rule." + "type": "string" }, "eventBusName": { "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "replaceOnChanges": true }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" }, "name": { "type": "string", - "description": "The name of the rule.", "replaceOnChanges": true }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } }, "type": "object", @@ -180895,39 +181253,31 @@ ], "inputProperties": { "description": { - "type": "string", - "description": "The description of the rule." + "type": "string" }, "eventBusName": { - "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "type": "string" }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" }, "name": { - "type": "string", - "description": "The name of the rule." + "type": "string" }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } } }, @@ -183249,6 +183599,11 @@ "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", "replaceOnChanges": true }, + "instanceRoleCredentialsProvider": { + "$ref": "#/types/aws-native:gamelift:FleetInstanceRoleCredentialsProvider", + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "replaceOnChanges": true + }, "locations": { "type": "array", "items": { @@ -183369,6 +183724,10 @@ "type": "string", "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console." }, + "instanceRoleCredentialsProvider": { + "$ref": "#/types/aws-native:gamelift:FleetInstanceRoleCredentialsProvider", + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service." + }, "locations": { "type": "array", "items": { @@ -187049,8 +187408,7 @@ "$ref": "#/types/aws-native:iam:GroupPolicy" } } - }, - "deprecationMessage": "Group is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + } }, "aws-native:iam:GroupPolicy": { "description": "Schema for IAM Group Policy", @@ -190178,6 +190536,12 @@ "policyName": { "type": "string", "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } }, "type": "object", @@ -190191,6 +190555,12 @@ }, "policyName": { "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } }, "requiredInputs": [ @@ -196712,6 +197082,10 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "The resource policy of your function" + }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -196832,6 +197206,10 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "The resource policy of your function" + }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -211512,6 +211890,9 @@ }, "themeArn": { "type": "string" + }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy" } }, "type": "object", @@ -211562,6 +211943,9 @@ }, "themeArn": { "type": "string" + }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy" } }, "requiredInputs": [ @@ -211622,6 +212006,9 @@ "themeArn": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategy" + }, "version": { "$ref": "#/types/aws-native:quicksight:DashboardVersion" }, @@ -211677,6 +212064,9 @@ "themeArn": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategy" + }, "versionDescription": { "type": "string" } @@ -212074,6 +212464,9 @@ "type": "string", "replaceOnChanges": true }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategy" + }, "version": { "$ref": "#/types/aws-native:quicksight:TemplateVersion" }, @@ -212118,6 +212511,9 @@ "templateId": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategy" + }, "versionDescription": { "type": "string" } @@ -225708,18 +226104,18 @@ ] }, "aws-native:sqs:QueuePolicy": { - "description": "Resource Type definition for AWS::SQS::QueuePolicy", + "description": "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*.", "properties": { "policyDocument": { "$ref": "pulumi.json#/Any", - "description": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see Creating Custom Policies Using the Access Policy Language in the Amazon Simple Queue Service Developer Guide." + "description": "A policy document that contains the permissions for the specified SQS queues. For more information about SQS policies, see [Using custom policies with the access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Developer Guide*." }, "queues": { "type": "array", "items": { "type": "string" }, - "description": "The URLs of the queues to which you want to add the policy. You can use the Ref function to specify an AWS::SQS::Queue resource." + "description": "The URLs of the queues to which you want to add the policy. You can use the ``Ref`` function to specify an ``AWS::SQS::Queue`` resource." } }, "type": "object", @@ -225730,14 +226126,14 @@ "inputProperties": { "policyDocument": { "$ref": "pulumi.json#/Any", - "description": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see Creating Custom Policies Using the Access Policy Language in the Amazon Simple Queue Service Developer Guide." + "description": "A policy document that contains the permissions for the specified SQS queues. For more information about SQS policies, see [Using custom policies with the access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Developer Guide*." }, "queues": { "type": "array", "items": { "type": "string" }, - "description": "The URLs of the queues to which you want to add the policy. You can use the Ref function to specify an AWS::SQS::Queue resource." + "description": "The URLs of the queues to which you want to add the policy. You can use the ``Ref`` function to specify an ``AWS::SQS::Queue`` resource." } }, "requiredInputs": [ @@ -232537,7 +232933,7 @@ } }, "aws-native:apigateway:getAccount": { - "description": "Resource Type definition for AWS::ApiGateway::Account", + "description": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account.", "inputs": { "properties": { "id": { @@ -232553,7 +232949,7 @@ "properties": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." }, "id": { "type": "string", @@ -232611,7 +233007,7 @@ } }, "aws-native:apigateway:getAuthorizer": { - "description": "Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.", + "description": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.", "inputs": { "properties": { "authorizerId": { @@ -232619,7 +233015,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -232635,26 +233031,26 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerId": { "type": "string" }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -232665,11 +233061,11 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } } } @@ -232739,7 +233135,7 @@ } }, "aws-native:apigateway:getDeployment": { - "description": "Resource Type definition for AWS::ApiGateway::Deployment", + "description": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.", "inputs": { "properties": { "deploymentId": { @@ -232748,7 +233144,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. " + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -232764,13 +233160,13 @@ }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." } } } }, "aws-native:apigateway:getDocumentationPart": { - "description": "Resource Type definition for AWS::ApiGateway::DocumentationPart", + "description": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "inputs": { "properties": { "documentationPartId": { @@ -232779,7 +233175,7 @@ }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity" + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -232795,18 +233191,18 @@ }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." } } } }, "aws-native:apigateway:getDocumentationVersion": { - "description": "A snapshot of the documentation of an API.", + "description": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "inputs": { "properties": { "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -232815,7 +233211,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -232827,7 +233223,7 @@ "properties": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." } } } @@ -232920,20 +233316,20 @@ } }, "aws-native:apigateway:getMethod": { - "description": "Resource Type definition for AWS::ApiGateway::Method", + "description": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.", "inputs": { "properties": { "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request." + "description": "The method's HTTP verb." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource." + "description": "The Resource identifier for the MethodResponse resource." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -232946,64 +233342,64 @@ "properties": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." } } } }, "aws-native:apigateway:getModel": { - "description": "Resource Type definition for AWS::ApiGateway::Model", + "description": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method.", "inputs": { "properties": { "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name." + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -233015,11 +233411,11 @@ "properties": { "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } } } @@ -233060,7 +233456,7 @@ } }, "aws-native:apigateway:getResource": { - "description": "Resource Type definition for AWS::ApiGateway::Resource", + "description": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.", "inputs": { "properties": { "resourceId": { @@ -233069,7 +233465,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource.." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -233087,7 +233483,7 @@ } }, "aws-native:apigateway:getRestApi": { - "description": "Resource Type definition for AWS::ApiGateway::RestApi.", + "description": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.", "inputs": { "properties": { "restApiId": { @@ -233101,31 +233497,39 @@ "outputs": { "properties": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "restApiId": { "type": "string" @@ -233137,22 +233541,23 @@ "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } } } }, "aws-native:apigateway:getStage": { - "description": "Resource Type definition for AWS::ApiGateway::Stage", + "description": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment.", "inputs": { "properties": { "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage." + "description": "The string identifier of the associated RestApi." }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI)." + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters." } }, "required": [ @@ -233164,57 +233569,57 @@ "properties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } } } @@ -233272,7 +233677,7 @@ } }, "aws-native:apigateway:getUsagePlanKey": { - "description": "Resource Type definition for AWS::ApiGateway::UsagePlanKey", + "description": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.", "inputs": { "properties": { "id": { @@ -235622,66 +236027,67 @@ } }, "aws-native:appsync:getFunctionConfiguration": { - "description": "Resource Type definition for AWS::AppSync::FunctionConfiguration", + "description": "An example resource schema demonstrating some basic constructs and validation rules.", "inputs": { "properties": { - "id": { - "type": "string" + "functionArn": { + "type": "string", + "description": "The ARN for the function generated by the service" } }, "required": [ - "id" + "functionArn" ] }, "outputs": { "properties": { "code": { - "type": "string" - }, - "codeS3Location": { - "type": "string" + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." }, "dataSourceName": { - "type": "string" + "type": "string", + "description": "The name of data source this function will attach." }, "description": { - "type": "string" + "type": "string", + "description": "The function description." }, "functionArn": { - "type": "string" + "type": "string", + "description": "The ARN for the function generated by the service" }, "functionId": { - "type": "string" + "type": "string", + "description": "The unique identifier for the function generated by the service" }, "functionVersion": { - "type": "string" - }, - "id": { - "type": "string" + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." }, "maxBatchSize": { - "type": "integer" + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the function." }, "requestMappingTemplate": { - "type": "string" - }, - "requestMappingTemplateS3Location": { - "type": "string" + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." }, "responseMappingTemplate": { - "type": "string" - }, - "responseMappingTemplateS3Location": { - "type": "string" + "type": "string", + "description": "The Function response mapping template." }, "runtime": { - "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime" + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." }, "syncConfig": { - "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig" + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." } } } @@ -240189,12 +240595,18 @@ "allowUnauthenticatedIdentities": { "type": "boolean" }, + "cognitoEvents": { + "$ref": "pulumi.json#/Any" + }, "cognitoIdentityProviders": { "type": "array", "items": { "$ref": "#/types/aws-native:cognito:IdentityPoolCognitoIdentityProvider" } }, + "cognitoStreams": { + "$ref": "#/types/aws-native:cognito:IdentityPoolCognitoStreams" + }, "developerProviderName": { "type": "string" }, @@ -240204,13 +240616,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "name": { "type": "string" }, @@ -240220,6 +240625,9 @@ "type": "string" } }, + "pushSync": { + "$ref": "#/types/aws-native:cognito:IdentityPoolPushSync" + }, "samlProviderArns": { "type": "array", "items": { @@ -240315,12 +240723,12 @@ "description": "Resource Type definition for AWS::Cognito::UserPool", "inputs": { "properties": { - "id": { + "userPoolId": { "type": "string" } }, "required": [ - "id" + "userPoolId" ] }, "outputs": { @@ -240361,15 +240769,6 @@ "emailVerificationSubject": { "type": "string" }, - "enabledMfas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig" }, @@ -240406,6 +240805,9 @@ "userPoolAddOns": { "$ref": "#/types/aws-native:cognito:UserPoolAddOns" }, + "userPoolId": { + "type": "string" + }, "userPoolName": { "type": "string" }, @@ -240567,12 +240969,16 @@ "description": "Resource Type definition for AWS::Cognito::UserPoolGroup", "inputs": { "properties": { - "id": { + "groupName": { + "type": "string" + }, + "userPoolId": { "type": "string" } }, "required": [ - "id" + "userPoolId", + "groupName" ] }, "outputs": { @@ -240580,11 +240986,8 @@ "description": { "type": "string" }, - "id": { - "type": "string" - }, "precedence": { - "type": "number" + "type": "integer" }, "roleArn": { "type": "string" @@ -246925,6 +247328,10 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, @@ -246934,6 +247341,10 @@ "type": "string" } }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -250578,6 +250989,61 @@ } } }, + "aws-native:entityresolution:getIdMappingWorkflow": { + "description": "IdMappingWorkflow defined in AWS Entity Resolution service", + "inputs": { + "properties": { + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow" + } + }, + "required": [ + "workflowName" + ] + }, + "outputs": { + "properties": { + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "updatedAt": { + "type": "string" + }, + "workflowArn": { + "type": "string" + } + } + } + }, "aws-native:entityresolution:getMatchingWorkflow": { "description": "MatchingWorkflow defined in AWS Entity Resolution service", "inputs": { @@ -250886,51 +251352,42 @@ "description": "Resource Type definition for AWS::Events::Rule", "inputs": { "properties": { - "arn": { - "type": "string", - "description": "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example." + "id": { + "type": "string" } }, "required": [ - "arn" + "id" ] }, "outputs": { "properties": { "arn": { - "type": "string", - "description": "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example." + "type": "string" }, "description": { - "type": "string", - "description": "The description of the rule." - }, - "eventBusName": { - "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "type": "string" }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" + }, + "id": { + "type": "string" }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } } } @@ -256264,6 +256721,12 @@ }, "policyDocument": { "$ref": "pulumi.json#/Any" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } } } @@ -274440,12 +274903,16 @@ "description": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation.", "inputs": { "properties": { - "id": { + "applicationArn": { + "type": "string" + }, + "attributeGroupArn": { "type": "string" } }, "required": [ - "id" + "applicationArn", + "attributeGroupArn" ] }, "outputs": { @@ -274455,9 +274922,6 @@ }, "attributeGroupArn": { "type": "string" - }, - "id": { - "type": "string" } } } @@ -274466,12 +274930,21 @@ "description": "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation", "inputs": { "properties": { - "id": { + "applicationArn": { "type": "string" + }, + "resourceArn": { + "type": "string" + }, + "resourceType": { + "$ref": "#/types/aws-native:servicecatalogappregistry:ResourceAssociationResourceType", + "description": "The type of the CFN Resource for now it's enum CFN_STACK." } }, "required": [ - "id" + "applicationArn", + "resourceArn", + "resourceType" ] }, "outputs": { @@ -274479,9 +274952,6 @@ "applicationArn": { "type": "string" }, - "id": { - "type": "string" - }, "resourceArn": { "type": "string" } @@ -275427,7 +275897,7 @@ } }, "aws-native:sqs:getQueuePolicy": { - "description": "Resource Type definition for AWS::SQS::QueuePolicy", + "description": "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*.", "inputs": { "properties": { "id": { @@ -275447,14 +275917,14 @@ }, "policyDocument": { "$ref": "pulumi.json#/Any", - "description": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see Creating Custom Policies Using the Access Policy Language in the Amazon Simple Queue Service Developer Guide." + "description": "A policy document that contains the permissions for the specified SQS queues. For more information about SQS policies, see [Using custom policies with the access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Developer Guide*." }, "queues": { "type": "array", "items": { "type": "string" }, - "description": "The URLs of the queues to which you want to add the policy. You can use the Ref function to specify an AWS::SQS::Queue resource." + "description": "The URLs of the queues to which you want to add the policy. You can use the ``Ref`` function to specify an ``AWS::SQS::Queue`` resource." } } } diff --git a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt index 4e8621bbae..18a21e116d 100644 --- a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt @@ -1,6 +1,10 @@ +AWS::Cognito::IdentityPool +AWS::EC2::SubnetNetworkAclAssociation +AWS::Events::Rule AWS::GameCast::Application AWS::GameCast::StreamGroup AWS::Lambda::EventInvokeConfig +AWS::S3::Bucket AWS::SNS::TopicPolicy AWSQS::EKS::Cluster AWSQS::Kubernetes::Get diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 8a56c1ffb5..ce6ca6568c 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -61,6 +61,7 @@ AWS::AppStream::Entitlement AWS::AppStream::ImageBuilder AWS::AppSync::DomainName AWS::AppSync::DomainNameApiAssociation +AWS::AppSync::FunctionConfiguration AWS::AppSync::SourceApiAssociation AWS::ApplicationAutoScaling::ScalableTarget AWS::ApplicationInsights::Application @@ -140,6 +141,8 @@ AWS::CodeStarNotifications::NotificationRule AWS::Cognito::IdentityPool AWS::Cognito::IdentityPoolPrincipalTag AWS::Cognito::LogDeliveryConfiguration +AWS::Cognito::UserPool +AWS::Cognito::UserPoolGroup AWS::Cognito::UserPoolUser AWS::Comprehend::DocumentClassifier AWS::Comprehend::Flywheel @@ -325,6 +328,7 @@ AWS::ElasticLoadBalancingV2::Listener AWS::ElasticLoadBalancingV2::ListenerRule AWS::ElasticLoadBalancingV2::LoadBalancer AWS::ElasticLoadBalancingV2::TargetGroup +AWS::EntityResolution::IdMappingWorkflow AWS::EntityResolution::MatchingWorkflow AWS::EntityResolution::SchemaMapping AWS::EventSchemas::RegistryPolicy @@ -377,6 +381,7 @@ AWS::GroundStation::MissionProfile AWS::GuardDuty::Detector AWS::HealthImaging::Datastore AWS::HealthLake::FHIRDatastore +AWS::IAM::Group AWS::IAM::GroupPolicy AWS::IAM::InstanceProfile AWS::IAM::ManagedPolicy diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 0651730042..4b987e5e07 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -1029,13 +1029,13 @@ "inputs": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." } }, "outputs": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." } } }, @@ -1152,23 +1152,23 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -1179,15 +1179,15 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } }, "outputs": { @@ -1197,26 +1197,26 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerId": { "type": "string" }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -1227,16 +1227,16 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "restApiId": { "type": "string", - "description": "The identifier of the API.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } }, "autoNamingSpec": { @@ -1339,29 +1339,29 @@ "inputs": { "deploymentCanarySettings": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySettings", - "description": "Specifies settings for the canary deployment." + "description": "The input configuration for a canary deployment." }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. " + "description": "The string identifier of the associated RestApi." }, "stageDescription": { "$ref": "#/types/aws-native:apigateway:DeploymentStageDescription", - "description": "Configures the stage that API Gateway creates with this deployment." + "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name." }, "stageName": { "type": "string", - "description": "A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters." + "description": "The name of the Stage resource for the Deployment resource to create." } }, "outputs": { "deploymentCanarySettings": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySettings", - "description": "Specifies settings for the canary deployment.", + "description": "The input configuration for a canary deployment.", "replaceOnChanges": true }, "deploymentId": { @@ -1370,20 +1370,20 @@ }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. ", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "stageDescription": { "$ref": "#/types/aws-native:apigateway:DeploymentStageDescription", - "description": "Configures the stage that API Gateway creates with this deployment." + "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name." }, "stageName": { "type": "string", - "description": "A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters." + "description": "The name of the Stage resource for the Deployment resource to create." } }, "required": [ @@ -1404,15 +1404,15 @@ "inputs": { "location": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocation", - "description": "The location of the API entity that the documentation applies to." + "description": "The location of the targeted API entity of the to-be-created documentation part." }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity" + "description": "The string identifier of the associated RestApi." } }, "outputs": { @@ -1422,16 +1422,16 @@ }, "location": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocation", - "description": "The location of the API entity that the documentation applies to.", + "description": "The location of the targeted API entity of the to-be-created documentation part.", "replaceOnChanges": true }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -1450,11 +1450,11 @@ "inputs": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." }, "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -1463,17 +1463,17 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." } }, "outputs": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." }, "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -1483,7 +1483,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -1588,123 +1588,123 @@ "inputs": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request." + "description": "The method's HTTP verb." }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource." + "description": "The Resource identifier for the MethodResponse resource." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method." + "description": "The string identifier of the associated RestApi." } }, "outputs": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request.", + "description": "The method's HTTP verb.", "replaceOnChanges": true }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource.", + "description": "The Resource identifier for the MethodResponse resource.", "replaceOnChanges": true }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -1724,48 +1724,48 @@ "inputs": { "contentType": { "type": "string", - "description": "The content type for the model." + "description": "The content-type for the model." }, "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name." + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model." + "description": "The string identifier of the associated RestApi." }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } }, "outputs": { "contentType": { "type": "string", - "description": "The content type for the model.", + "description": "The content-type for the model.", "replaceOnChanges": true }, "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name.", + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "replaceOnChanges": true }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } }, "autoNamingSpec": { @@ -1848,7 +1848,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource.." + "description": "The string identifier of the associated RestApi." } }, "outputs": { @@ -1868,7 +1868,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource..", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -1887,102 +1887,131 @@ "cf": "AWS::ApiGateway::RestApi", "inputs": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "body": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format." }, "bodyS3Location": { - "$ref": "#/types/aws-native:apigateway:RestApiS3Location" + "$ref": "#/types/aws-native:apigateway:RestApiS3Location", + "description": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format." }, "cloneFrom": { - "type": "string" + "type": "string", + "description": "The ID of the RestApi that you want to clone from." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "failOnWarnings": { - "type": "boolean" + "type": "boolean", + "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "mode": { - "type": "string" + "type": "string", + "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "parameters": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } }, "outputs": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "body": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format." }, "bodyS3Location": { - "$ref": "#/types/aws-native:apigateway:RestApiS3Location" + "$ref": "#/types/aws-native:apigateway:RestApiS3Location", + "description": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format." }, "cloneFrom": { - "type": "string" + "type": "string", + "description": "The ID of the RestApi that you want to clone from." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "failOnWarnings": { - "type": "boolean" + "type": "boolean", + "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "mode": { - "type": "string" + "type": "string", + "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "parameters": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "restApiId": { "type": "string" @@ -1994,7 +2023,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } }, "autoNamingSpec": { @@ -2017,115 +2047,115 @@ "inputs": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage." + "description": "The string identifier of the associated RestApi." }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI)." + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "outputs": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI).", + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", "replaceOnChanges": true }, "tags": { @@ -2133,15 +2163,15 @@ "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "autoNamingSpec": { @@ -2230,31 +2260,31 @@ "inputs": { "keyId": { "type": "string", - "description": "The ID of the usage plan key." + "description": "The Id of the UsagePlanKey resource." }, "keyType": { "$ref": "#/types/aws-native:apigateway:UsagePlanKeyKeyType", - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY." + "description": "The type of a UsagePlanKey resource for a plan customer." }, "usagePlanId": { "type": "string", - "description": "The ID of the usage plan." + "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer." } }, "outputs": { "keyId": { "type": "string", - "description": "The ID of the usage plan key.", + "description": "The Id of the UsagePlanKey resource.", "replaceOnChanges": true }, "keyType": { "$ref": "#/types/aws-native:apigateway:UsagePlanKeyKeyType", - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY.", + "description": "The type of a UsagePlanKey resource for a plan customer.", "replaceOnChanges": true }, "usagePlanId": { "type": "string", - "description": "The ID of the usage plan.", + "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", "replaceOnChanges": true } }, @@ -5139,6 +5169,154 @@ "domainName" ] }, + "aws-native:appsync:FunctionConfiguration": { + "cf": "AWS::AppSync::FunctionConfiguration", + "inputs": { + "apiId": { + "type": "string", + "description": "The AWS AppSync GraphQL API that you want to attach using this function." + }, + "code": { + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." + }, + "codeS3Location": { + "type": "string", + "description": "The Amazon S3 endpoint (where the code is located??)." + }, + "dataSourceName": { + "type": "string", + "description": "The name of data source this function will attach." + }, + "description": { + "type": "string", + "description": "The function description." + }, + "functionVersion": { + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." + }, + "maxBatchSize": { + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." + }, + "name": { + "type": "string", + "description": "The name of the function." + }, + "requestMappingTemplate": { + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." + }, + "requestMappingTemplateS3Location": { + "type": "string", + "description": "Describes a Sync configuration for a resolver. Contains information on which Conflict Detection, as well as Resolution strategy, should be performed when the resolver is invoked." + }, + "responseMappingTemplate": { + "type": "string", + "description": "The Function response mapping template." + }, + "responseMappingTemplateS3Location": { + "type": "string", + "description": "The location of a response mapping template in an Amazon S3 bucket. Use this if you want to provision with a template file in Amazon S3 rather than embedding it in your CloudFormation template." + }, + "runtime": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." + }, + "syncConfig": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." + } + }, + "outputs": { + "apiId": { + "type": "string", + "description": "The AWS AppSync GraphQL API that you want to attach using this function.", + "replaceOnChanges": true + }, + "code": { + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." + }, + "codeS3Location": { + "type": "string", + "description": "The Amazon S3 endpoint (where the code is located??)." + }, + "dataSourceName": { + "type": "string", + "description": "The name of data source this function will attach." + }, + "description": { + "type": "string", + "description": "The function description." + }, + "functionArn": { + "type": "string", + "description": "The ARN for the function generated by the service" + }, + "functionId": { + "type": "string", + "description": "The unique identifier for the function generated by the service" + }, + "functionVersion": { + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." + }, + "maxBatchSize": { + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." + }, + "name": { + "type": "string", + "description": "The name of the function." + }, + "requestMappingTemplate": { + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." + }, + "requestMappingTemplateS3Location": { + "type": "string", + "description": "Describes a Sync configuration for a resolver. Contains information on which Conflict Detection, as well as Resolution strategy, should be performed when the resolver is invoked." + }, + "responseMappingTemplate": { + "type": "string", + "description": "The Function response mapping template." + }, + "responseMappingTemplateS3Location": { + "type": "string", + "description": "The location of a response mapping template in an Amazon S3 bucket. Use this if you want to provision with a template file in Amazon S3 rather than embedding it in your CloudFormation template." + }, + "runtime": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." + }, + "syncConfig": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "apiId", + "dataSourceName" + ], + "createOnly": [ + "apiId" + ], + "writeOnly": [ + "codeS3Location", + "requestMappingTemplateS3Location", + "responseMappingTemplateS3Location" + ], + "irreversibleNames": { + "codeS3Location": "CodeS3Location", + "requestMappingTemplateS3Location": "RequestMappingTemplateS3Location", + "responseMappingTemplateS3Location": "ResponseMappingTemplateS3Location" + } + }, "aws-native:appsync:SourceApiAssociation": { "cf": "AWS::AppSync::SourceApiAssociation", "inputs": { @@ -11070,13 +11248,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "openIdConnectProviderArns": { "type": "array", "items": { @@ -11121,13 +11292,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "name": { "type": "string" }, @@ -11156,11 +11320,6 @@ "required": [ "allowUnauthenticatedIdentities" ], - "writeOnly": [ - "cognitoEvents", - "cognitoStreams", - "pushSync" - ], "irreversibleNames": { "openIdConnectProviderArns": "OpenIdConnectProviderARNs", "samlProviderArns": "SamlProviderARNs" @@ -11239,6 +11398,256 @@ "userPoolId" ] }, + "aws-native:cognito:UserPool": { + "cf": "AWS::Cognito::UserPool", + "inputs": { + "accountRecoverySetting": { + "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting" + }, + "adminCreateUserConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig" + }, + "aliasAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "autoVerifiedAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "deletionProtection": { + "type": "string" + }, + "deviceConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolDeviceConfiguration" + }, + "emailConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolEmailConfiguration" + }, + "emailVerificationMessage": { + "type": "string" + }, + "emailVerificationSubject": { + "type": "string" + }, + "enabledMfas": { + "type": "array", + "items": { + "type": "string" + } + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig" + }, + "mfaConfiguration": { + "type": "string" + }, + "policies": { + "$ref": "#/types/aws-native:cognito:UserPoolPolicies" + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" + } + }, + "smsAuthenticationMessage": { + "type": "string" + }, + "smsConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration" + }, + "smsVerificationMessage": { + "type": "string" + }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings" + }, + "userPoolAddOns": { + "$ref": "#/types/aws-native:cognito:UserPoolAddOns" + }, + "userPoolName": { + "type": "string" + }, + "userPoolTags": { + "$ref": "pulumi.json#/Any" + }, + "usernameAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "usernameConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration" + }, + "verificationMessageTemplate": { + "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate" + } + }, + "outputs": { + "accountRecoverySetting": { + "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting" + }, + "adminCreateUserConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig" + }, + "aliasAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "arn": { + "type": "string" + }, + "autoVerifiedAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "deletionProtection": { + "type": "string" + }, + "deviceConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolDeviceConfiguration" + }, + "emailConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolEmailConfiguration" + }, + "emailVerificationMessage": { + "type": "string" + }, + "emailVerificationSubject": { + "type": "string" + }, + "enabledMfas": { + "type": "array", + "items": { + "type": "string" + } + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig" + }, + "mfaConfiguration": { + "type": "string" + }, + "policies": { + "$ref": "#/types/aws-native:cognito:UserPoolPolicies" + }, + "providerName": { + "type": "string" + }, + "providerUrl": { + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" + } + }, + "smsAuthenticationMessage": { + "type": "string" + }, + "smsConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration" + }, + "smsVerificationMessage": { + "type": "string" + }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings" + }, + "userPoolAddOns": { + "$ref": "#/types/aws-native:cognito:UserPoolAddOns" + }, + "userPoolId": { + "type": "string" + }, + "userPoolName": { + "type": "string" + }, + "userPoolTags": { + "$ref": "pulumi.json#/Any" + }, + "usernameAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "usernameConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration" + }, + "verificationMessageTemplate": { + "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate" + } + }, + "autoNamingSpec": { + "sdkName": "userPoolName", + "minLength": 1, + "maxLength": 128 + }, + "writeOnly": [ + "enabledMfas" + ], + "irreversibleNames": { + "providerUrl": "ProviderURL" + } + }, + "aws-native:cognito:UserPoolGroup": { + "cf": "AWS::Cognito::UserPoolGroup", + "inputs": { + "description": { + "type": "string" + }, + "groupName": { + "type": "string" + }, + "precedence": { + "type": "integer" + }, + "roleArn": { + "type": "string" + }, + "userPoolId": { + "type": "string" + } + }, + "outputs": { + "description": { + "type": "string" + }, + "groupName": { + "type": "string", + "replaceOnChanges": true + }, + "precedence": { + "type": "integer" + }, + "roleArn": { + "type": "string" + }, + "userPoolId": { + "type": "string", + "replaceOnChanges": true + } + }, + "required": [ + "userPoolId" + ], + "createOnly": [ + "groupName", + "userPoolId" + ] + }, "aws-native:cognito:UserPoolUser": { "cf": "AWS::Cognito::UserPoolUser", "inputs": { @@ -20708,12 +21117,20 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, "ipv6Native": { "type": "boolean" }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -20752,6 +21169,10 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, @@ -20765,6 +21186,10 @@ "type": "boolean", "replaceOnChanges": true }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -26299,6 +26724,97 @@ "type" ] }, + "aws-native:entityresolution:IdMappingWorkflow": { + "cf": "AWS::EntityResolution::IdMappingWorkflow", + "inputs": { + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow" + } + }, + "outputs": { + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "updatedAt": { + "type": "string" + }, + "workflowArn": { + "type": "string" + }, + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow", + "replaceOnChanges": true + } + }, + "required": [ + "idMappingTechniques", + "inputSourceConfig", + "outputSourceConfig", + "roleArn", + "workflowName" + ], + "createOnly": [ + "workflowName" + ] + }, "aws-native:entityresolution:MatchingWorkflow": { "cf": "AWS::EntityResolution::MatchingWorkflow", "inputs": { @@ -26780,87 +27296,72 @@ "cf": "AWS::Events::Rule", "inputs": { "description": { - "type": "string", - "description": "The description of the rule." + "type": "string" }, "eventBusName": { - "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "type": "string" }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" }, "name": { - "type": "string", - "description": "The name of the rule." + "type": "string" }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } }, "outputs": { "arn": { - "type": "string", - "description": "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example." + "type": "string" }, "description": { - "type": "string", - "description": "The description of the rule." + "type": "string" }, "eventBusName": { "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "replaceOnChanges": true }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" }, "name": { "type": "string", - "description": "The name of the rule.", "replaceOnChanges": true }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } }, "autoNamingSpec": { "sdkName": "name" }, "createOnly": [ + "eventBusName", "name" ] }, @@ -28683,6 +29184,10 @@ "type": "string", "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console." }, + "instanceRoleCredentialsProvider": { + "$ref": "#/types/aws-native:gamelift:FleetInstanceRoleCredentialsProvider", + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service." + }, "locations": { "type": "array", "items": { @@ -28802,6 +29307,11 @@ "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", "replaceOnChanges": true }, + "instanceRoleCredentialsProvider": { + "$ref": "#/types/aws-native:gamelift:FleetInstanceRoleCredentialsProvider", + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "replaceOnChanges": true + }, "locations": { "type": "array", "items": { @@ -28886,6 +29396,7 @@ "ec2InstanceType", "fleetType", "instanceRoleArn", + "instanceRoleCredentialsProvider", "logPaths", "peerVpcAwsAccountId", "peerVpcId", @@ -30257,6 +30768,59 @@ "sseConfiguration" ] }, + "aws-native:iam:Group": { + "cf": "AWS::IAM::Group", + "inputs": { + "groupName": { + "type": "string" + }, + "managedPolicyArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "type": "string" + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iam:GroupPolicy" + } + } + }, + "outputs": { + "arn": { + "type": "string" + }, + "groupName": { + "type": "string", + "replaceOnChanges": true + }, + "managedPolicyArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "type": "string" + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iam:GroupPolicy" + } + } + }, + "autoNamingSpec": { + "sdkName": "groupName" + }, + "createOnly": [ + "groupName" + ] + }, "aws-native:iam:GroupPolicy": { "cf": "AWS::IAM::GroupPolicy", "inputs": { @@ -33155,6 +33719,12 @@ }, "policyName": { "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } }, "outputs": { @@ -33167,6 +33737,12 @@ "policyName": { "type": "string", "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } }, "autoNamingSpec": { @@ -38399,6 +38975,10 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "The resource policy of your function" + }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -38513,6 +39093,10 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "The resource policy of your function" + }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -38575,6 +39159,7 @@ "code/S3Key", "code/S3ObjectVersion", "code/ZipFile", + "policy", "snapStart", "snapStart/ApplyOn" ] @@ -50104,6 +50689,9 @@ }, "themeArn": { "type": "string" + }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy" } }, "outputs": { @@ -50171,6 +50759,9 @@ }, "themeArn": { "type": "string" + }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy" } }, "autoNamingSpec": { @@ -50192,7 +50783,8 @@ "parameters", "sheets", "sourceEntity", - "status" + "status", + "validationStrategy" ] }, "aws-native:quicksight:Dashboard": { @@ -50234,6 +50826,9 @@ "themeArn": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategy" + }, "versionDescription": { "type": "string" } @@ -50289,6 +50884,9 @@ "themeArn": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategy" + }, "version": { "$ref": "#/types/aws-native:quicksight:DashboardVersion" }, @@ -50317,6 +50915,7 @@ "parameters", "sourceEntity", "themeArn", + "validationStrategy", "versionDescription" ] }, @@ -50709,6 +51308,9 @@ "templateId": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategy" + }, "versionDescription": { "type": "string" } @@ -50752,6 +51354,9 @@ "type": "string", "replaceOnChanges": true }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategy" + }, "version": { "$ref": "#/types/aws-native:quicksight:TemplateVersion" }, @@ -50777,6 +51382,7 @@ "definition", "lastUpdatedTime", "sourceEntity", + "validationStrategy", "version", "versionDescription" ] @@ -68136,11 +68742,11 @@ "properties": { "destinationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. " + "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``." }, "format": { "type": "string", - "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. " + "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``." } } }, @@ -68153,11 +68759,11 @@ }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. " + "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values." }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache or not." + "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not." } } }, @@ -68166,15 +68772,15 @@ "properties": { "percentTraffic": { "type": "number", - "description": "The percentage (0-100) of traffic diverted to a canary deployment." + "description": "The percentage (0.0-100.0) of traffic routed to the canary deployment." }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. Duplicates are not allowed." + "description": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values." }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache." + "description": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not." } } }, @@ -68183,19 +68789,19 @@ "properties": { "cacheDataEncrypted": { "type": "boolean", - "description": "Indicates whether the cached responses are encrypted" + "description": "Specifies whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. " + "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs." }, "httpMethod": { "type": "string", @@ -68203,23 +68809,23 @@ }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. " + "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events." }, "metricsEnabled": { "type": "boolean", - "description": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage." + "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method." }, "resourcePath": { "type": "string", - "description": "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. " + "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``)." }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling burst limit." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling rate limit." } } }, @@ -68232,23 +68838,23 @@ }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The size of the stage's cache cluster." + "description": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*." }, "cacheDataEncrypted": { "type": "boolean", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "Indicates whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySetting", @@ -68256,11 +68862,11 @@ }, "clientCertificateId": { "type": "string", - "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. " + "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs." }, "description": { "type": "string", @@ -68272,7 +68878,7 @@ }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. " + "description": "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*." }, "methodSettings": { "type": "array", @@ -68294,19 +68900,19 @@ }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active tracing with X-ray is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: [A-Za-z0-9-._~:/?#\u0026=,]+. " + "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } } }, @@ -68328,23 +68934,23 @@ "properties": { "method": { "type": "string", - "description": "The HTTP verb of a method." + "description": "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly." }, "name": { "type": "string", - "description": "The name of the targeted API entity." + "description": "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type." }, "path": { "type": "string", - "description": "The URL path of the target." + "description": "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix." }, "statusCode": { "type": "string", - "description": "The HTTP status code of a response." + "description": "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly." }, "type": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocationType", - "description": "The type of API entity that the documentation content applies to." + "description": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type." } } }, @@ -68395,62 +69001,62 @@ "items": { "type": "string" }, - "description": "A list of request parameters whose values API Gateway caches." + "description": "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``." }, "cacheNamespace": { "type": "string", - "description": "An API-specific tag group of related cached parameters." + "description": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources." }, "connectionId": { "type": "string", - "description": "The ID of the VpcLink used for the integration when connectionType=VPC_LINK, otherwise undefined." + "description": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise." }, "connectionType": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationConnectionType", - "description": "The type of the network connection to the integration endpoint." + "description": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``." }, "contentHandling": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationContentHandling", - "description": "Specifies how to handle request payload content type conversions." + "description": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through." }, "credentials": { "type": "string", - "description": "The credentials that are required for the integration." + "description": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null." }, "integrationHttpMethod": { "type": "string", - "description": "The integration's HTTP method type." + "description": "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property." }, "integrationResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationResponse" }, - "description": "The response that API Gateway provides after a method's backend completes processing a request." + "description": "Specifies the integration's responses." }, "passthroughBehavior": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationPassthroughBehavior", - "description": "Indicates when API Gateway passes requests to the targeted backend." + "description": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway sends with the backend request." + "description": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name." }, "requestTemplates": { "$ref": "pulumi.json#/Any", - "description": "A map of Apache Velocity templates that are applied on the request payload." + "description": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value." }, "timeoutInMillis": { "type": "integer", - "description": "Custom timeout between 50 and 29,000 milliseconds." + "description": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds." }, "type": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationType", - "description": "The type of backend that your method is running." + "description": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC." }, "uri": { "type": "string", - "description": "The Uniform Resource Identifier (URI) for the integration." + "description": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}\u0026{p1}={v1}\u0026p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject\u0026Bucket={bucket}\u0026Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``" } } }, @@ -68468,23 +69074,23 @@ "properties": { "contentHandling": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationResponseContentHandling", - "description": "Specifies how to handle request payload content type conversions." + "description": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification." }, "responseParameters": { "$ref": "pulumi.json#/Any", - "description": "The response parameters from the backend response that API Gateway sends to the method response." + "description": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix." }, "responseTemplates": { "$ref": "pulumi.json#/Any", - "description": "The templates that are used to transform the integration response body. Specify templates as key-value pairs (string-to-string mappings), with a content type as the key and a template as the value." + "description": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value." }, "selectionPattern": { "type": "string", - "description": "A regular expression that specifies which error strings or status codes from the backend map to the integration response." + "description": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched." }, "statusCode": { "type": "string", - "description": "The status code that API Gateway uses to map the integration response to a MethodResponse status code." + "description": "Specifies the status code that is used to map the integration response to an existing MethodResponse." } } }, @@ -68499,15 +69105,15 @@ "properties": { "responseModels": { "$ref": "pulumi.json#/Any", - "description": "The resources used for the response's content type. Specify response models as key-value pairs (string-to-string maps), with a content type as the key and a Model resource name as the value." + "description": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value." }, "responseParameters": { "$ref": "pulumi.json#/Any", - "description": "Response parameters that API Gateway sends to the client that called a method. Specify response parameters as key-value pairs (string-to-Boolean maps), with a destination as the key and a Boolean as the value." + "description": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)" }, "statusCode": { "type": "string", - "description": "The method response's status code, which you map to an IntegrationResponse." + "description": "The method response's status code." } } }, @@ -68518,13 +69124,15 @@ "type": "array", "items": { "type": "string" - } + }, + "description": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``." }, "vpcEndpointIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type." } } }, @@ -68532,16 +69140,20 @@ "type": "object", "properties": { "bucket": { - "type": "string" + "type": "string", + "description": "The name of the S3 bucket where the OpenAPI file is stored." }, "eTag": { - "type": "string" + "type": "string", + "description": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file." }, "key": { - "type": "string" + "type": "string", + "description": "The file name of the OpenAPI file (Amazon S3 object name)." }, "version": { - "type": "string" + "type": "string", + "description": "For versioning-enabled buckets, a specific version of the OpenAPI file." } } }, @@ -68561,11 +69173,11 @@ "properties": { "destinationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. This parameter is required to enable access logging." + "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``. This parameter is required to enable access logging." }, "format": { "type": "string", - "description": "A single line format of the access logs of data, as specified by selected $context variables (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least $context.requestId. This parameter is required to enable access logging." + "description": "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least ``$context.requestId``. This parameter is required to enable access logging." } } }, @@ -68574,11 +69186,11 @@ "properties": { "deploymentId": { "type": "string", - "description": "The identifier of the deployment that the stage points to." + "description": "The ID of the canary deployment." }, "percentTraffic": { "type": "number", - "description": "The percentage (0-100) of traffic diverted to a canary deployment." + "description": "The percent (0-100) of traffic diverted to a canary deployment." }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", @@ -68586,7 +69198,7 @@ }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache or not." + "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not." } } }, @@ -68595,43 +69207,43 @@ "properties": { "cacheDataEncrypted": { "type": "boolean", - "description": "Indicates whether the cached responses are encrypted." + "description": "Specifies whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses." + "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs." + "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs." }, "httpMethod": { "type": "string", - "description": "The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to multiple methods." + "description": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``." }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage (https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the Amazon API Gateway API Reference." + "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events." }, "metricsEnabled": { "type": "boolean", - "description": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage." + "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method." }, "resourcePath": { "type": "string", - "description": "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource. To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard to apply method settings to multiple methods." + "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``." }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling burst limit." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling rate limit." } } }, @@ -71646,6 +72258,44 @@ } } }, + "aws-native:appsync:FunctionConfigurationAppSyncRuntime": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS." + }, + "runtimeVersion": { + "type": "string", + "description": "The version of the runtime to use. Currently, the only allowed version is 1.0.0." + } + } + }, + "aws-native:appsync:FunctionConfigurationLambdaConflictHandlerConfig": { + "type": "object", + "properties": { + "lambdaConflictHandlerArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler." + } + } + }, + "aws-native:appsync:FunctionConfigurationSyncConfig": { + "type": "object", + "properties": { + "conflictDetection": { + "type": "string", + "description": "The Conflict Detection strategy to use." + }, + "conflictHandler": { + "type": "string", + "description": "The Conflict Resolution strategy to perform in the event of a conflict." + }, + "lambdaConflictHandlerConfig": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationLambdaConflictHandlerConfig" + } + } + }, "aws-native:appsync:SourceApiAssociationConfig": { "type": "object", "properties": { @@ -76057,19 +76707,6 @@ } } }, - "aws-native:cognito:IdentityPoolTag": { - "type": "object", - "properties": { - "key": { - "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." - }, - "value": { - "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." - } - } - }, "aws-native:cognito:LogDeliveryConfigurationCloudWatchLogsConfiguration": { "type": "object", "properties": { @@ -76092,6 +76729,261 @@ } } }, + "aws-native:cognito:UserPoolAccountRecoverySetting": { + "type": "object", + "properties": { + "recoveryMechanisms": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cognito:UserPoolRecoveryOption" + } + } + } + }, + "aws-native:cognito:UserPoolAddOns": { + "type": "object", + "properties": { + "advancedSecurityMode": { + "type": "string" + } + } + }, + "aws-native:cognito:UserPoolAdminCreateUserConfig": { + "type": "object", + "properties": { + "allowAdminCreateUserOnly": { + "type": "boolean" + }, + "inviteMessageTemplate": { + "$ref": "#/types/aws-native:cognito:UserPoolInviteMessageTemplate" + }, + "unusedAccountValidityDays": { + "type": "integer" + } + } + }, + "aws-native:cognito:UserPoolCustomEmailSender": { + "type": "object", + "properties": { + "lambdaArn": { + "type": "string" + }, + "lambdaVersion": { + "type": "string" + } + } + }, + "aws-native:cognito:UserPoolCustomSmsSender": { + "type": "object", + "properties": { + "lambdaArn": { + "type": "string" + }, + "lambdaVersion": { + "type": "string" + } + } + }, + "aws-native:cognito:UserPoolDeviceConfiguration": { + "type": "object", + "properties": { + "challengeRequiredOnNewDevice": { + "type": "boolean" + }, + "deviceOnlyRememberedOnUserPrompt": { + "type": "boolean" + } + } + }, + "aws-native:cognito:UserPoolEmailConfiguration": { + "type": "object", + "properties": { + "configurationSet": { + "type": "string" + }, + "emailSendingAccount": { + "type": "string" + }, + "from": { + "type": "string" + }, + "replyToEmailAddress": { + "type": "string" + }, + "sourceArn": { + "type": "string" + } + } + }, + "aws-native:cognito:UserPoolInviteMessageTemplate": { + "type": "object", + "properties": { + "emailMessage": { + "type": "string" + }, + "emailSubject": { + "type": "string" + }, + "smsMessage": { + "type": "string" + } + }, + "irreversibleNames": { + "smsMessage": "SMSMessage" + } + }, + "aws-native:cognito:UserPoolLambdaConfig": { + "type": "object", + "properties": { + "createAuthChallenge": { + "type": "string" + }, + "customEmailSender": { + "$ref": "#/types/aws-native:cognito:UserPoolCustomEmailSender" + }, + "customMessage": { + "type": "string" + }, + "customSmsSender": { + "$ref": "#/types/aws-native:cognito:UserPoolCustomSmsSender" + }, + "defineAuthChallenge": { + "type": "string" + }, + "kmsKeyId": { + "type": "string" + }, + "postAuthentication": { + "type": "string" + }, + "postConfirmation": { + "type": "string" + }, + "preAuthentication": { + "type": "string" + }, + "preSignUp": { + "type": "string" + }, + "preTokenGeneration": { + "type": "string" + }, + "userMigration": { + "type": "string" + }, + "verifyAuthChallengeResponse": { + "type": "string" + } + }, + "irreversibleNames": { + "customSmsSender": "CustomSMSSender", + "kmsKeyId": "KMSKeyID" + } + }, + "aws-native:cognito:UserPoolNumberAttributeConstraints": { + "type": "object", + "properties": { + "maxValue": { + "type": "string" + }, + "minValue": { + "type": "string" + } + } + }, + "aws-native:cognito:UserPoolPasswordPolicy": { + "type": "object", + "properties": { + "minimumLength": { + "type": "integer" + }, + "requireLowercase": { + "type": "boolean" + }, + "requireNumbers": { + "type": "boolean" + }, + "requireSymbols": { + "type": "boolean" + }, + "requireUppercase": { + "type": "boolean" + }, + "temporaryPasswordValidityDays": { + "type": "integer" + } + } + }, + "aws-native:cognito:UserPoolPolicies": { + "type": "object", + "properties": { + "passwordPolicy": { + "$ref": "#/types/aws-native:cognito:UserPoolPasswordPolicy" + } + } + }, + "aws-native:cognito:UserPoolRecoveryOption": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "priority": { + "type": "integer" + } + } + }, + "aws-native:cognito:UserPoolSchemaAttribute": { + "type": "object", + "properties": { + "attributeDataType": { + "type": "string" + }, + "developerOnlyAttribute": { + "type": "boolean" + }, + "mutable": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "numberAttributeConstraints": { + "$ref": "#/types/aws-native:cognito:UserPoolNumberAttributeConstraints" + }, + "required": { + "type": "boolean" + }, + "stringAttributeConstraints": { + "$ref": "#/types/aws-native:cognito:UserPoolStringAttributeConstraints" + } + } + }, + "aws-native:cognito:UserPoolSmsConfiguration": { + "type": "object", + "properties": { + "externalId": { + "type": "string" + }, + "snsCallerArn": { + "type": "string" + }, + "snsRegion": { + "type": "string" + } + } + }, + "aws-native:cognito:UserPoolStringAttributeConstraints": { + "type": "object", + "properties": { + "maxLength": { + "type": "string" + }, + "minLength": { + "type": "string" + } + } + }, "aws-native:cognito:UserPoolUserAttributeType": { "type": "object", "properties": { @@ -76103,6 +76995,48 @@ } } }, + "aws-native:cognito:UserPoolUserAttributeUpdateSettings": { + "type": "object", + "properties": { + "attributesRequireVerificationBeforeUpdate": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:cognito:UserPoolUsernameConfiguration": { + "type": "object", + "properties": { + "caseSensitive": { + "type": "boolean" + } + } + }, + "aws-native:cognito:UserPoolVerificationMessageTemplate": { + "type": "object", + "properties": { + "defaultEmailOption": { + "type": "string" + }, + "emailMessage": { + "type": "string" + }, + "emailMessageByLink": { + "type": "string" + }, + "emailSubject": { + "type": "string" + }, + "emailSubjectByLink": { + "type": "string" + }, + "smsMessage": { + "type": "string" + } + } + }, "aws-native:comprehend:DocumentClassifierAugmentedManifestsListItem": { "type": "object", "properties": { @@ -87335,6 +88269,92 @@ "aws-native:emrserverless:ApplicationWorkerTypeSpecificationInputMap": { "type": "object" }, + "aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques": { + "type": "object", + "properties": { + "idMappingType": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniquesIdMappingType" + }, + "providerProperties": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowProviderProperties" + } + } + }, + "aws-native:entityresolution:IdMappingWorkflowIdMappingTechniquesIdMappingType": { + "type": "string" + }, + "aws-native:entityresolution:IdMappingWorkflowInputSource": { + "type": "object", + "properties": { + "inputSourceArn": { + "type": "string", + "description": "An Glue table ARN for the input source table" + }, + "schemaArn": { + "type": "string" + } + }, + "irreversibleNames": { + "inputSourceArn": "InputSourceARN" + } + }, + "aws-native:entityresolution:IdMappingWorkflowIntermediateSourceConfiguration": { + "type": "object", + "properties": { + "intermediateS3Path": { + "type": "string", + "description": "The s3 path that would be used to stage the intermediate data being generated during workflow execution." + } + }, + "irreversibleNames": { + "intermediateS3Path": "IntermediateS3Path" + } + }, + "aws-native:entityresolution:IdMappingWorkflowOutputSource": { + "type": "object", + "properties": { + "kmsArn": { + "type": "string" + }, + "outputS3Path": { + "type": "string", + "description": "The S3 path to which Entity Resolution will write the output table" + } + }, + "irreversibleNames": { + "kmsArn": "KMSArn", + "outputS3Path": "OutputS3Path" + } + }, + "aws-native:entityresolution:IdMappingWorkflowProviderProperties": { + "type": "object", + "properties": { + "intermediateSourceConfiguration": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIntermediateSourceConfiguration" + }, + "providerConfiguration": { + "$ref": "pulumi.json#/Any", + "description": "Additional Provider configuration that would be required for the provider service. The Configuration must be in JSON string format" + }, + "providerServiceArn": { + "type": "string", + "description": "Arn of the Provider Service being used." + } + } + }, + "aws-native:entityresolution:IdMappingWorkflowTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, "aws-native:entityresolution:MatchingWorkflowInputSource": { "type": "object", "properties": { @@ -87917,12 +88937,6 @@ "sql": { "type": "string" }, - "sqls": { - "type": "array", - "items": { - "type": "string" - } - }, "statementName": { "type": "string" }, @@ -87997,9 +89011,6 @@ } } }, - "aws-native:events:RuleState": { - "type": "string" - }, "aws-native:events:RuleTag": { "type": "object", "properties": { @@ -89302,6 +90313,9 @@ "aws-native:gamelift:FleetComputeType": { "type": "string" }, + "aws-native:gamelift:FleetInstanceRoleCredentialsProvider": { + "type": "string" + }, "aws-native:gamelift:FleetIpPermission": { "type": "object", "properties": { @@ -90669,6 +91683,17 @@ } } }, + "aws-native:iam:GroupPolicy": { + "type": "object", + "properties": { + "policyDocument": { + "$ref": "pulumi.json#/Any" + }, + "policyName": { + "type": "string" + } + } + }, "aws-native:iam:OidcProviderTag": { "type": "object", "properties": { @@ -92266,6 +93291,17 @@ "aws-native:iot:MitigationActionUpdateDeviceCertificateParamsAction": { "type": "string" }, + "aws-native:iot:PolicyTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:iot:PresignedUrlConfigProperties": { "type": "object", "properties": { @@ -117033,6 +118069,17 @@ "aws-native:quicksight:AnalysisUrlTargetConfiguration": { "type": "string" }, + "aws-native:quicksight:AnalysisValidationStrategy": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategyMode" + } + } + }, + "aws-native:quicksight:AnalysisValidationStrategyMode": { + "type": "string" + }, "aws-native:quicksight:AnalysisValueWhenUnsetOption": { "type": "string" }, @@ -125114,6 +126161,17 @@ "aws-native:quicksight:DashboardUrlTargetConfiguration": { "type": "string" }, + "aws-native:quicksight:DashboardValidationStrategy": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategyMode" + } + } + }, + "aws-native:quicksight:DashboardValidationStrategyMode": { + "type": "string" + }, "aws-native:quicksight:DashboardValueWhenUnsetOption": { "type": "string" }, @@ -134075,6 +135133,17 @@ "aws-native:quicksight:TemplateUrlTargetConfiguration": { "type": "string" }, + "aws-native:quicksight:TemplateValidationStrategy": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategyMode" + } + } + }, + "aws-native:quicksight:TemplateValidationStrategyMode": { + "type": "string" + }, "aws-native:quicksight:TemplateValueWhenUnsetOption": { "type": "string" }, @@ -139390,6 +140459,10 @@ "datasetFormat": { "$ref": "#/types/aws-native:sagemaker:DataQualityJobDefinitionDatasetFormat" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -139540,6 +140613,10 @@ "endpointName": { "type": "string" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -142518,6 +143595,10 @@ "datasetFormat": { "$ref": "#/types/aws-native:sagemaker:MonitoringScheduleDatasetFormat" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -142626,6 +143707,10 @@ "endpointName": { "type": "string" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -142857,9 +143942,17 @@ "aws-native:sagemaker:MonitoringScheduleScheduleConfig": { "type": "object", "properties": { + "dataAnalysisEndTime": { + "type": "string", + "description": "Data Analysis end time, e.g. PT0H" + }, + "dataAnalysisStartTime": { + "type": "string", + "description": "Data Analysis start time, e.g. -PT1H" + }, "scheduleExpression": { "type": "string", - "description": "A cron expression that describes details about the monitoring schedule." + "description": "A cron expression or 'NOW' that describes details about the monitoring schedule." } } }, @@ -149887,6 +150980,12 @@ "apiAssociationIdentifier" ] }, + "aws-native:appsync:getFunctionConfiguration": { + "cf": "AWS::AppSync::FunctionConfiguration", + "ids": [ + "functionArn" + ] + }, "aws-native:appsync:getSourceApiAssociation": { "cf": "AWS::AppSync::SourceApiAssociation", "ids": [ @@ -150353,6 +151452,19 @@ "id" ] }, + "aws-native:cognito:getUserPool": { + "cf": "AWS::Cognito::UserPool", + "ids": [ + "userPoolId" + ] + }, + "aws-native:cognito:getUserPoolGroup": { + "cf": "AWS::Cognito::UserPoolGroup", + "ids": [ + "userPoolId", + "groupName" + ] + }, "aws-native:comprehend:getDocumentClassifier": { "cf": "AWS::Comprehend::DocumentClassifier", "ids": [ @@ -151445,6 +152557,12 @@ "applicationId" ] }, + "aws-native:entityresolution:getIdMappingWorkflow": { + "cf": "AWS::EntityResolution::IdMappingWorkflow", + "ids": [ + "workflowName" + ] + }, "aws-native:entityresolution:getMatchingWorkflow": { "cf": "AWS::EntityResolution::MatchingWorkflow", "ids": [ @@ -151490,7 +152608,7 @@ "aws-native:events:getRule": { "cf": "AWS::Events::Rule", "ids": [ - "arn" + "id" ] }, "aws-native:eventschemas:getRegistryPolicy": { @@ -151740,6 +152858,12 @@ "datastoreId" ] }, + "aws-native:iam:getGroup": { + "cf": "AWS::IAM::Group", + "ids": [ + "id" + ] + }, "aws-native:iam:getGroupPolicy": { "cf": "AWS::IAM::GroupPolicy", "ids": [ @@ -153941,13 +155065,16 @@ "aws-native:servicecatalogappregistry:getAttributeGroupAssociation": { "cf": "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation", "ids": [ - "id" + "applicationArn", + "attributeGroupArn" ] }, "aws-native:servicecatalogappregistry:getResourceAssociation": { "cf": "AWS::ServiceCatalogAppRegistry::ResourceAssociation", "ids": [ - "id" + "applicationArn", + "resourceArn", + "resourceType" ] }, "aws-native:ses:getConfigurationSet": { diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index ba4788740c..a11e04dd24 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -1594,19 +1594,21 @@ ] }, "aws-native:apigateway:DeploymentAccessLogSetting": { + "description": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.", "properties": { "destinationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. " + "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``." }, "format": { "type": "string", - "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. " + "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``." } }, "type": "object" }, "aws-native:apigateway:DeploymentCanarySetting": { + "description": "The ``CanarySetting`` property type specifies settings for the canary deployment in this stage.\n ``CanarySetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.", "properties": { "percentTraffic": { "type": "number", @@ -1614,49 +1616,51 @@ }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. " + "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values." }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache or not." + "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not." } }, "type": "object" }, "aws-native:apigateway:DeploymentCanarySettings": { + "description": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.", "properties": { "percentTraffic": { "type": "number", - "description": "The percentage (0-100) of traffic diverted to a canary deployment." + "description": "The percentage (0.0-100.0) of traffic routed to the canary deployment." }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values. Duplicates are not allowed." + "description": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values." }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache." + "description": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not." } }, "type": "object" }, "aws-native:apigateway:DeploymentMethodSetting": { + "description": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the [Amazon API Gateway Deployment StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type contains a list of ``MethodSetting`` property types.", "properties": { "cacheDataEncrypted": { "type": "boolean", - "description": "Indicates whether the cached responses are encrypted" + "description": "Specifies whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. " + "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs." }, "httpMethod": { "type": "string", @@ -1664,28 +1668,29 @@ }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. " + "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events." }, "metricsEnabled": { "type": "boolean", - "description": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage." + "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method." }, "resourcePath": { "type": "string", - "description": "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. " + "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``)." }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling burst limit." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling rate limit." } }, "type": "object" }, "aws-native:apigateway:DeploymentStageDescription": { + "description": "``StageDescription`` is a property of the [AWS::ApiGateway::Deployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html) resource that configures a deployment stage.", "properties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:DeploymentAccessLogSetting", @@ -1693,23 +1698,23 @@ }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The size of the stage's cache cluster." + "description": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference*." }, "cacheDataEncrypted": { "type": "boolean", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "Indicates whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. " + "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide*." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySetting", @@ -1717,11 +1722,11 @@ }, "clientCertificateId": { "type": "string", - "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. " + "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs." }, "description": { "type": "string", @@ -1733,7 +1738,7 @@ }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. " + "description": "The logging level for this method. For valid values, see the ``loggingLevel`` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference*." }, "methodSettings": { "type": "array", @@ -1755,19 +1760,19 @@ }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide*." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active tracing with X-ray is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for this stage.\n For more information, see [Trace API Gateway API Execution with X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide*." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: [A-Za-z0-9-._~:/?#\u0026=,]+. " + "description": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "type": "object" @@ -1790,32 +1795,33 @@ ] }, "aws-native:apigateway:DocumentationPartLocation": { + "description": "The ``Location`` property specifies the location of the Amazon API Gateway API entity that the documentation applies to. ``Location`` is a property of the [AWS::ApiGateway::DocumentationPart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html) resource.\n For more information about each property, including constraints and valid values, see [DocumentationPart](https://docs.aws.amazon.com/apigateway/latest/api/API_DocumentationPartLocation.html) in the *Amazon API Gateway REST API Reference*.", "properties": { "method": { "type": "string", - "description": "The HTTP verb of a method." + "description": "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly." }, "name": { "type": "string", - "description": "The name of the targeted API entity." + "description": "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type." }, "path": { "type": "string", - "description": "The URL path of the target." + "description": "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix." }, "statusCode": { "type": "string", - "description": "The HTTP status code of a response." + "description": "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly." }, "type": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocationType", - "description": "The type of API entity that the documentation content applies to." + "description": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type." } }, "type": "object" }, "aws-native:apigateway:DocumentationPartLocationType": { - "description": "The type of API entity that the documentation content applies to.", + "description": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type.", "type": "string", "enum": [ { @@ -1902,7 +1908,7 @@ "type": "object" }, "aws-native:apigateway:MethodAuthorizationType": { - "description": "The method's authorization type.", + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property.", "type": "string", "enum": [ { @@ -1924,68 +1930,69 @@ ] }, "aws-native:apigateway:MethodIntegration": { + "description": "``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls.", "properties": { "cacheKeyParameters": { "type": "array", "items": { "type": "string" }, - "description": "A list of request parameters whose values API Gateway caches." + "description": "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``." }, "cacheNamespace": { "type": "string", - "description": "An API-specific tag group of related cached parameters." + "description": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources." }, "connectionId": { "type": "string", - "description": "The ID of the VpcLink used for the integration when connectionType=VPC_LINK, otherwise undefined." + "description": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise." }, "connectionType": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationConnectionType", - "description": "The type of the network connection to the integration endpoint." + "description": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``." }, "contentHandling": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationContentHandling", - "description": "Specifies how to handle request payload content type conversions." + "description": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through." }, "credentials": { "type": "string", - "description": "The credentials that are required for the integration." + "description": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null." }, "integrationHttpMethod": { "type": "string", - "description": "The integration's HTTP method type." + "description": "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property." }, "integrationResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationResponse" }, - "description": "The response that API Gateway provides after a method's backend completes processing a request." + "description": "Specifies the integration's responses." }, "passthroughBehavior": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationPassthroughBehavior", - "description": "Indicates when API Gateway passes requests to the targeted backend." + "description": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway sends with the backend request." + "description": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name." }, "requestTemplates": { "$ref": "pulumi.json#/Any", - "description": "A map of Apache Velocity templates that are applied on the request payload." + "description": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value." }, "timeoutInMillis": { "type": "integer", - "description": "Custom timeout between 50 and 29,000 milliseconds." + "description": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds." }, "type": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationType", - "description": "The type of backend that your method is running." + "description": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC." }, "uri": { "type": "string", - "description": "The Uniform Resource Identifier (URI) for the integration." + "description": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}\u0026{p1}={v1}\u0026p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject\u0026Bucket={bucket}\u0026Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``" } }, "type": "object", @@ -1994,7 +2001,7 @@ ] }, "aws-native:apigateway:MethodIntegrationConnectionType": { - "description": "The type of the network connection to the integration endpoint.", + "description": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``.", "type": "string", "enum": [ { @@ -2008,7 +2015,7 @@ ] }, "aws-native:apigateway:MethodIntegrationContentHandling": { - "description": "Specifies how to handle request payload content type conversions.", + "description": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through.", "type": "string", "enum": [ { @@ -2022,7 +2029,7 @@ ] }, "aws-native:apigateway:MethodIntegrationPassthroughBehavior": { - "description": "Indicates when API Gateway passes requests to the targeted backend.", + "description": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", "type": "string", "enum": [ { @@ -2040,26 +2047,27 @@ ] }, "aws-native:apigateway:MethodIntegrationResponse": { + "description": "``IntegrationResponse`` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request.", "properties": { "contentHandling": { "$ref": "#/types/aws-native:apigateway:MethodIntegrationResponseContentHandling", - "description": "Specifies how to handle request payload content type conversions." + "description": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification." }, "responseParameters": { "$ref": "pulumi.json#/Any", - "description": "The response parameters from the backend response that API Gateway sends to the method response." + "description": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix." }, "responseTemplates": { "$ref": "pulumi.json#/Any", - "description": "The templates that are used to transform the integration response body. Specify templates as key-value pairs (string-to-string mappings), with a content type as the key and a template as the value." + "description": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value." }, "selectionPattern": { "type": "string", - "description": "A regular expression that specifies which error strings or status codes from the backend map to the integration response." + "description": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched." }, "statusCode": { "type": "string", - "description": "The status code that API Gateway uses to map the integration response to a MethodResponse status code." + "description": "Specifies the status code that is used to map the integration response to an existing MethodResponse." } }, "type": "object", @@ -2068,7 +2076,7 @@ ] }, "aws-native:apigateway:MethodIntegrationResponseContentHandling": { - "description": "Specifies how to handle request payload content type conversions.", + "description": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", "type": "string", "enum": [ { @@ -2082,7 +2090,7 @@ ] }, "aws-native:apigateway:MethodIntegrationType": { - "description": "The type of backend that your method is running.", + "description": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", "type": "string", "enum": [ { @@ -2108,18 +2116,19 @@ ] }, "aws-native:apigateway:MethodResponse": { + "description": "Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.", "properties": { "responseModels": { "$ref": "pulumi.json#/Any", - "description": "The resources used for the response's content type. Specify response models as key-value pairs (string-to-string maps), with a content type as the key and a Model resource name as the value." + "description": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value." }, "responseParameters": { "$ref": "pulumi.json#/Any", - "description": "Response parameters that API Gateway sends to the client that called a method. Specify response parameters as key-value pairs (string-to-Boolean maps), with a destination as the key and a Boolean as the value." + "description": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)" }, "statusCode": { "type": "string", - "description": "The method response's status code, which you map to an IntegrationResponse." + "description": "The method response's status code." } }, "type": "object", @@ -2128,35 +2137,43 @@ ] }, "aws-native:apigateway:RestApiEndpointConfiguration": { + "description": "The ``EndpointConfiguration`` property type specifies the endpoint types of a REST API.\n ``EndpointConfiguration`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource.", "properties": { "types": { "type": "array", "items": { "type": "string" - } + }, + "description": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``." }, "vpcEndpointIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type." } }, "type": "object" }, "aws-native:apigateway:RestApiS3Location": { + "description": "``S3Location`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.", "properties": { "bucket": { - "type": "string" + "type": "string", + "description": "The name of the S3 bucket where the OpenAPI file is stored." }, "eTag": { - "type": "string" + "type": "string", + "description": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file." }, "key": { - "type": "string" + "type": "string", + "description": "The file name of the OpenAPI file (Amazon S3 object name)." }, "version": { - "type": "string" + "type": "string", + "description": "For versioning-enabled buckets, a specific version of the OpenAPI file." } }, "type": "object" @@ -2177,29 +2194,29 @@ ] }, "aws-native:apigateway:StageAccessLogSetting": { - "description": "Specifies settings for logging access in this stage.", + "description": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.", "properties": { "destinationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. This parameter is required to enable access logging." + "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``. This parameter is required to enable access logging." }, "format": { "type": "string", - "description": "A single line format of the access logs of data, as specified by selected $context variables (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least $context.requestId. This parameter is required to enable access logging." + "description": "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference). The format must include at least ``$context.requestId``. This parameter is required to enable access logging." } }, "type": "object" }, "aws-native:apigateway:StageCanarySetting": { - "description": "Specifies settings for the canary deployment in this stage.", + "description": "Configuration settings of a canary deployment.", "properties": { "deploymentId": { "type": "string", - "description": "The identifier of the deployment that the stage points to." + "description": "The ID of the canary deployment." }, "percentTraffic": { "type": "number", - "description": "The percentage (0-100) of traffic diverted to a canary deployment." + "description": "The percent (0-100) of traffic diverted to a canary deployment." }, "stageVariableOverrides": { "$ref": "pulumi.json#/Any", @@ -2207,53 +2224,53 @@ }, "useStageCache": { "type": "boolean", - "description": "Whether the canary deployment uses the stage cache or not." + "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not." } }, "type": "object" }, "aws-native:apigateway:StageMethodSetting": { - "description": "Configures settings for all methods in a stage.", + "description": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the ``AWS::ApiGateway::Stage`` resource contains a list of ``MethodSetting`` property types.", "properties": { "cacheDataEncrypted": { "type": "boolean", - "description": "Indicates whether the cached responses are encrypted." + "description": "Specifies whether the cached responses are encrypted." }, "cacheTtlInSeconds": { "type": "integer", - "description": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses." + "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached." }, "cachingEnabled": { "type": "boolean", - "description": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses." + "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached." }, "dataTraceEnabled": { "type": "boolean", - "description": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs." + "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs." }, "httpMethod": { "type": "string", - "description": "The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to multiple methods." + "description": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``." }, "loggingLevel": { "type": "string", - "description": "The logging level for this method. For valid values, see the loggingLevel property of the Stage (https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the Amazon API Gateway API Reference." + "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events." }, "metricsEnabled": { "type": "boolean", - "description": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage." + "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method." }, "resourcePath": { "type": "string", - "description": "The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource. To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard to apply method settings to multiple methods." + "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``." }, "throttlingBurstLimit": { "type": "integer", - "description": "The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling burst limit." }, "throttlingRateLimit": { "type": "number", - "description": "The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account." + "description": "Specifies the throttling rate limit." } }, "type": "object" @@ -2294,7 +2311,7 @@ "type": "object" }, "aws-native:apigateway:UsagePlanKeyKeyType": { - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY.", + "description": "The type of a UsagePlanKey resource for a plan customer.", "type": "string", "enum": [ { @@ -7463,6 +7480,54 @@ }, "type": "object" }, + "aws-native:appsync:FunctionConfigurationAppSyncRuntime": { + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.", + "properties": { + "name": { + "type": "string", + "description": "The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS." + }, + "runtimeVersion": { + "type": "string", + "description": "The version of the runtime to use. Currently, the only allowed version is 1.0.0." + } + }, + "type": "object", + "required": [ + "name", + "runtimeVersion" + ] + }, + "aws-native:appsync:FunctionConfigurationLambdaConflictHandlerConfig": { + "description": "The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.", + "properties": { + "lambdaConflictHandlerArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler." + } + }, + "type": "object" + }, + "aws-native:appsync:FunctionConfigurationSyncConfig": { + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.", + "properties": { + "conflictDetection": { + "type": "string", + "description": "The Conflict Detection strategy to use." + }, + "conflictHandler": { + "type": "string", + "description": "The Conflict Resolution strategy to perform in the event of a conflict." + }, + "lambdaConflictHandlerConfig": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationLambdaConflictHandlerConfig" + } + }, + "type": "object", + "required": [ + "conflictDetection" + ] + }, "aws-native:appsync:SourceApiAssociationConfig": { "properties": { "mergeType": { @@ -13492,11 +13557,7 @@ "type": "boolean" } }, - "type": "object", - "required": [ - "clientId", - "providerName" - ] + "type": "object" }, "aws-native:cognito:IdentityPoolCognitoStreams": { "properties": { @@ -13526,24 +13587,6 @@ }, "type": "object" }, - "aws-native:cognito:IdentityPoolTag": { - "description": "A key-value pair to associate with a resource.", - "properties": { - "key": { - "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." - }, - "value": { - "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." - } - }, - "type": "object", - "required": [ - "key", - "value" - ] - }, "aws-native:cognito:LogDeliveryConfigurationCloudWatchLogsConfiguration": { "properties": { "logGroupArn": { @@ -13566,6 +13609,254 @@ }, "type": "object" }, + "aws-native:cognito:UserPoolAccountRecoverySetting": { + "properties": { + "recoveryMechanisms": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cognito:UserPoolRecoveryOption" + } + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolAddOns": { + "properties": { + "advancedSecurityMode": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolAdminCreateUserConfig": { + "properties": { + "allowAdminCreateUserOnly": { + "type": "boolean" + }, + "inviteMessageTemplate": { + "$ref": "#/types/aws-native:cognito:UserPoolInviteMessageTemplate" + }, + "unusedAccountValidityDays": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolCustomEmailSender": { + "properties": { + "lambdaArn": { + "type": "string" + }, + "lambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolCustomSmsSender": { + "properties": { + "lambdaArn": { + "type": "string" + }, + "lambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolDeviceConfiguration": { + "properties": { + "challengeRequiredOnNewDevice": { + "type": "boolean" + }, + "deviceOnlyRememberedOnUserPrompt": { + "type": "boolean" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolEmailConfiguration": { + "properties": { + "configurationSet": { + "type": "string" + }, + "emailSendingAccount": { + "type": "string" + }, + "from": { + "type": "string" + }, + "replyToEmailAddress": { + "type": "string" + }, + "sourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolInviteMessageTemplate": { + "properties": { + "emailMessage": { + "type": "string" + }, + "emailSubject": { + "type": "string" + }, + "smsMessage": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolLambdaConfig": { + "properties": { + "createAuthChallenge": { + "type": "string" + }, + "customEmailSender": { + "$ref": "#/types/aws-native:cognito:UserPoolCustomEmailSender" + }, + "customMessage": { + "type": "string" + }, + "customSmsSender": { + "$ref": "#/types/aws-native:cognito:UserPoolCustomSmsSender" + }, + "defineAuthChallenge": { + "type": "string" + }, + "kmsKeyId": { + "type": "string" + }, + "postAuthentication": { + "type": "string" + }, + "postConfirmation": { + "type": "string" + }, + "preAuthentication": { + "type": "string" + }, + "preSignUp": { + "type": "string" + }, + "preTokenGeneration": { + "type": "string" + }, + "userMigration": { + "type": "string" + }, + "verifyAuthChallengeResponse": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolNumberAttributeConstraints": { + "properties": { + "maxValue": { + "type": "string" + }, + "minValue": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolPasswordPolicy": { + "properties": { + "minimumLength": { + "type": "integer" + }, + "requireLowercase": { + "type": "boolean" + }, + "requireNumbers": { + "type": "boolean" + }, + "requireSymbols": { + "type": "boolean" + }, + "requireUppercase": { + "type": "boolean" + }, + "temporaryPasswordValidityDays": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolPolicies": { + "properties": { + "passwordPolicy": { + "$ref": "#/types/aws-native:cognito:UserPoolPasswordPolicy" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolRecoveryOption": { + "properties": { + "name": { + "type": "string" + }, + "priority": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolSchemaAttribute": { + "properties": { + "attributeDataType": { + "type": "string" + }, + "developerOnlyAttribute": { + "type": "boolean" + }, + "mutable": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "numberAttributeConstraints": { + "$ref": "#/types/aws-native:cognito:UserPoolNumberAttributeConstraints" + }, + "required": { + "type": "boolean" + }, + "stringAttributeConstraints": { + "$ref": "#/types/aws-native:cognito:UserPoolStringAttributeConstraints" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolSmsConfiguration": { + "properties": { + "externalId": { + "type": "string" + }, + "snsCallerArn": { + "type": "string" + }, + "snsRegion": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolStringAttributeConstraints": { + "properties": { + "maxLength": { + "type": "string" + }, + "minLength": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:cognito:UserPoolUserAttributeType": { "properties": { "name": { @@ -13577,6 +13868,51 @@ }, "type": "object" }, + "aws-native:cognito:UserPoolUserAttributeUpdateSettings": { + "properties": { + "attributesRequireVerificationBeforeUpdate": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "attributesRequireVerificationBeforeUpdate" + ] + }, + "aws-native:cognito:UserPoolUsernameConfiguration": { + "properties": { + "caseSensitive": { + "type": "boolean" + } + }, + "type": "object" + }, + "aws-native:cognito:UserPoolVerificationMessageTemplate": { + "properties": { + "defaultEmailOption": { + "type": "string" + }, + "emailMessage": { + "type": "string" + }, + "emailMessageByLink": { + "type": "string" + }, + "emailSubject": { + "type": "string" + }, + "emailSubjectByLink": { + "type": "string" + }, + "smsMessage": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:comprehend:DocumentClassifierAugmentedManifestsListItem": { "properties": { "attributeNames": { @@ -31601,6 +31937,106 @@ "aws-native:emrserverless:ApplicationWorkerTypeSpecificationInputMap": { "type": "object" }, + "aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques": { + "properties": { + "idMappingType": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniquesIdMappingType" + }, + "providerProperties": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowProviderProperties" + } + }, + "type": "object" + }, + "aws-native:entityresolution:IdMappingWorkflowIdMappingTechniquesIdMappingType": { + "type": "string", + "enum": [ + { + "name": "Provider", + "value": "PROVIDER" + } + ] + }, + "aws-native:entityresolution:IdMappingWorkflowInputSource": { + "properties": { + "inputSourceArn": { + "type": "string", + "description": "An Glue table ARN for the input source table" + }, + "schemaArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "inputSourceArn", + "schemaArn" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowIntermediateSourceConfiguration": { + "properties": { + "intermediateS3Path": { + "type": "string", + "description": "The s3 path that would be used to stage the intermediate data being generated during workflow execution." + } + }, + "type": "object", + "required": [ + "intermediateS3Path" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowOutputSource": { + "properties": { + "kmsArn": { + "type": "string" + }, + "outputS3Path": { + "type": "string", + "description": "The S3 path to which Entity Resolution will write the output table" + } + }, + "type": "object", + "required": [ + "outputS3Path" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowProviderProperties": { + "properties": { + "intermediateSourceConfiguration": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIntermediateSourceConfiguration" + }, + "providerConfiguration": { + "$ref": "pulumi.json#/Any", + "description": "Additional Provider configuration that would be required for the provider service. The Configuration must be in JSON string format" + }, + "providerServiceArn": { + "type": "string", + "description": "Arn of the Provider Service being used." + } + }, + "type": "object", + "required": [ + "providerServiceArn" + ] + }, + "aws-native:entityresolution:IdMappingWorkflowTag": { + "description": "A key-value pair to associate with a resource", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:entityresolution:MatchingWorkflowInputSource": { "properties": { "applyNormalization": { @@ -32468,12 +32904,6 @@ "sql": { "type": "string" }, - "sqls": { - "type": "array", - "items": { - "type": "string" - } - }, "statementName": { "type": "string" }, @@ -32566,20 +32996,6 @@ "messageGroupId" ] }, - "aws-native:events:RuleState": { - "description": "The state of the rule.", - "type": "string", - "enum": [ - { - "name": "Disabled", - "value": "DISABLED" - }, - { - "name": "Enabled", - "value": "ENABLED" - } - ] - }, "aws-native:events:RuleTag": { "properties": { "key": { @@ -34869,6 +35285,16 @@ } ] }, + "aws-native:gamelift:FleetInstanceRoleCredentialsProvider": { + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "type": "string", + "enum": [ + { + "name": "SharedCredentialFile", + "value": "SHARED_CREDENTIAL_FILE" + } + ] + }, "aws-native:gamelift:FleetIpPermission": { "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", "properties": { @@ -36985,6 +37411,21 @@ "value" ] }, + "aws-native:iam:GroupPolicy": { + "properties": { + "policyDocument": { + "$ref": "pulumi.json#/Any" + }, + "policyName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "policyDocument", + "policyName" + ] + }, "aws-native:iam:OidcProviderTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -40964,6 +41405,21 @@ } ] }, + "aws-native:iot:PolicyTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:iot:PresignedUrlConfigProperties": { "description": "Configuration for pre-signed S3 URLs.", "properties": { @@ -75547,6 +76003,30 @@ } ] }, + "aws-native:quicksight:AnalysisValidationStrategy": { + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategyMode" + } + }, + "type": "object", + "required": [ + "mode" + ] + }, + "aws-native:quicksight:AnalysisValidationStrategyMode": { + "type": "string", + "enum": [ + { + "name": "Strict", + "value": "STRICT" + }, + { + "name": "Lenient", + "value": "LENIENT" + } + ] + }, "aws-native:quicksight:AnalysisValueWhenUnsetOption": { "type": "string", "enum": [ @@ -85877,6 +86357,30 @@ } ] }, + "aws-native:quicksight:DashboardValidationStrategy": { + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategyMode" + } + }, + "type": "object", + "required": [ + "mode" + ] + }, + "aws-native:quicksight:DashboardValidationStrategyMode": { + "type": "string", + "enum": [ + { + "name": "Strict", + "value": "STRICT" + }, + { + "name": "Lenient", + "value": "LENIENT" + } + ] + }, "aws-native:quicksight:DashboardValueWhenUnsetOption": { "type": "string", "enum": [ @@ -97575,6 +98079,30 @@ } ] }, + "aws-native:quicksight:TemplateValidationStrategy": { + "properties": { + "mode": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategyMode" + } + }, + "type": "object", + "required": [ + "mode" + ] + }, + "aws-native:quicksight:TemplateValidationStrategyMode": { + "type": "string", + "enum": [ + { + "name": "Strict", + "value": "STRICT" + }, + { + "name": "Lenient", + "value": "LENIENT" + } + ] + }, "aws-native:quicksight:TemplateValueWhenUnsetOption": { "type": "string", "enum": [ @@ -106144,6 +106672,10 @@ "datasetFormat": { "$ref": "#/types/aws-native:sagemaker:DataQualityJobDefinitionDatasetFormat" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -106326,6 +106858,10 @@ "endpointName": { "type": "string" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -110687,6 +111223,10 @@ "datasetFormat": { "$ref": "#/types/aws-native:sagemaker:MonitoringScheduleDatasetFormat" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -110822,6 +111362,10 @@ "endpointName": { "type": "string" }, + "excludeFeaturesAttribute": { + "type": "string", + "description": "Indexes or names of the features to be excluded from analysis" + }, "localPath": { "type": "string", "description": "Path to the filesystem where the endpoint data is available to the container." @@ -111170,9 +111714,17 @@ "aws-native:sagemaker:MonitoringScheduleScheduleConfig": { "description": "Configuration details about the monitoring schedule.", "properties": { + "dataAnalysisEndTime": { + "type": "string", + "description": "Data Analysis end time, e.g. PT0H" + }, + "dataAnalysisStartTime": { + "type": "string", + "description": "Data Analysis start time, e.g. -PT1H" + }, "scheduleExpression": { "type": "string", - "description": "A cron expression that describes details about the monitoring schedule." + "description": "A cron expression or 'NOW' that describes details about the monitoring schedule." } }, "type": "object", @@ -122799,18 +123351,18 @@ ] }, "aws-native:apigateway:Account": { - "description": "Resource Type definition for AWS::ApiGateway::Account", + "description": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account.", "properties": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." } }, "type": "object", "inputProperties": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." } } }, @@ -122909,7 +123461,7 @@ } }, "aws-native:apigateway:Authorizer": { - "description": "Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.", + "description": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.", "properties": { "authType": { "type": "string", @@ -122917,26 +123469,26 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerId": { "type": "string" }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -122947,16 +123499,16 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "restApiId": { "type": "string", - "description": "The identifier of the API.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } }, "type": "object", @@ -122973,23 +123525,23 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -123000,15 +123552,15 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } }, "requiredInputs": [ @@ -123102,11 +123654,11 @@ } }, "aws-native:apigateway:Deployment": { - "description": "Resource Type definition for AWS::ApiGateway::Deployment", + "description": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.", "properties": { "deploymentCanarySettings": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySettings", - "description": "Specifies settings for the canary deployment.", + "description": "The input configuration for a canary deployment.", "replaceOnChanges": true }, "deploymentId": { @@ -123115,20 +123667,20 @@ }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. ", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "stageDescription": { "$ref": "#/types/aws-native:apigateway:DeploymentStageDescription", - "description": "Configures the stage that API Gateway creates with this deployment." + "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name." }, "stageName": { "type": "string", - "description": "A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters." + "description": "The name of the Stage resource for the Deployment resource to create." } }, "type": "object", @@ -123139,23 +123691,23 @@ "inputProperties": { "deploymentCanarySettings": { "$ref": "#/types/aws-native:apigateway:DeploymentCanarySettings", - "description": "Specifies settings for the canary deployment." + "description": "The input configuration for a canary deployment." }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. " + "description": "The string identifier of the associated RestApi." }, "stageDescription": { "$ref": "#/types/aws-native:apigateway:DeploymentStageDescription", - "description": "Configures the stage that API Gateway creates with this deployment." + "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name." }, "stageName": { "type": "string", - "description": "A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters." + "description": "The name of the Stage resource for the Deployment resource to create." } }, "requiredInputs": [ @@ -123163,7 +123715,7 @@ ] }, "aws-native:apigateway:DocumentationPart": { - "description": "Resource Type definition for AWS::ApiGateway::DocumentationPart", + "description": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "properties": { "documentationPartId": { "type": "string", @@ -123171,16 +123723,16 @@ }, "location": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocation", - "description": "The location of the API entity that the documentation applies to.", + "description": "The location of the targeted API entity of the to-be-created documentation part.", "replaceOnChanges": true }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -123194,15 +123746,15 @@ "inputProperties": { "location": { "$ref": "#/types/aws-native:apigateway:DocumentationPartLocation", - "description": "The location of the API entity that the documentation applies to." + "description": "The location of the targeted API entity of the to-be-created documentation part." }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity" + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -123212,15 +123764,15 @@ ] }, "aws-native:apigateway:DocumentationVersion": { - "description": "A snapshot of the documentation of an API.", + "description": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "properties": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." }, "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -123230,7 +123782,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -123242,11 +123794,11 @@ "inputProperties": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." }, "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -123255,7 +123807,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -123355,67 +123907,67 @@ } }, "aws-native:apigateway:Method": { - "description": "Resource Type definition for AWS::ApiGateway::Method", + "description": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.", "properties": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request.", + "description": "The method's HTTP verb.", "replaceOnChanges": true }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource.", + "description": "The Resource identifier for the MethodResponse resource.", "replaceOnChanges": true }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -123428,61 +123980,61 @@ "inputProperties": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request." + "description": "The method's HTTP verb." }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource." + "description": "The Resource identifier for the MethodResponse resource." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method." + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -123492,30 +124044,30 @@ ] }, "aws-native:apigateway:Model": { - "description": "Resource Type definition for AWS::ApiGateway::Model", + "description": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method.", "properties": { "contentType": { "type": "string", - "description": "The content type for the model.", + "description": "The content-type for the model.", "replaceOnChanges": true }, "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name.", + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "replaceOnChanges": true }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } }, "type": "object", @@ -123525,23 +124077,23 @@ "inputProperties": { "contentType": { "type": "string", - "description": "The content type for the model." + "description": "The content-type for the model." }, "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name." + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model." + "description": "The string identifier of the associated RestApi." }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } }, "requiredInputs": [ @@ -123602,7 +124154,7 @@ ] }, "aws-native:apigateway:Resource": { - "description": "Resource Type definition for AWS::ApiGateway::Resource", + "description": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.", "properties": { "parentId": { "type": "string", @@ -123620,7 +124172,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource..", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true } }, @@ -123642,7 +124194,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource.." + "description": "The string identifier of the associated RestApi." } }, "requiredInputs": [ @@ -123652,52 +124204,66 @@ ] }, "aws-native:apigateway:RestApi": { - "description": "Resource Type definition for AWS::ApiGateway::RestApi.\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 apiName = config.Require(\"apiName\");\n var description = config.Require(\"description\");\n var version = config.Require(\"version\");\n var type = config.Require(\"type\");\n var property = config.Require(\"property\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var documentationPart = new AwsNative.ApiGateway.DocumentationPart(\"documentationPart\", new()\n {\n Location = new AwsNative.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = System.Enum.Parse\u003cAwsNative.ApiGateway.DocumentationPartLocationType\u003e(type),\n },\n RestApiId = restApi.Id,\n Properties = property,\n });\n\n var documentationVersion = new AwsNative.ApiGateway.DocumentationVersion(\"documentationVersion\", new()\n {\n Description = description,\n DocumentationVersionValue = version,\n RestApiId = restApi.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n documentationPart,\n },\n });\n\n});\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 apiName = config.require(\"apiName\");\nconst description = config.require(\"description\");\nconst version = config.require(\"version\");\nconst type = config.require(\"type\");\nconst property = config.require(\"property\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst documentationPart = new aws_native.apigateway.DocumentationPart(\"documentationPart\", {\n location: {\n type: aws_native.apigateway.DocumentationPartLocationType[type],\n },\n restApiId: restApi.id,\n properties: property,\n});\nconst documentationVersion = new aws_native.apigateway.DocumentationVersion(\"documentationVersion\", {\n description: description,\n documentationVersion: version,\n restApiId: restApi.id,\n}, {\n dependsOn: [documentationPart],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ndescription = config.require(\"description\")\nversion = config.require(\"version\")\ntype = config.require(\"type\")\nproperty = config.require(\"property\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\ndocumentation_part = aws_native.apigateway.DocumentationPart(\"documentationPart\",\n location=aws_native.apigateway.DocumentationPartLocationArgs(\n type=aws_native.apigateway.DocumentationPartLocationType(type),\n ),\n rest_api_id=rest_api.id,\n properties=property)\ndocumentation_version = aws_native.apigateway.DocumentationVersion(\"documentationVersion\",\n description=description,\n documentation_version=version,\n rest_api_id=rest_api.id,\n opts=pulumi.ResourceOptions(depends_on=[documentation_part]))\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var description = config.Require(\"description\");\n var version = config.Require(\"version\");\n var type = config.Require(\"type\");\n var property = config.Require(\"property\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var documentationPart = new AwsNative.ApiGateway.DocumentationPart(\"documentationPart\", new()\n {\n Location = new AwsNative.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = System.Enum.Parse\u003cAwsNative.ApiGateway.DocumentationPartLocationType\u003e(type),\n },\n RestApiId = restApi.Id,\n Properties = property,\n });\n\n var documentationVersion = new AwsNative.ApiGateway.DocumentationVersion(\"documentationVersion\", new()\n {\n Description = description,\n DocumentationVersionValue = version,\n RestApiId = restApi.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n documentationPart,\n },\n });\n\n});\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 apiName = config.require(\"apiName\");\nconst description = config.require(\"description\");\nconst version = config.require(\"version\");\nconst type = config.require(\"type\");\nconst property = config.require(\"property\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst documentationPart = new aws_native.apigateway.DocumentationPart(\"documentationPart\", {\n location: {\n type: aws_native.apigateway.DocumentationPartLocationType[type],\n },\n restApiId: restApi.id,\n properties: property,\n});\nconst documentationVersion = new aws_native.apigateway.DocumentationVersion(\"documentationVersion\", {\n description: description,\n documentationVersion: version,\n restApiId: restApi.id,\n}, {\n dependsOn: [documentationPart],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ndescription = config.require(\"description\")\nversion = config.require(\"version\")\ntype = config.require(\"type\")\nproperty = config.require(\"property\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\ndocumentation_part = aws_native.apigateway.DocumentationPart(\"documentationPart\",\n location=aws_native.apigateway.DocumentationPartLocationArgs(\n type=aws_native.apigateway.DocumentationPartLocationType(type),\n ),\n rest_api_id=rest_api.id,\n properties=property)\ndocumentation_version = aws_native.apigateway.DocumentationVersion(\"documentationVersion\",\n description=description,\n documentation_version=version,\n rest_api_id=rest_api.id,\n opts=pulumi.ResourceOptions(depends_on=[documentation_part]))\n\n```\n\n{{% /example %}}\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 contentHandling = config.Require(\"contentHandling\");\n var operationName = config.Get(\"operationName\") ?? \"testoperationName\";\n var restApiName = config.Get(\"restApiName\") ?? \"testrestApiName\";\n var validatorName = config.Get(\"validatorName\") ?? \"testvalidatorName\";\n var validateRequestBody = config.Get(\"validateRequestBody\") ?? \"testvalidateRequestBody\";\n var validateRequestParameters = config.Get(\"validateRequestParameters\") ?? true;\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = restApiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n var method = new AwsNative.ApiGateway.Method(\"method\", new()\n {\n HttpMethod = \"POST\",\n ResourceId = restApi.RootResourceId,\n RestApiId = restApi.Id,\n AuthorizationType = AwsNative.ApiGateway.MethodAuthorizationType.None,\n Integration = new AwsNative.ApiGateway.Inputs.MethodIntegrationArgs\n {\n Type = AwsNative.ApiGateway.MethodIntegrationType.Mock,\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationContentHandling\u003e(contentHandling),\n IntegrationResponses = new[]\n {\n new AwsNative.ApiGateway.Inputs.MethodIntegrationResponseArgs\n {\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationResponseContentHandling\u003e(contentHandling),\n StatusCode = \"400\",\n },\n },\n },\n RequestValidatorId = requestValidator.Id,\n OperationName = operationName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"rootResourceId\"] = restApi.RootResourceId,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\ncontentHandling := cfg.Require(\"contentHandling\")\noperationName := \"testoperationName\";\nif param := cfg.Get(\"operationName\"); param != \"\"{\noperationName = param\n}\nrestApiName := \"testrestApiName\";\nif param := cfg.Get(\"restApiName\"); param != \"\"{\nrestApiName = param\n}\nvalidatorName := \"testvalidatorName\";\nif param := cfg.Get(\"validatorName\"); param != \"\"{\nvalidatorName = param\n}\nvalidateRequestBody := \"testvalidateRequestBody\";\nif param := cfg.Get(\"validateRequestBody\"); param != \"\"{\nvalidateRequestBody = param\n}\nvalidateRequestParameters := true;\nif param := cfg.Get(\"validateRequestParameters\"); param != \"\"{\nvalidateRequestParameters = param\n}\nrestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\nName: pulumi.String(restApiName),\n})\nif err != nil {\nreturn err\n}\nrequestValidator, err := apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\nName: pulumi.String(validatorName),\nRestApiId: restApi.ID(),\nValidateRequestBody: pulumi.String(validateRequestBody),\nValidateRequestParameters: pulumi.String(validateRequestParameters),\n})\nif err != nil {\nreturn err\n}\n_, err = apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\nHttpMethod: pulumi.String(\"POST\"),\nResourceId: restApi.RootResourceId,\nRestApiId: restApi.ID(),\nAuthorizationType: apigateway.MethodAuthorizationTypeNone,\nIntegration: interface{}{\nType: apigateway.MethodIntegrationTypeMock,\nContentHandling: apigateway.MethodIntegrationContentHandling(contentHandling),\nIntegrationResponses: apigateway.MethodIntegrationResponseArray{\n\u0026apigateway.MethodIntegrationResponseArgs{\nContentHandling: apigateway.MethodIntegrationResponseContentHandling(contentHandling),\nStatusCode: pulumi.String(\"400\"),\n},\n},\n},\nRequestValidatorId: requestValidator.ID(),\nOperationName: pulumi.String(operationName),\n})\nif err != nil {\nreturn err\n}\nctx.Export(\"rootResourceId\", restApi.RootResourceId)\nreturn nil\n})\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 contentHandling = config.require(\"contentHandling\");\nconst operationName = config.get(\"operationName\") || \"testoperationName\";\nconst restApiName = config.get(\"restApiName\") || \"testrestApiName\";\nconst validatorName = config.get(\"validatorName\") || \"testvalidatorName\";\nconst validateRequestBody = config.get(\"validateRequestBody\") || \"testvalidateRequestBody\";\nconst validateRequestParameters = config.get(\"validateRequestParameters\") || true;\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: restApiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\nconst method = new aws_native.apigateway.Method(\"method\", {\n httpMethod: \"POST\",\n resourceId: restApi.rootResourceId,\n restApiId: restApi.id,\n authorizationType: aws_native.apigateway.MethodAuthorizationType.None,\n integration: {\n type: aws_native.apigateway.MethodIntegrationType.Mock,\n contentHandling: aws_native.apigateway.MethodIntegrationContentHandling[contentHandling],\n integrationResponses: [{\n contentHandling: aws_native.apigateway.MethodIntegrationResponseContentHandling[contentHandling],\n statusCode: \"400\",\n }],\n },\n requestValidatorId: requestValidator.id,\n operationName: operationName,\n});\nexport const rootResourceId = restApi.rootResourceId;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\ncontent_handling = config.require(\"contentHandling\")\noperation_name = config.get(\"operationName\")\nif operation_name is None:\n operation_name = \"testoperationName\"\nrest_api_name = config.get(\"restApiName\")\nif rest_api_name is None:\n rest_api_name = \"testrestApiName\"\nvalidator_name = config.get(\"validatorName\")\nif validator_name is None:\n validator_name = \"testvalidatorName\"\nvalidate_request_body = config.get(\"validateRequestBody\")\nif validate_request_body is None:\n validate_request_body = \"testvalidateRequestBody\"\nvalidate_request_parameters = config.get(\"validateRequestParameters\")\nif validate_request_parameters is None:\n validate_request_parameters = True\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=rest_api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\nmethod = aws_native.apigateway.Method(\"method\",\n http_method=\"POST\",\n resource_id=rest_api.root_resource_id,\n rest_api_id=rest_api.id,\n authorization_type=aws_native.apigateway.MethodAuthorizationType.NONE,\n integration=aws_native.apigateway.MethodIntegrationArgs(\n type=aws_native.apigateway.MethodIntegrationType.MOCK,\n content_handling=aws_native.apigateway.MethodIntegrationContentHandling(content_handling),\n integration_responses=[aws_native.apigateway.MethodIntegrationResponseArgs(\n content_handling=aws_native.apigateway.MethodIntegrationResponseContentHandling(content_handling),\n status_code=\"400\",\n )],\n ),\n request_validator_id=request_validator.id,\n operation_name=operation_name)\npulumi.export(\"rootResourceId\", rest_api.root_resource_id)\n\n```\n\n{{% /example %}}\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 contentHandling = config.Require(\"contentHandling\");\n var operationName = config.Get(\"operationName\") ?? \"testoperationName\";\n var restApiName = config.Get(\"restApiName\") ?? \"testrestApiName\";\n var validatorName = config.Get(\"validatorName\") ?? \"testvalidatorName\";\n var validateRequestBody = config.Get(\"validateRequestBody\") ?? \"testvalidateRequestBody\";\n var validateRequestParameters = config.Get(\"validateRequestParameters\") ?? true;\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = restApiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n var method = new AwsNative.ApiGateway.Method(\"method\", new()\n {\n HttpMethod = \"POST\",\n ResourceId = restApi.RootResourceId,\n RestApiId = restApi.Id,\n AuthorizationType = AwsNative.ApiGateway.MethodAuthorizationType.None,\n Integration = new AwsNative.ApiGateway.Inputs.MethodIntegrationArgs\n {\n Type = AwsNative.ApiGateway.MethodIntegrationType.Mock,\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationContentHandling\u003e(contentHandling),\n IntegrationResponses = new[]\n {\n new AwsNative.ApiGateway.Inputs.MethodIntegrationResponseArgs\n {\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationResponseContentHandling\u003e(contentHandling),\n StatusCode = \"400\",\n },\n },\n },\n RequestValidatorId = requestValidator.Id,\n OperationName = operationName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"rootResourceId\"] = restApi.RootResourceId,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\ncontentHandling := cfg.Require(\"contentHandling\")\noperationName := \"testoperationName\";\nif param := cfg.Get(\"operationName\"); param != \"\"{\noperationName = param\n}\nrestApiName := \"testrestApiName\";\nif param := cfg.Get(\"restApiName\"); param != \"\"{\nrestApiName = param\n}\nvalidatorName := \"testvalidatorName\";\nif param := cfg.Get(\"validatorName\"); param != \"\"{\nvalidatorName = param\n}\nvalidateRequestBody := \"testvalidateRequestBody\";\nif param := cfg.Get(\"validateRequestBody\"); param != \"\"{\nvalidateRequestBody = param\n}\nvalidateRequestParameters := true;\nif param := cfg.Get(\"validateRequestParameters\"); param != \"\"{\nvalidateRequestParameters = param\n}\nrestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\nName: pulumi.String(restApiName),\n})\nif err != nil {\nreturn err\n}\nrequestValidator, err := apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\nName: pulumi.String(validatorName),\nRestApiId: restApi.ID(),\nValidateRequestBody: pulumi.String(validateRequestBody),\nValidateRequestParameters: pulumi.String(validateRequestParameters),\n})\nif err != nil {\nreturn err\n}\n_, err = apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\nHttpMethod: pulumi.String(\"POST\"),\nResourceId: restApi.RootResourceId,\nRestApiId: restApi.ID(),\nAuthorizationType: apigateway.MethodAuthorizationTypeNone,\nIntegration: interface{}{\nType: apigateway.MethodIntegrationTypeMock,\nContentHandling: apigateway.MethodIntegrationContentHandling(contentHandling),\nIntegrationResponses: apigateway.MethodIntegrationResponseArray{\n\u0026apigateway.MethodIntegrationResponseArgs{\nContentHandling: apigateway.MethodIntegrationResponseContentHandling(contentHandling),\nStatusCode: pulumi.String(\"400\"),\n},\n},\n},\nRequestValidatorId: requestValidator.ID(),\nOperationName: pulumi.String(operationName),\n})\nif err != nil {\nreturn err\n}\nctx.Export(\"rootResourceId\", restApi.RootResourceId)\nreturn nil\n})\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 contentHandling = config.require(\"contentHandling\");\nconst operationName = config.get(\"operationName\") || \"testoperationName\";\nconst restApiName = config.get(\"restApiName\") || \"testrestApiName\";\nconst validatorName = config.get(\"validatorName\") || \"testvalidatorName\";\nconst validateRequestBody = config.get(\"validateRequestBody\") || \"testvalidateRequestBody\";\nconst validateRequestParameters = config.get(\"validateRequestParameters\") || true;\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: restApiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\nconst method = new aws_native.apigateway.Method(\"method\", {\n httpMethod: \"POST\",\n resourceId: restApi.rootResourceId,\n restApiId: restApi.id,\n authorizationType: aws_native.apigateway.MethodAuthorizationType.None,\n integration: {\n type: aws_native.apigateway.MethodIntegrationType.Mock,\n contentHandling: aws_native.apigateway.MethodIntegrationContentHandling[contentHandling],\n integrationResponses: [{\n contentHandling: aws_native.apigateway.MethodIntegrationResponseContentHandling[contentHandling],\n statusCode: \"400\",\n }],\n },\n requestValidatorId: requestValidator.id,\n operationName: operationName,\n});\nexport const rootResourceId = restApi.rootResourceId;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\ncontent_handling = config.require(\"contentHandling\")\noperation_name = config.get(\"operationName\")\nif operation_name is None:\n operation_name = \"testoperationName\"\nrest_api_name = config.get(\"restApiName\")\nif rest_api_name is None:\n rest_api_name = \"testrestApiName\"\nvalidator_name = config.get(\"validatorName\")\nif validator_name is None:\n validator_name = \"testvalidatorName\"\nvalidate_request_body = config.get(\"validateRequestBody\")\nif validate_request_body is None:\n validate_request_body = \"testvalidateRequestBody\"\nvalidate_request_parameters = config.get(\"validateRequestParameters\")\nif validate_request_parameters is None:\n validate_request_parameters = True\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=rest_api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\nmethod = aws_native.apigateway.Method(\"method\",\n http_method=\"POST\",\n resource_id=rest_api.root_resource_id,\n rest_api_id=rest_api.id,\n authorization_type=aws_native.apigateway.MethodAuthorizationType.NONE,\n integration=aws_native.apigateway.MethodIntegrationArgs(\n type=aws_native.apigateway.MethodIntegrationType.MOCK,\n content_handling=aws_native.apigateway.MethodIntegrationContentHandling(content_handling),\n integration_responses=[aws_native.apigateway.MethodIntegrationResponseArgs(\n content_handling=aws_native.apigateway.MethodIntegrationResponseContentHandling(content_handling),\n status_code=\"400\",\n )],\n ),\n request_validator_id=request_validator.id,\n operation_name=operation_name)\npulumi.export(\"rootResourceId\", rest_api.root_resource_id)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var validatorName = config.Require(\"validatorName\");\n var validateRequestBody = config.Require(\"validateRequestBody\");\n var validateRequestParameters = config.Require(\"validateRequestParameters\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\tvalidatorName := cfg.Require(\"validatorName\")\n\t\tvalidateRequestBody := cfg.Require(\"validateRequestBody\")\n\t\tvalidateRequestParameters := cfg.Require(\"validateRequestParameters\")\n\t\trestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(apiName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\n\t\t\tName: pulumi.String(validatorName),\n\t\t\tRestApiId: restApi.ID(),\n\t\t\tValidateRequestBody: pulumi.String(validateRequestBody),\n\t\t\tValidateRequestParameters: pulumi.String(validateRequestParameters),\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 apiName = config.require(\"apiName\");\nconst validatorName = config.require(\"validatorName\");\nconst validateRequestBody = config.require(\"validateRequestBody\");\nconst validateRequestParameters = config.require(\"validateRequestParameters\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\nvalidator_name = config.require(\"validatorName\")\nvalidate_request_body = config.require(\"validateRequestBody\")\nvalidate_request_parameters = config.require(\"validateRequestParameters\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var validatorName = config.Require(\"validatorName\");\n var validateRequestBody = config.Require(\"validateRequestBody\");\n var validateRequestParameters = config.Require(\"validateRequestParameters\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\tvalidatorName := cfg.Require(\"validatorName\")\n\t\tvalidateRequestBody := cfg.Require(\"validateRequestBody\")\n\t\tvalidateRequestParameters := cfg.Require(\"validateRequestParameters\")\n\t\trestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(apiName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\n\t\t\tName: pulumi.String(validatorName),\n\t\t\tRestApiId: restApi.ID(),\n\t\t\tValidateRequestBody: pulumi.String(validateRequestBody),\n\t\t\tValidateRequestParameters: pulumi.String(validateRequestParameters),\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 apiName = config.require(\"apiName\");\nconst validatorName = config.require(\"validatorName\");\nconst validateRequestBody = config.require(\"validateRequestBody\");\nconst validateRequestParameters = config.require(\"validateRequestParameters\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\nvalidator_name = config.require(\"validatorName\")\nvalidate_request_body = config.require(\"validateRequestBody\")\nvalidate_request_parameters = config.require(\"validateRequestParameters\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var type = config.Require(\"type\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n EndpointConfiguration = new AwsNative.ApiGateway.Inputs.RestApiEndpointConfigurationArgs\n {\n Types = new[]\n {\n type,\n },\n },\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\t_type := cfg.Require(\"type\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tEndpointConfiguration: \u0026apigateway.RestApiEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(_type),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(apiName),\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 apiName = config.require(\"apiName\");\nconst type = config.require(\"type\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n endpointConfiguration: {\n types: [type],\n },\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ntype = config.require(\"type\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n endpoint_configuration=aws_native.apigateway.RestApiEndpointConfigurationArgs(\n types=[type],\n ),\n name=api_name)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var type = config.Require(\"type\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n EndpointConfiguration = new AwsNative.ApiGateway.Inputs.RestApiEndpointConfigurationArgs\n {\n Types = new[]\n {\n type,\n },\n },\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\t_type := cfg.Require(\"type\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tEndpointConfiguration: \u0026apigateway.RestApiEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(_type),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(apiName),\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 apiName = config.require(\"apiName\");\nconst type = config.require(\"type\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n endpointConfiguration: {\n types: [type],\n },\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ntype = config.require(\"type\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n endpoint_configuration=aws_native.apigateway.RestApiEndpointConfigurationArgs(\n types=[type],\n ),\n name=api_name)\n\n```\n\n{{% /example %}}\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 restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Body = \n {\n { \"swagger\", 2 },\n { \"info\", \n {\n { \"version\", \"0.0.1\" },\n { \"title\", \"test\" },\n } },\n { \"basePath\", \"/pete\" },\n { \"schemes\", new[]\n {\n \"https\",\n } },\n { \"definitions\", \n {\n { \"empty\", \n {\n { \"type\", \"object\" },\n } },\n } },\n },\n Name = \"myApi\",\n Parameters = \n {\n { \"endpointConfigurationTypes\", \"REGIONAL\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tBody: pulumi.Any{\n\t\t\t\tSwagger: 2,\n\t\t\t\tInfo: map[string]interface{}{\n\t\t\t\t\t\"version\": \"0.0.1\",\n\t\t\t\t\t\"title\": \"test\",\n\t\t\t\t},\n\t\t\t\tBasePath: \"/pete\",\n\t\t\t\tSchemes: []string{\n\t\t\t\t\t\"https\",\n\t\t\t\t},\n\t\t\t\tDefinitions: map[string]interface{}{\n\t\t\t\t\t\"empty\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"myApi\"),\n\t\t\tParameters: pulumi.Any{\n\t\t\t\tEndpointConfigurationTypes: \"REGIONAL\",\n\t\t\t},\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 restApi = new aws_native.apigateway.RestApi(\"restApi\", {\n body: {\n swagger: 2,\n info: {\n version: \"0.0.1\",\n title: \"test\",\n },\n basePath: \"/pete\",\n schemes: [\"https\"],\n definitions: {\n empty: {\n type: \"object\",\n },\n },\n },\n name: \"myApi\",\n parameters: {\n endpointConfigurationTypes: \"REGIONAL\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nrest_api = aws_native.apigateway.RestApi(\"restApi\",\n body={\n \"swagger\": 2,\n \"info\": {\n \"version\": \"0.0.1\",\n \"title\": \"test\",\n },\n \"basePath\": \"/pete\",\n \"schemes\": [\"https\"],\n \"definitions\": {\n \"empty\": {\n \"type\": \"object\",\n },\n },\n },\n name=\"myApi\",\n parameters={\n \"endpointConfigurationTypes\": \"REGIONAL\",\n })\n\n```\n\n{{% /example %}}\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 restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Body = \n {\n { \"swagger\", 2 },\n { \"info\", \n {\n { \"version\", \"0.0.1\" },\n { \"title\", \"test\" },\n } },\n { \"basePath\", \"/pete\" },\n { \"schemes\", new[]\n {\n \"https\",\n } },\n { \"definitions\", \n {\n { \"empty\", \n {\n { \"type\", \"object\" },\n } },\n } },\n },\n Name = \"myApi\",\n Parameters = \n {\n { \"endpointConfigurationTypes\", \"REGIONAL\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tBody: pulumi.Any{\n\t\t\t\tSwagger: 2,\n\t\t\t\tInfo: map[string]interface{}{\n\t\t\t\t\t\"version\": \"0.0.1\",\n\t\t\t\t\t\"title\": \"test\",\n\t\t\t\t},\n\t\t\t\tBasePath: \"/pete\",\n\t\t\t\tSchemes: []string{\n\t\t\t\t\t\"https\",\n\t\t\t\t},\n\t\t\t\tDefinitions: map[string]interface{}{\n\t\t\t\t\t\"empty\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"myApi\"),\n\t\t\tParameters: pulumi.Any{\n\t\t\t\tEndpointConfigurationTypes: \"REGIONAL\",\n\t\t\t},\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 restApi = new aws_native.apigateway.RestApi(\"restApi\", {\n body: {\n swagger: 2,\n info: {\n version: \"0.0.1\",\n title: \"test\",\n },\n basePath: \"/pete\",\n schemes: [\"https\"],\n definitions: {\n empty: {\n type: \"object\",\n },\n },\n },\n name: \"myApi\",\n parameters: {\n endpointConfigurationTypes: \"REGIONAL\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nrest_api = aws_native.apigateway.RestApi(\"restApi\",\n body={\n \"swagger\": 2,\n \"info\": {\n \"version\": \"0.0.1\",\n \"title\": \"test\",\n },\n \"basePath\": \"/pete\",\n \"schemes\": [\"https\"],\n \"definitions\": {\n \"empty\": {\n \"type\": \"object\",\n },\n },\n },\n name=\"myApi\",\n parameters={\n \"endpointConfigurationTypes\": \"REGIONAL\",\n })\n\n```\n\n{{% /example %}}\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 apiKeySourceType = config.Require(\"apiKeySourceType\");\n var apiName = config.Require(\"apiName\");\n var binaryMediaType1 = config.Require(\"binaryMediaType1\");\n var binaryMediaType2 = config.Require(\"binaryMediaType2\");\n var minimumCompressionSize = config.Require(\"minimumCompressionSize\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n ApiKeySourceType = apiKeySourceType,\n BinaryMediaTypes = new[]\n {\n binaryMediaType1,\n binaryMediaType2,\n },\n MinimumCompressionSize = minimumCompressionSize,\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiKeySourceType := cfg.Require(\"apiKeySourceType\")\n\t\tapiName := cfg.Require(\"apiName\")\n\t\tbinaryMediaType1 := cfg.Require(\"binaryMediaType1\")\n\t\tbinaryMediaType2 := cfg.Require(\"binaryMediaType2\")\n\t\tminimumCompressionSize := cfg.Require(\"minimumCompressionSize\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tApiKeySourceType: pulumi.String(apiKeySourceType),\n\t\t\tBinaryMediaTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(binaryMediaType1),\n\t\t\t\tpulumi.String(binaryMediaType2),\n\t\t\t},\n\t\t\tMinimumCompressionSize: pulumi.String(minimumCompressionSize),\n\t\t\tName: pulumi.String(apiName),\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 apiKeySourceType = config.require(\"apiKeySourceType\");\nconst apiName = config.require(\"apiName\");\nconst binaryMediaType1 = config.require(\"binaryMediaType1\");\nconst binaryMediaType2 = config.require(\"binaryMediaType2\");\nconst minimumCompressionSize = config.require(\"minimumCompressionSize\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n apiKeySourceType: apiKeySourceType,\n binaryMediaTypes: [\n binaryMediaType1,\n binaryMediaType2,\n ],\n minimumCompressionSize: minimumCompressionSize,\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_key_source_type = config.require(\"apiKeySourceType\")\napi_name = config.require(\"apiName\")\nbinary_media_type1 = config.require(\"binaryMediaType1\")\nbinary_media_type2 = config.require(\"binaryMediaType2\")\nminimum_compression_size = config.require(\"minimumCompressionSize\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n api_key_source_type=api_key_source_type,\n binary_media_types=[\n binary_media_type1,\n binary_media_type2,\n ],\n minimum_compression_size=minimum_compression_size,\n name=api_name)\n\n```\n\n{{% /example %}}\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 apiKeySourceType = config.Require(\"apiKeySourceType\");\n var apiName = config.Require(\"apiName\");\n var binaryMediaType1 = config.Require(\"binaryMediaType1\");\n var binaryMediaType2 = config.Require(\"binaryMediaType2\");\n var minimumCompressionSize = config.Require(\"minimumCompressionSize\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n ApiKeySourceType = apiKeySourceType,\n BinaryMediaTypes = new[]\n {\n binaryMediaType1,\n binaryMediaType2,\n },\n MinimumCompressionSize = minimumCompressionSize,\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiKeySourceType := cfg.Require(\"apiKeySourceType\")\n\t\tapiName := cfg.Require(\"apiName\")\n\t\tbinaryMediaType1 := cfg.Require(\"binaryMediaType1\")\n\t\tbinaryMediaType2 := cfg.Require(\"binaryMediaType2\")\n\t\tminimumCompressionSize := cfg.Require(\"minimumCompressionSize\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tApiKeySourceType: pulumi.String(apiKeySourceType),\n\t\t\tBinaryMediaTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(binaryMediaType1),\n\t\t\t\tpulumi.String(binaryMediaType2),\n\t\t\t},\n\t\t\tMinimumCompressionSize: pulumi.String(minimumCompressionSize),\n\t\t\tName: pulumi.String(apiName),\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 apiKeySourceType = config.require(\"apiKeySourceType\");\nconst apiName = config.require(\"apiName\");\nconst binaryMediaType1 = config.require(\"binaryMediaType1\");\nconst binaryMediaType2 = config.require(\"binaryMediaType2\");\nconst minimumCompressionSize = config.require(\"minimumCompressionSize\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n apiKeySourceType: apiKeySourceType,\n binaryMediaTypes: [\n binaryMediaType1,\n binaryMediaType2,\n ],\n minimumCompressionSize: minimumCompressionSize,\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_key_source_type = config.require(\"apiKeySourceType\")\napi_name = config.require(\"apiName\")\nbinary_media_type1 = config.require(\"binaryMediaType1\")\nbinary_media_type2 = config.require(\"binaryMediaType2\")\nminimum_compression_size = config.require(\"minimumCompressionSize\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n api_key_source_type=api_key_source_type,\n binary_media_types=[\n binary_media_type1,\n binary_media_type2,\n ],\n minimum_compression_size=minimum_compression_size,\n name=api_name)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "description": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.\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 apiName = config.Require(\"apiName\");\n var description = config.Require(\"description\");\n var version = config.Require(\"version\");\n var type = config.Require(\"type\");\n var property = config.Require(\"property\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var documentationPart = new AwsNative.ApiGateway.DocumentationPart(\"documentationPart\", new()\n {\n Location = new AwsNative.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = System.Enum.Parse\u003cAwsNative.ApiGateway.DocumentationPartLocationType\u003e(type),\n },\n RestApiId = restApi.Id,\n Properties = property,\n });\n\n var documentationVersion = new AwsNative.ApiGateway.DocumentationVersion(\"documentationVersion\", new()\n {\n Description = description,\n DocumentationVersionValue = version,\n RestApiId = restApi.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n documentationPart,\n },\n });\n\n});\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 apiName = config.require(\"apiName\");\nconst description = config.require(\"description\");\nconst version = config.require(\"version\");\nconst type = config.require(\"type\");\nconst property = config.require(\"property\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst documentationPart = new aws_native.apigateway.DocumentationPart(\"documentationPart\", {\n location: {\n type: aws_native.apigateway.DocumentationPartLocationType[type],\n },\n restApiId: restApi.id,\n properties: property,\n});\nconst documentationVersion = new aws_native.apigateway.DocumentationVersion(\"documentationVersion\", {\n description: description,\n documentationVersion: version,\n restApiId: restApi.id,\n}, {\n dependsOn: [documentationPart],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ndescription = config.require(\"description\")\nversion = config.require(\"version\")\ntype = config.require(\"type\")\nproperty = config.require(\"property\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\ndocumentation_part = aws_native.apigateway.DocumentationPart(\"documentationPart\",\n location=aws_native.apigateway.DocumentationPartLocationArgs(\n type=aws_native.apigateway.DocumentationPartLocationType(type),\n ),\n rest_api_id=rest_api.id,\n properties=property)\ndocumentation_version = aws_native.apigateway.DocumentationVersion(\"documentationVersion\",\n description=description,\n documentation_version=version,\n rest_api_id=rest_api.id,\n opts=pulumi.ResourceOptions(depends_on=[documentation_part]))\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var description = config.Require(\"description\");\n var version = config.Require(\"version\");\n var type = config.Require(\"type\");\n var property = config.Require(\"property\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var documentationPart = new AwsNative.ApiGateway.DocumentationPart(\"documentationPart\", new()\n {\n Location = new AwsNative.ApiGateway.Inputs.DocumentationPartLocationArgs\n {\n Type = System.Enum.Parse\u003cAwsNative.ApiGateway.DocumentationPartLocationType\u003e(type),\n },\n RestApiId = restApi.Id,\n Properties = property,\n });\n\n var documentationVersion = new AwsNative.ApiGateway.DocumentationVersion(\"documentationVersion\", new()\n {\n Description = description,\n DocumentationVersionValue = version,\n RestApiId = restApi.Id,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n documentationPart,\n },\n });\n\n});\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 apiName = config.require(\"apiName\");\nconst description = config.require(\"description\");\nconst version = config.require(\"version\");\nconst type = config.require(\"type\");\nconst property = config.require(\"property\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst documentationPart = new aws_native.apigateway.DocumentationPart(\"documentationPart\", {\n location: {\n type: aws_native.apigateway.DocumentationPartLocationType[type],\n },\n restApiId: restApi.id,\n properties: property,\n});\nconst documentationVersion = new aws_native.apigateway.DocumentationVersion(\"documentationVersion\", {\n description: description,\n documentationVersion: version,\n restApiId: restApi.id,\n}, {\n dependsOn: [documentationPart],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ndescription = config.require(\"description\")\nversion = config.require(\"version\")\ntype = config.require(\"type\")\nproperty = config.require(\"property\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\ndocumentation_part = aws_native.apigateway.DocumentationPart(\"documentationPart\",\n location=aws_native.apigateway.DocumentationPartLocationArgs(\n type=aws_native.apigateway.DocumentationPartLocationType(type),\n ),\n rest_api_id=rest_api.id,\n properties=property)\ndocumentation_version = aws_native.apigateway.DocumentationVersion(\"documentationVersion\",\n description=description,\n documentation_version=version,\n rest_api_id=rest_api.id,\n opts=pulumi.ResourceOptions(depends_on=[documentation_part]))\n\n```\n\n{{% /example %}}\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 contentHandling = config.Require(\"contentHandling\");\n var operationName = config.Get(\"operationName\") ?? \"testoperationName\";\n var restApiName = config.Get(\"restApiName\") ?? \"testrestApiName\";\n var validatorName = config.Get(\"validatorName\") ?? \"testvalidatorName\";\n var validateRequestBody = config.Get(\"validateRequestBody\") ?? \"testvalidateRequestBody\";\n var validateRequestParameters = config.Get(\"validateRequestParameters\") ?? true;\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = restApiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n var method = new AwsNative.ApiGateway.Method(\"method\", new()\n {\n HttpMethod = \"POST\",\n ResourceId = restApi.RootResourceId,\n RestApiId = restApi.Id,\n AuthorizationType = AwsNative.ApiGateway.MethodAuthorizationType.None,\n Integration = new AwsNative.ApiGateway.Inputs.MethodIntegrationArgs\n {\n Type = AwsNative.ApiGateway.MethodIntegrationType.Mock,\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationContentHandling\u003e(contentHandling),\n IntegrationResponses = new[]\n {\n new AwsNative.ApiGateway.Inputs.MethodIntegrationResponseArgs\n {\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationResponseContentHandling\u003e(contentHandling),\n StatusCode = \"400\",\n },\n },\n },\n RequestValidatorId = requestValidator.Id,\n OperationName = operationName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"rootResourceId\"] = restApi.RootResourceId,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\ncontentHandling := cfg.Require(\"contentHandling\")\noperationName := \"testoperationName\";\nif param := cfg.Get(\"operationName\"); param != \"\"{\noperationName = param\n}\nrestApiName := \"testrestApiName\";\nif param := cfg.Get(\"restApiName\"); param != \"\"{\nrestApiName = param\n}\nvalidatorName := \"testvalidatorName\";\nif param := cfg.Get(\"validatorName\"); param != \"\"{\nvalidatorName = param\n}\nvalidateRequestBody := \"testvalidateRequestBody\";\nif param := cfg.Get(\"validateRequestBody\"); param != \"\"{\nvalidateRequestBody = param\n}\nvalidateRequestParameters := true;\nif param := cfg.Get(\"validateRequestParameters\"); param != \"\"{\nvalidateRequestParameters = param\n}\nrestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\nName: pulumi.String(restApiName),\n})\nif err != nil {\nreturn err\n}\nrequestValidator, err := apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\nName: pulumi.String(validatorName),\nRestApiId: restApi.ID(),\nValidateRequestBody: pulumi.String(validateRequestBody),\nValidateRequestParameters: pulumi.String(validateRequestParameters),\n})\nif err != nil {\nreturn err\n}\n_, err = apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\nHttpMethod: pulumi.String(\"POST\"),\nResourceId: restApi.RootResourceId,\nRestApiId: restApi.ID(),\nAuthorizationType: apigateway.MethodAuthorizationTypeNone,\nIntegration: interface{}{\nType: apigateway.MethodIntegrationTypeMock,\nContentHandling: apigateway.MethodIntegrationContentHandling(contentHandling),\nIntegrationResponses: apigateway.MethodIntegrationResponseArray{\n\u0026apigateway.MethodIntegrationResponseArgs{\nContentHandling: apigateway.MethodIntegrationResponseContentHandling(contentHandling),\nStatusCode: pulumi.String(\"400\"),\n},\n},\n},\nRequestValidatorId: requestValidator.ID(),\nOperationName: pulumi.String(operationName),\n})\nif err != nil {\nreturn err\n}\nctx.Export(\"rootResourceId\", restApi.RootResourceId)\nreturn nil\n})\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 contentHandling = config.require(\"contentHandling\");\nconst operationName = config.get(\"operationName\") || \"testoperationName\";\nconst restApiName = config.get(\"restApiName\") || \"testrestApiName\";\nconst validatorName = config.get(\"validatorName\") || \"testvalidatorName\";\nconst validateRequestBody = config.get(\"validateRequestBody\") || \"testvalidateRequestBody\";\nconst validateRequestParameters = config.get(\"validateRequestParameters\") || true;\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: restApiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\nconst method = new aws_native.apigateway.Method(\"method\", {\n httpMethod: \"POST\",\n resourceId: restApi.rootResourceId,\n restApiId: restApi.id,\n authorizationType: aws_native.apigateway.MethodAuthorizationType.None,\n integration: {\n type: aws_native.apigateway.MethodIntegrationType.Mock,\n contentHandling: aws_native.apigateway.MethodIntegrationContentHandling[contentHandling],\n integrationResponses: [{\n contentHandling: aws_native.apigateway.MethodIntegrationResponseContentHandling[contentHandling],\n statusCode: \"400\",\n }],\n },\n requestValidatorId: requestValidator.id,\n operationName: operationName,\n});\nexport const rootResourceId = restApi.rootResourceId;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\ncontent_handling = config.require(\"contentHandling\")\noperation_name = config.get(\"operationName\")\nif operation_name is None:\n operation_name = \"testoperationName\"\nrest_api_name = config.get(\"restApiName\")\nif rest_api_name is None:\n rest_api_name = \"testrestApiName\"\nvalidator_name = config.get(\"validatorName\")\nif validator_name is None:\n validator_name = \"testvalidatorName\"\nvalidate_request_body = config.get(\"validateRequestBody\")\nif validate_request_body is None:\n validate_request_body = \"testvalidateRequestBody\"\nvalidate_request_parameters = config.get(\"validateRequestParameters\")\nif validate_request_parameters is None:\n validate_request_parameters = True\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=rest_api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\nmethod = aws_native.apigateway.Method(\"method\",\n http_method=\"POST\",\n resource_id=rest_api.root_resource_id,\n rest_api_id=rest_api.id,\n authorization_type=aws_native.apigateway.MethodAuthorizationType.NONE,\n integration=aws_native.apigateway.MethodIntegrationArgs(\n type=aws_native.apigateway.MethodIntegrationType.MOCK,\n content_handling=aws_native.apigateway.MethodIntegrationContentHandling(content_handling),\n integration_responses=[aws_native.apigateway.MethodIntegrationResponseArgs(\n content_handling=aws_native.apigateway.MethodIntegrationResponseContentHandling(content_handling),\n status_code=\"400\",\n )],\n ),\n request_validator_id=request_validator.id,\n operation_name=operation_name)\npulumi.export(\"rootResourceId\", rest_api.root_resource_id)\n\n```\n\n{{% /example %}}\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 contentHandling = config.Require(\"contentHandling\");\n var operationName = config.Get(\"operationName\") ?? \"testoperationName\";\n var restApiName = config.Get(\"restApiName\") ?? \"testrestApiName\";\n var validatorName = config.Get(\"validatorName\") ?? \"testvalidatorName\";\n var validateRequestBody = config.Get(\"validateRequestBody\") ?? \"testvalidateRequestBody\";\n var validateRequestParameters = config.Get(\"validateRequestParameters\") ?? true;\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = restApiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n var method = new AwsNative.ApiGateway.Method(\"method\", new()\n {\n HttpMethod = \"POST\",\n ResourceId = restApi.RootResourceId,\n RestApiId = restApi.Id,\n AuthorizationType = AwsNative.ApiGateway.MethodAuthorizationType.None,\n Integration = new AwsNative.ApiGateway.Inputs.MethodIntegrationArgs\n {\n Type = AwsNative.ApiGateway.MethodIntegrationType.Mock,\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationContentHandling\u003e(contentHandling),\n IntegrationResponses = new[]\n {\n new AwsNative.ApiGateway.Inputs.MethodIntegrationResponseArgs\n {\n ContentHandling = System.Enum.Parse\u003cAwsNative.ApiGateway.MethodIntegrationResponseContentHandling\u003e(contentHandling),\n StatusCode = \"400\",\n },\n },\n },\n RequestValidatorId = requestValidator.Id,\n OperationName = operationName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"rootResourceId\"] = restApi.RootResourceId,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncfg := config.New(ctx, \"\")\ncontentHandling := cfg.Require(\"contentHandling\")\noperationName := \"testoperationName\";\nif param := cfg.Get(\"operationName\"); param != \"\"{\noperationName = param\n}\nrestApiName := \"testrestApiName\";\nif param := cfg.Get(\"restApiName\"); param != \"\"{\nrestApiName = param\n}\nvalidatorName := \"testvalidatorName\";\nif param := cfg.Get(\"validatorName\"); param != \"\"{\nvalidatorName = param\n}\nvalidateRequestBody := \"testvalidateRequestBody\";\nif param := cfg.Get(\"validateRequestBody\"); param != \"\"{\nvalidateRequestBody = param\n}\nvalidateRequestParameters := true;\nif param := cfg.Get(\"validateRequestParameters\"); param != \"\"{\nvalidateRequestParameters = param\n}\nrestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\nName: pulumi.String(restApiName),\n})\nif err != nil {\nreturn err\n}\nrequestValidator, err := apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\nName: pulumi.String(validatorName),\nRestApiId: restApi.ID(),\nValidateRequestBody: pulumi.String(validateRequestBody),\nValidateRequestParameters: pulumi.String(validateRequestParameters),\n})\nif err != nil {\nreturn err\n}\n_, err = apigateway.NewMethod(ctx, \"method\", \u0026apigateway.MethodArgs{\nHttpMethod: pulumi.String(\"POST\"),\nResourceId: restApi.RootResourceId,\nRestApiId: restApi.ID(),\nAuthorizationType: apigateway.MethodAuthorizationTypeNone,\nIntegration: interface{}{\nType: apigateway.MethodIntegrationTypeMock,\nContentHandling: apigateway.MethodIntegrationContentHandling(contentHandling),\nIntegrationResponses: apigateway.MethodIntegrationResponseArray{\n\u0026apigateway.MethodIntegrationResponseArgs{\nContentHandling: apigateway.MethodIntegrationResponseContentHandling(contentHandling),\nStatusCode: pulumi.String(\"400\"),\n},\n},\n},\nRequestValidatorId: requestValidator.ID(),\nOperationName: pulumi.String(operationName),\n})\nif err != nil {\nreturn err\n}\nctx.Export(\"rootResourceId\", restApi.RootResourceId)\nreturn nil\n})\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 contentHandling = config.require(\"contentHandling\");\nconst operationName = config.get(\"operationName\") || \"testoperationName\";\nconst restApiName = config.get(\"restApiName\") || \"testrestApiName\";\nconst validatorName = config.get(\"validatorName\") || \"testvalidatorName\";\nconst validateRequestBody = config.get(\"validateRequestBody\") || \"testvalidateRequestBody\";\nconst validateRequestParameters = config.get(\"validateRequestParameters\") || true;\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: restApiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\nconst method = new aws_native.apigateway.Method(\"method\", {\n httpMethod: \"POST\",\n resourceId: restApi.rootResourceId,\n restApiId: restApi.id,\n authorizationType: aws_native.apigateway.MethodAuthorizationType.None,\n integration: {\n type: aws_native.apigateway.MethodIntegrationType.Mock,\n contentHandling: aws_native.apigateway.MethodIntegrationContentHandling[contentHandling],\n integrationResponses: [{\n contentHandling: aws_native.apigateway.MethodIntegrationResponseContentHandling[contentHandling],\n statusCode: \"400\",\n }],\n },\n requestValidatorId: requestValidator.id,\n operationName: operationName,\n});\nexport const rootResourceId = restApi.rootResourceId;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\ncontent_handling = config.require(\"contentHandling\")\noperation_name = config.get(\"operationName\")\nif operation_name is None:\n operation_name = \"testoperationName\"\nrest_api_name = config.get(\"restApiName\")\nif rest_api_name is None:\n rest_api_name = \"testrestApiName\"\nvalidator_name = config.get(\"validatorName\")\nif validator_name is None:\n validator_name = \"testvalidatorName\"\nvalidate_request_body = config.get(\"validateRequestBody\")\nif validate_request_body is None:\n validate_request_body = \"testvalidateRequestBody\"\nvalidate_request_parameters = config.get(\"validateRequestParameters\")\nif validate_request_parameters is None:\n validate_request_parameters = True\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=rest_api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\nmethod = aws_native.apigateway.Method(\"method\",\n http_method=\"POST\",\n resource_id=rest_api.root_resource_id,\n rest_api_id=rest_api.id,\n authorization_type=aws_native.apigateway.MethodAuthorizationType.NONE,\n integration=aws_native.apigateway.MethodIntegrationArgs(\n type=aws_native.apigateway.MethodIntegrationType.MOCK,\n content_handling=aws_native.apigateway.MethodIntegrationContentHandling(content_handling),\n integration_responses=[aws_native.apigateway.MethodIntegrationResponseArgs(\n content_handling=aws_native.apigateway.MethodIntegrationResponseContentHandling(content_handling),\n status_code=\"400\",\n )],\n ),\n request_validator_id=request_validator.id,\n operation_name=operation_name)\npulumi.export(\"rootResourceId\", rest_api.root_resource_id)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var validatorName = config.Require(\"validatorName\");\n var validateRequestBody = config.Require(\"validateRequestBody\");\n var validateRequestParameters = config.Require(\"validateRequestParameters\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\tvalidatorName := cfg.Require(\"validatorName\")\n\t\tvalidateRequestBody := cfg.Require(\"validateRequestBody\")\n\t\tvalidateRequestParameters := cfg.Require(\"validateRequestParameters\")\n\t\trestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(apiName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\n\t\t\tName: pulumi.String(validatorName),\n\t\t\tRestApiId: restApi.ID(),\n\t\t\tValidateRequestBody: pulumi.String(validateRequestBody),\n\t\t\tValidateRequestParameters: pulumi.String(validateRequestParameters),\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 apiName = config.require(\"apiName\");\nconst validatorName = config.require(\"validatorName\");\nconst validateRequestBody = config.require(\"validateRequestBody\");\nconst validateRequestParameters = config.require(\"validateRequestParameters\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\nvalidator_name = config.require(\"validatorName\")\nvalidate_request_body = config.require(\"validateRequestBody\")\nvalidate_request_parameters = config.require(\"validateRequestParameters\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var validatorName = config.Require(\"validatorName\");\n var validateRequestBody = config.Require(\"validateRequestBody\");\n var validateRequestParameters = config.Require(\"validateRequestParameters\");\n var restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Name = apiName,\n });\n\n var requestValidator = new AwsNative.ApiGateway.RequestValidator(\"requestValidator\", new()\n {\n Name = validatorName,\n RestApiId = restApi.Id,\n ValidateRequestBody = validateRequestBody,\n ValidateRequestParameters = validateRequestParameters,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\tvalidatorName := cfg.Require(\"validatorName\")\n\t\tvalidateRequestBody := cfg.Require(\"validateRequestBody\")\n\t\tvalidateRequestParameters := cfg.Require(\"validateRequestParameters\")\n\t\trestApi, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tName: pulumi.String(apiName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewRequestValidator(ctx, \"requestValidator\", \u0026apigateway.RequestValidatorArgs{\n\t\t\tName: pulumi.String(validatorName),\n\t\t\tRestApiId: restApi.ID(),\n\t\t\tValidateRequestBody: pulumi.String(validateRequestBody),\n\t\t\tValidateRequestParameters: pulumi.String(validateRequestParameters),\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 apiName = config.require(\"apiName\");\nconst validatorName = config.require(\"validatorName\");\nconst validateRequestBody = config.require(\"validateRequestBody\");\nconst validateRequestParameters = config.require(\"validateRequestParameters\");\nconst restApi = new aws_native.apigateway.RestApi(\"restApi\", {name: apiName});\nconst requestValidator = new aws_native.apigateway.RequestValidator(\"requestValidator\", {\n name: validatorName,\n restApiId: restApi.id,\n validateRequestBody: validateRequestBody,\n validateRequestParameters: validateRequestParameters,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\nvalidator_name = config.require(\"validatorName\")\nvalidate_request_body = config.require(\"validateRequestBody\")\nvalidate_request_parameters = config.require(\"validateRequestParameters\")\nrest_api = aws_native.apigateway.RestApi(\"restApi\", name=api_name)\nrequest_validator = aws_native.apigateway.RequestValidator(\"requestValidator\",\n name=validator_name,\n rest_api_id=rest_api.id,\n validate_request_body=validate_request_body,\n validate_request_parameters=validate_request_parameters)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var type = config.Require(\"type\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n EndpointConfiguration = new AwsNative.ApiGateway.Inputs.RestApiEndpointConfigurationArgs\n {\n Types = new[]\n {\n type,\n },\n },\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\t_type := cfg.Require(\"type\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tEndpointConfiguration: \u0026apigateway.RestApiEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(_type),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(apiName),\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 apiName = config.require(\"apiName\");\nconst type = config.require(\"type\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n endpointConfiguration: {\n types: [type],\n },\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ntype = config.require(\"type\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n endpoint_configuration=aws_native.apigateway.RestApiEndpointConfigurationArgs(\n types=[type],\n ),\n name=api_name)\n\n```\n\n{{% /example %}}\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 apiName = config.Require(\"apiName\");\n var type = config.Require(\"type\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n EndpointConfiguration = new AwsNative.ApiGateway.Inputs.RestApiEndpointConfigurationArgs\n {\n Types = new[]\n {\n type,\n },\n },\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiName := cfg.Require(\"apiName\")\n\t\t_type := cfg.Require(\"type\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tEndpointConfiguration: \u0026apigateway.RestApiEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(_type),\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(apiName),\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 apiName = config.require(\"apiName\");\nconst type = config.require(\"type\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n endpointConfiguration: {\n types: [type],\n },\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_name = config.require(\"apiName\")\ntype = config.require(\"type\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n endpoint_configuration=aws_native.apigateway.RestApiEndpointConfigurationArgs(\n types=[type],\n ),\n name=api_name)\n\n```\n\n{{% /example %}}\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 restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Body = \n {\n { \"swagger\", 2 },\n { \"info\", \n {\n { \"version\", \"0.0.1\" },\n { \"title\", \"test\" },\n } },\n { \"basePath\", \"/pete\" },\n { \"schemes\", new[]\n {\n \"https\",\n } },\n { \"definitions\", \n {\n { \"empty\", \n {\n { \"type\", \"object\" },\n } },\n } },\n },\n Name = \"myApi\",\n Parameters = \n {\n { \"endpointConfigurationTypes\", \"REGIONAL\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tBody: pulumi.Any{\n\t\t\t\tSwagger: 2,\n\t\t\t\tInfo: map[string]interface{}{\n\t\t\t\t\t\"version\": \"0.0.1\",\n\t\t\t\t\t\"title\": \"test\",\n\t\t\t\t},\n\t\t\t\tBasePath: \"/pete\",\n\t\t\t\tSchemes: []string{\n\t\t\t\t\t\"https\",\n\t\t\t\t},\n\t\t\t\tDefinitions: map[string]interface{}{\n\t\t\t\t\t\"empty\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"myApi\"),\n\t\t\tParameters: pulumi.Any{\n\t\t\t\tEndpointConfigurationTypes: \"REGIONAL\",\n\t\t\t},\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 restApi = new aws_native.apigateway.RestApi(\"restApi\", {\n body: {\n swagger: 2,\n info: {\n version: \"0.0.1\",\n title: \"test\",\n },\n basePath: \"/pete\",\n schemes: [\"https\"],\n definitions: {\n empty: {\n type: \"object\",\n },\n },\n },\n name: \"myApi\",\n parameters: {\n endpointConfigurationTypes: \"REGIONAL\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nrest_api = aws_native.apigateway.RestApi(\"restApi\",\n body={\n \"swagger\": 2,\n \"info\": {\n \"version\": \"0.0.1\",\n \"title\": \"test\",\n },\n \"basePath\": \"/pete\",\n \"schemes\": [\"https\"],\n \"definitions\": {\n \"empty\": {\n \"type\": \"object\",\n },\n },\n },\n name=\"myApi\",\n parameters={\n \"endpointConfigurationTypes\": \"REGIONAL\",\n })\n\n```\n\n{{% /example %}}\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 restApi = new AwsNative.ApiGateway.RestApi(\"restApi\", new()\n {\n Body = \n {\n { \"swagger\", 2 },\n { \"info\", \n {\n { \"version\", \"0.0.1\" },\n { \"title\", \"test\" },\n } },\n { \"basePath\", \"/pete\" },\n { \"schemes\", new[]\n {\n \"https\",\n } },\n { \"definitions\", \n {\n { \"empty\", \n {\n { \"type\", \"object\" },\n } },\n } },\n },\n Name = \"myApi\",\n Parameters = \n {\n { \"endpointConfigurationTypes\", \"REGIONAL\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := apigateway.NewRestApi(ctx, \"restApi\", \u0026apigateway.RestApiArgs{\n\t\t\tBody: pulumi.Any{\n\t\t\t\tSwagger: 2,\n\t\t\t\tInfo: map[string]interface{}{\n\t\t\t\t\t\"version\": \"0.0.1\",\n\t\t\t\t\t\"title\": \"test\",\n\t\t\t\t},\n\t\t\t\tBasePath: \"/pete\",\n\t\t\t\tSchemes: []string{\n\t\t\t\t\t\"https\",\n\t\t\t\t},\n\t\t\t\tDefinitions: map[string]interface{}{\n\t\t\t\t\t\"empty\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"object\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"myApi\"),\n\t\t\tParameters: pulumi.Any{\n\t\t\t\tEndpointConfigurationTypes: \"REGIONAL\",\n\t\t\t},\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 restApi = new aws_native.apigateway.RestApi(\"restApi\", {\n body: {\n swagger: 2,\n info: {\n version: \"0.0.1\",\n title: \"test\",\n },\n basePath: \"/pete\",\n schemes: [\"https\"],\n definitions: {\n empty: {\n type: \"object\",\n },\n },\n },\n name: \"myApi\",\n parameters: {\n endpointConfigurationTypes: \"REGIONAL\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nrest_api = aws_native.apigateway.RestApi(\"restApi\",\n body={\n \"swagger\": 2,\n \"info\": {\n \"version\": \"0.0.1\",\n \"title\": \"test\",\n },\n \"basePath\": \"/pete\",\n \"schemes\": [\"https\"],\n \"definitions\": {\n \"empty\": {\n \"type\": \"object\",\n },\n },\n },\n name=\"myApi\",\n parameters={\n \"endpointConfigurationTypes\": \"REGIONAL\",\n })\n\n```\n\n{{% /example %}}\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 apiKeySourceType = config.Require(\"apiKeySourceType\");\n var apiName = config.Require(\"apiName\");\n var binaryMediaType1 = config.Require(\"binaryMediaType1\");\n var binaryMediaType2 = config.Require(\"binaryMediaType2\");\n var minimumCompressionSize = config.Require(\"minimumCompressionSize\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n ApiKeySourceType = apiKeySourceType,\n BinaryMediaTypes = new[]\n {\n binaryMediaType1,\n binaryMediaType2,\n },\n MinimumCompressionSize = minimumCompressionSize,\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiKeySourceType := cfg.Require(\"apiKeySourceType\")\n\t\tapiName := cfg.Require(\"apiName\")\n\t\tbinaryMediaType1 := cfg.Require(\"binaryMediaType1\")\n\t\tbinaryMediaType2 := cfg.Require(\"binaryMediaType2\")\n\t\tminimumCompressionSize := cfg.Require(\"minimumCompressionSize\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tApiKeySourceType: pulumi.String(apiKeySourceType),\n\t\t\tBinaryMediaTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(binaryMediaType1),\n\t\t\t\tpulumi.String(binaryMediaType2),\n\t\t\t},\n\t\t\tMinimumCompressionSize: pulumi.String(minimumCompressionSize),\n\t\t\tName: pulumi.String(apiName),\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 apiKeySourceType = config.require(\"apiKeySourceType\");\nconst apiName = config.require(\"apiName\");\nconst binaryMediaType1 = config.require(\"binaryMediaType1\");\nconst binaryMediaType2 = config.require(\"binaryMediaType2\");\nconst minimumCompressionSize = config.require(\"minimumCompressionSize\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n apiKeySourceType: apiKeySourceType,\n binaryMediaTypes: [\n binaryMediaType1,\n binaryMediaType2,\n ],\n minimumCompressionSize: minimumCompressionSize,\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_key_source_type = config.require(\"apiKeySourceType\")\napi_name = config.require(\"apiName\")\nbinary_media_type1 = config.require(\"binaryMediaType1\")\nbinary_media_type2 = config.require(\"binaryMediaType2\")\nminimum_compression_size = config.require(\"minimumCompressionSize\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n api_key_source_type=api_key_source_type,\n binary_media_types=[\n binary_media_type1,\n binary_media_type2,\n ],\n minimum_compression_size=minimum_compression_size,\n name=api_name)\n\n```\n\n{{% /example %}}\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 apiKeySourceType = config.Require(\"apiKeySourceType\");\n var apiName = config.Require(\"apiName\");\n var binaryMediaType1 = config.Require(\"binaryMediaType1\");\n var binaryMediaType2 = config.Require(\"binaryMediaType2\");\n var minimumCompressionSize = config.Require(\"minimumCompressionSize\");\n var myRestApi = new AwsNative.ApiGateway.RestApi(\"myRestApi\", new()\n {\n ApiKeySourceType = apiKeySourceType,\n BinaryMediaTypes = new[]\n {\n binaryMediaType1,\n binaryMediaType2,\n },\n MinimumCompressionSize = minimumCompressionSize,\n Name = apiName,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/apigateway\"\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\tapiKeySourceType := cfg.Require(\"apiKeySourceType\")\n\t\tapiName := cfg.Require(\"apiName\")\n\t\tbinaryMediaType1 := cfg.Require(\"binaryMediaType1\")\n\t\tbinaryMediaType2 := cfg.Require(\"binaryMediaType2\")\n\t\tminimumCompressionSize := cfg.Require(\"minimumCompressionSize\")\n\t\t_, err := apigateway.NewRestApi(ctx, \"myRestApi\", \u0026apigateway.RestApiArgs{\n\t\t\tApiKeySourceType: pulumi.String(apiKeySourceType),\n\t\t\tBinaryMediaTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(binaryMediaType1),\n\t\t\t\tpulumi.String(binaryMediaType2),\n\t\t\t},\n\t\t\tMinimumCompressionSize: pulumi.String(minimumCompressionSize),\n\t\t\tName: pulumi.String(apiName),\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 apiKeySourceType = config.require(\"apiKeySourceType\");\nconst apiName = config.require(\"apiName\");\nconst binaryMediaType1 = config.require(\"binaryMediaType1\");\nconst binaryMediaType2 = config.require(\"binaryMediaType2\");\nconst minimumCompressionSize = config.require(\"minimumCompressionSize\");\nconst myRestApi = new aws_native.apigateway.RestApi(\"myRestApi\", {\n apiKeySourceType: apiKeySourceType,\n binaryMediaTypes: [\n binaryMediaType1,\n binaryMediaType2,\n ],\n minimumCompressionSize: minimumCompressionSize,\n name: apiName,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\napi_key_source_type = config.require(\"apiKeySourceType\")\napi_name = config.require(\"apiName\")\nbinary_media_type1 = config.require(\"binaryMediaType1\")\nbinary_media_type2 = config.require(\"binaryMediaType2\")\nminimum_compression_size = config.require(\"minimumCompressionSize\")\nmy_rest_api = aws_native.apigateway.RestApi(\"myRestApi\",\n api_key_source_type=api_key_source_type,\n binary_media_types=[\n binary_media_type1,\n binary_media_type2,\n ],\n minimum_compression_size=minimum_compression_size,\n name=api_name)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "body": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format." }, "bodyS3Location": { - "$ref": "#/types/aws-native:apigateway:RestApiS3Location" + "$ref": "#/types/aws-native:apigateway:RestApiS3Location", + "description": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format." }, "cloneFrom": { - "type": "string" + "type": "string", + "description": "The ID of the RestApi that you want to clone from." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "failOnWarnings": { - "type": "boolean" + "type": "boolean", + "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "mode": { - "type": "string" + "type": "string", + "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "parameters": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "restApiId": { "type": "string" @@ -123709,7 +124275,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } }, "type": "object", @@ -123719,108 +124286,123 @@ ], "inputProperties": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "body": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format." }, "bodyS3Location": { - "$ref": "#/types/aws-native:apigateway:RestApiS3Location" + "$ref": "#/types/aws-native:apigateway:RestApiS3Location", + "description": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format." }, "cloneFrom": { - "type": "string" + "type": "string", + "description": "The ID of the RestApi that you want to clone from." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "failOnWarnings": { - "type": "boolean" + "type": "boolean", + "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "mode": { - "type": "string" + "type": "string", + "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "parameters": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } } }, "aws-native:apigateway:Stage": { - "description": "Resource Type definition for AWS::ApiGateway::Stage", + "description": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment.", "properties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage.", + "description": "The string identifier of the associated RestApi.", "replaceOnChanges": true }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI).", + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", "replaceOnChanges": true }, "tags": { @@ -123828,15 +124410,15 @@ "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "type": "object", @@ -123846,65 +124428,65 @@ "inputProperties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage." + "description": "The string identifier of the associated RestApi." }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI)." + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } }, "requiredInputs": [ @@ -123980,21 +124562,21 @@ } }, "aws-native:apigateway:UsagePlanKey": { - "description": "Resource Type definition for AWS::ApiGateway::UsagePlanKey", + "description": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.", "properties": { "keyId": { "type": "string", - "description": "The ID of the usage plan key.", + "description": "The Id of the UsagePlanKey resource.", "replaceOnChanges": true }, "keyType": { "$ref": "#/types/aws-native:apigateway:UsagePlanKeyKeyType", - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY.", + "description": "The type of a UsagePlanKey resource for a plan customer.", "replaceOnChanges": true }, "usagePlanId": { "type": "string", - "description": "The ID of the usage plan.", + "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", "replaceOnChanges": true } }, @@ -124007,15 +124589,15 @@ "inputProperties": { "keyId": { "type": "string", - "description": "The ID of the usage plan key." + "description": "The Id of the UsagePlanKey resource." }, "keyType": { "$ref": "#/types/aws-native:apigateway:UsagePlanKeyKeyType", - "description": "The type of usage plan key. Currently, the only valid key type is API_KEY." + "description": "The type of a UsagePlanKey resource for a plan customer." }, "usagePlanId": { "type": "string", - "description": "The ID of the usage plan." + "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer." } }, "requiredInputs": [ @@ -126802,6 +127384,146 @@ "domainName" ] }, + "aws-native:appsync:FunctionConfiguration": { + "description": "An example resource schema demonstrating some basic constructs and validation rules.\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 name = config.Require(\"name\");\n var description = config.Require(\"description\");\n var dataSourceName = config.Require(\"dataSourceName\");\n var functionVersion = config.Require(\"functionVersion\");\n var requestMappingTemplateS3LocationInput = config.Require(\"requestMappingTemplateS3LocationInput\");\n var responseMappingTemplateS3LocationInput = config.Require(\"responseMappingTemplateS3LocationInput\");\n var functionConfiguration = new AwsNative.AppSync.FunctionConfiguration(\"functionConfiguration\", new()\n {\n ApiId = graphQlApiId,\n Name = name,\n Description = description,\n FunctionVersion = functionVersion,\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\tname := cfg.Require(\"name\")\n\t\tdescription := cfg.Require(\"description\")\n\t\tdataSourceName := cfg.Require(\"dataSourceName\")\n\t\tfunctionVersion := cfg.Require(\"functionVersion\")\n\t\trequestMappingTemplateS3LocationInput := cfg.Require(\"requestMappingTemplateS3LocationInput\")\n\t\tresponseMappingTemplateS3LocationInput := cfg.Require(\"responseMappingTemplateS3LocationInput\")\n\t\t_, err := appsync.NewFunctionConfiguration(ctx, \"functionConfiguration\", \u0026appsync.FunctionConfigurationArgs{\n\t\t\tApiId: pulumi.String(graphQlApiId),\n\t\t\tName: pulumi.String(name),\n\t\t\tDescription: pulumi.String(description),\n\t\t\tFunctionVersion: pulumi.String(functionVersion),\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 name = config.require(\"name\");\nconst description = config.require(\"description\");\nconst dataSourceName = config.require(\"dataSourceName\");\nconst functionVersion = config.require(\"functionVersion\");\nconst requestMappingTemplateS3LocationInput = config.require(\"requestMappingTemplateS3LocationInput\");\nconst responseMappingTemplateS3LocationInput = config.require(\"responseMappingTemplateS3LocationInput\");\nconst functionConfiguration = new aws_native.appsync.FunctionConfiguration(\"functionConfiguration\", {\n apiId: graphQlApiId,\n name: name,\n description: description,\n functionVersion: functionVersion,\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\")\nname = config.require(\"name\")\ndescription = config.require(\"description\")\ndata_source_name = config.require(\"dataSourceName\")\nfunction_version = config.require(\"functionVersion\")\nrequest_mapping_template_s3_location_input = config.require(\"requestMappingTemplateS3LocationInput\")\nresponse_mapping_template_s3_location_input = config.require(\"responseMappingTemplateS3LocationInput\")\nfunction_configuration = aws_native.appsync.FunctionConfiguration(\"functionConfiguration\",\n api_id=graph_ql_api_id,\n name=name,\n description=description,\n function_version=function_version,\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": { + "apiId": { + "type": "string", + "description": "The AWS AppSync GraphQL API that you want to attach using this function.", + "replaceOnChanges": true + }, + "code": { + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." + }, + "codeS3Location": { + "type": "string", + "description": "The Amazon S3 endpoint (where the code is located??)." + }, + "dataSourceName": { + "type": "string", + "description": "The name of data source this function will attach." + }, + "description": { + "type": "string", + "description": "The function description." + }, + "functionArn": { + "type": "string", + "description": "The ARN for the function generated by the service" + }, + "functionId": { + "type": "string", + "description": "The unique identifier for the function generated by the service" + }, + "functionVersion": { + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." + }, + "maxBatchSize": { + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." + }, + "name": { + "type": "string", + "description": "The name of the function." + }, + "requestMappingTemplate": { + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." + }, + "requestMappingTemplateS3Location": { + "type": "string", + "description": "Describes a Sync configuration for a resolver. Contains information on which Conflict Detection, as well as Resolution strategy, should be performed when the resolver is invoked." + }, + "responseMappingTemplate": { + "type": "string", + "description": "The Function response mapping template." + }, + "responseMappingTemplateS3Location": { + "type": "string", + "description": "The location of a response mapping template in an Amazon S3 bucket. Use this if you want to provision with a template file in Amazon S3 rather than embedding it in your CloudFormation template." + }, + "runtime": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." + }, + "syncConfig": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." + } + }, + "type": "object", + "required": [ + "apiId", + "dataSourceName", + "functionArn", + "functionId", + "name" + ], + "inputProperties": { + "apiId": { + "type": "string", + "description": "The AWS AppSync GraphQL API that you want to attach using this function." + }, + "code": { + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." + }, + "codeS3Location": { + "type": "string", + "description": "The Amazon S3 endpoint (where the code is located??)." + }, + "dataSourceName": { + "type": "string", + "description": "The name of data source this function will attach." + }, + "description": { + "type": "string", + "description": "The function description." + }, + "functionVersion": { + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." + }, + "maxBatchSize": { + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." + }, + "name": { + "type": "string", + "description": "The name of the function." + }, + "requestMappingTemplate": { + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." + }, + "requestMappingTemplateS3Location": { + "type": "string", + "description": "Describes a Sync configuration for a resolver. Contains information on which Conflict Detection, as well as Resolution strategy, should be performed when the resolver is invoked." + }, + "responseMappingTemplate": { + "type": "string", + "description": "The Function response mapping template." + }, + "responseMappingTemplateS3Location": { + "type": "string", + "description": "The location of a response mapping template in an Amazon S3 bucket. Use this if you want to provision with a template file in Amazon S3 rather than embedding it in your CloudFormation template." + }, + "runtime": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." + }, + "syncConfig": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." + } + }, + "requiredInputs": [ + "apiId", + "dataSourceName" + ] + }, "aws-native:appsync:SourceApiAssociation": { "description": "Resource Type definition for AWS::AppSync::SourceApiAssociation", "properties": { @@ -132652,13 +133374,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "name": { "type": "string" }, @@ -132711,13 +133426,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "openIdConnectProviderArns": { "type": "array", "items": { @@ -132816,6 +133524,252 @@ "userPoolId" ] }, + "aws-native:cognito:UserPool": { + "description": "Resource Type definition for AWS::Cognito::UserPool", + "properties": { + "accountRecoverySetting": { + "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting" + }, + "adminCreateUserConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig" + }, + "aliasAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "arn": { + "type": "string" + }, + "autoVerifiedAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "deletionProtection": { + "type": "string" + }, + "deviceConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolDeviceConfiguration" + }, + "emailConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolEmailConfiguration" + }, + "emailVerificationMessage": { + "type": "string" + }, + "emailVerificationSubject": { + "type": "string" + }, + "enabledMfas": { + "type": "array", + "items": { + "type": "string" + } + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig" + }, + "mfaConfiguration": { + "type": "string" + }, + "policies": { + "$ref": "#/types/aws-native:cognito:UserPoolPolicies" + }, + "providerName": { + "type": "string" + }, + "providerUrl": { + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" + } + }, + "smsAuthenticationMessage": { + "type": "string" + }, + "smsConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration" + }, + "smsVerificationMessage": { + "type": "string" + }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings" + }, + "userPoolAddOns": { + "$ref": "#/types/aws-native:cognito:UserPoolAddOns" + }, + "userPoolId": { + "type": "string" + }, + "userPoolName": { + "type": "string" + }, + "userPoolTags": { + "$ref": "pulumi.json#/Any" + }, + "usernameAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "usernameConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration" + }, + "verificationMessageTemplate": { + "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate" + } + }, + "type": "object", + "required": [ + "arn", + "providerName", + "providerUrl", + "userPoolId" + ], + "inputProperties": { + "accountRecoverySetting": { + "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting" + }, + "adminCreateUserConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig" + }, + "aliasAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "autoVerifiedAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "deletionProtection": { + "type": "string" + }, + "deviceConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolDeviceConfiguration" + }, + "emailConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolEmailConfiguration" + }, + "emailVerificationMessage": { + "type": "string" + }, + "emailVerificationSubject": { + "type": "string" + }, + "enabledMfas": { + "type": "array", + "items": { + "type": "string" + } + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig" + }, + "mfaConfiguration": { + "type": "string" + }, + "policies": { + "$ref": "#/types/aws-native:cognito:UserPoolPolicies" + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" + } + }, + "smsAuthenticationMessage": { + "type": "string" + }, + "smsConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration" + }, + "smsVerificationMessage": { + "type": "string" + }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings" + }, + "userPoolAddOns": { + "$ref": "#/types/aws-native:cognito:UserPoolAddOns" + }, + "userPoolName": { + "type": "string" + }, + "userPoolTags": { + "$ref": "pulumi.json#/Any" + }, + "usernameAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "usernameConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration" + }, + "verificationMessageTemplate": { + "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate" + } + } + }, + "aws-native:cognito:UserPoolGroup": { + "description": "Resource Type definition for AWS::Cognito::UserPoolGroup", + "properties": { + "description": { + "type": "string" + }, + "groupName": { + "type": "string", + "replaceOnChanges": true + }, + "precedence": { + "type": "integer" + }, + "roleArn": { + "type": "string" + }, + "userPoolId": { + "type": "string", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "userPoolId" + ], + "inputProperties": { + "description": { + "type": "string" + }, + "groupName": { + "type": "string" + }, + "precedence": { + "type": "integer" + }, + "roleArn": { + "type": "string" + }, + "userPoolId": { + "type": "string" + } + }, + "requiredInputs": [ + "userPoolId" + ] + }, "aws-native:cognito:UserPoolUser": { "description": "Resource Type definition for AWS::Cognito::UserPoolUser", "properties": { @@ -142200,6 +143154,10 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, @@ -142213,6 +143171,10 @@ "type": "boolean", "replaceOnChanges": true }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -142263,12 +143225,20 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, "ipv6Native": { "type": "boolean" }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -147714,6 +148684,105 @@ "type" ] }, + "aws-native:entityresolution:IdMappingWorkflow": { + "description": "IdMappingWorkflow defined in AWS Entity Resolution service", + "properties": { + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "updatedAt": { + "type": "string" + }, + "workflowArn": { + "type": "string" + }, + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "createdAt", + "idMappingTechniques", + "inputSourceConfig", + "outputSourceConfig", + "roleArn", + "updatedAt", + "workflowArn", + "workflowName" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow" + } + }, + "requiredInputs": [ + "idMappingTechniques", + "inputSourceConfig", + "outputSourceConfig", + "roleArn", + "workflowName" + ] + }, "aws-native:entityresolution:MatchingWorkflow": { "description": "MatchingWorkflow defined in AWS Entity Resolution service", "properties": { @@ -148195,44 +149264,36 @@ "description": "Resource Type definition for AWS::Events::Rule", "properties": { "arn": { - "type": "string", - "description": "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example." + "type": "string" }, "description": { - "type": "string", - "description": "The description of the rule." + "type": "string" }, "eventBusName": { "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "replaceOnChanges": true }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" }, "name": { "type": "string", - "description": "The name of the rule.", "replaceOnChanges": true }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } }, "type": "object", @@ -148241,39 +149302,31 @@ ], "inputProperties": { "description": { - "type": "string", - "description": "The description of the rule." + "type": "string" }, "eventBusName": { - "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "type": "string" }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" }, "name": { - "type": "string", - "description": "The name of the rule." + "type": "string" }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } } }, @@ -150109,6 +151162,11 @@ "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", "replaceOnChanges": true }, + "instanceRoleCredentialsProvider": { + "$ref": "#/types/aws-native:gamelift:FleetInstanceRoleCredentialsProvider", + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.", + "replaceOnChanges": true + }, "locations": { "type": "array", "items": { @@ -150229,6 +151287,10 @@ "type": "string", "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console." }, + "instanceRoleCredentialsProvider": { + "$ref": "#/types/aws-native:gamelift:FleetInstanceRoleCredentialsProvider", + "description": "Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service." + }, "locations": { "type": "array", "items": { @@ -151663,6 +152725,57 @@ "datastoreTypeVersion" ] }, + "aws-native:iam:Group": { + "description": "Resource Type definition for AWS::IAM::Group", + "properties": { + "arn": { + "type": "string" + }, + "groupName": { + "type": "string", + "replaceOnChanges": true + }, + "managedPolicyArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "type": "string" + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iam:GroupPolicy" + } + } + }, + "type": "object", + "required": [ + "arn" + ], + "inputProperties": { + "groupName": { + "type": "string" + }, + "managedPolicyArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "type": "string" + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iam:GroupPolicy" + } + } + } + }, "aws-native:iam:GroupPolicy": { "description": "Schema for IAM Group Policy", "properties": { @@ -154478,6 +155591,12 @@ "policyName": { "type": "string", "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } }, "type": "object", @@ -154491,6 +155610,12 @@ }, "policyName": { "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } }, "requiredInputs": [ @@ -159654,6 +160779,10 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "The resource policy of your function" + }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -159774,6 +160903,10 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "The resource policy of your function" + }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -171253,6 +172386,9 @@ }, "themeArn": { "type": "string" + }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy" } }, "type": "object", @@ -171303,6 +172439,9 @@ }, "themeArn": { "type": "string" + }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy" } }, "requiredInputs": [ @@ -171363,6 +172502,9 @@ "themeArn": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategy" + }, "version": { "$ref": "#/types/aws-native:quicksight:DashboardVersion" }, @@ -171418,6 +172560,9 @@ "themeArn": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:DashboardValidationStrategy" + }, "versionDescription": { "type": "string" } @@ -171815,6 +172960,9 @@ "type": "string", "replaceOnChanges": true }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategy" + }, "version": { "$ref": "#/types/aws-native:quicksight:TemplateVersion" }, @@ -171859,6 +173007,9 @@ "templateId": { "type": "string" }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:TemplateValidationStrategy" + }, "versionDescription": { "type": "string" } @@ -188346,7 +189497,7 @@ } }, "aws-native:apigateway:getAccount": { - "description": "Resource Type definition for AWS::ApiGateway::Account", + "description": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account.", "inputs": { "properties": { "id": { @@ -188362,7 +189513,7 @@ "properties": { "cloudWatchRoleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account." + "description": "The ARN of an Amazon CloudWatch role for the current Account." }, "id": { "type": "string", @@ -188420,7 +189571,7 @@ } }, "aws-native:apigateway:getAuthorizer": { - "description": "Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.", + "description": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.", "inputs": { "properties": { "authorizerId": { @@ -188428,7 +189579,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -188444,26 +189595,26 @@ }, "authorizerCredentials": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer." + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." }, "authorizerId": { "type": "string" }, "authorizerResultTtlInSeconds": { "type": "integer", - "description": "The TTL in seconds of cached authorizer results." + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." }, "authorizerUri": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI)." + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``." }, "identitySource": { "type": "string", - "description": "The identity source for which authorization is requested." + "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." }, "identityValidationExpression": { "type": "string", - "description": "A validation expression for the incoming identity token." + "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer." }, "name": { "type": "string", @@ -188474,11 +189625,11 @@ "items": { "type": "string" }, - "description": "A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer." + "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined." }, "type": { "type": "string", - "description": "The authorizer type." + "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool." } } } @@ -188548,7 +189699,7 @@ } }, "aws-native:apigateway:getDeployment": { - "description": "Resource Type definition for AWS::ApiGateway::Deployment", + "description": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.", "inputs": { "properties": { "deploymentId": { @@ -188557,7 +189708,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource to deploy. " + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -188573,13 +189724,13 @@ }, "description": { "type": "string", - "description": "A description of the purpose of the API Gateway deployment." + "description": "The description for the Deployment resource to create." } } } }, "aws-native:apigateway:getDocumentationPart": { - "description": "Resource Type definition for AWS::ApiGateway::DocumentationPart", + "description": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "inputs": { "properties": { "documentationPartId": { @@ -188588,7 +189739,7 @@ }, "restApiId": { "type": "string", - "description": "Identifier of the targeted API entity" + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -188604,18 +189755,18 @@ }, "properties": { "type": "string", - "description": "The documentation content map of the targeted API entity." + "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published." } } } }, "aws-native:apigateway:getDocumentationVersion": { - "description": "A snapshot of the documentation of an API.", + "description": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*.", "inputs": { "properties": { "documentationVersion": { "type": "string", - "description": "The version identifier of the API documentation snapshot.", + "description": "The version identifier of the to-be-updated documentation version.", "language": { "csharp": { "name": "DocumentationVersionValue" @@ -188624,7 +189775,7 @@ }, "restApiId": { "type": "string", - "description": "The identifier of the API." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -188636,7 +189787,7 @@ "properties": { "description": { "type": "string", - "description": "The description of the API documentation snapshot." + "description": "A description about the new documentation snapshot." } } } @@ -188700,20 +189851,20 @@ } }, "aws-native:apigateway:getMethod": { - "description": "Resource Type definition for AWS::ApiGateway::Method", + "description": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.", "inputs": { "properties": { "httpMethod": { "type": "string", - "description": "The backend system that the method calls when it receives a request." + "description": "The method's HTTP verb." }, "resourceId": { "type": "string", - "description": "The ID of an API Gateway resource." + "description": "The Resource identifier for the MethodResponse resource." }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which API Gateway creates the method." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -188726,64 +189877,64 @@ "properties": { "apiKeyRequired": { "type": "boolean", - "description": "Indicates whether the method requires clients to submit a valid API key." + "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method." }, "authorizationScopes": { "type": "array", "items": { "type": "string" }, - "description": "A list of authorization scopes configured on the method." + "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes." }, "authorizationType": { "$ref": "#/types/aws-native:apigateway:MethodAuthorizationType", - "description": "The method's authorization type." + "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property." }, "authorizerId": { "type": "string", - "description": "The identifier of the authorizer to use on this method." + "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``." }, "integration": { "$ref": "#/types/aws-native:apigateway:MethodIntegration", - "description": "The backend system that the method calls when it receives a request." + "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration." }, "methodResponses": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:MethodResponse" }, - "description": "The responses that can be sent to the client who calls the method." + "description": "Gets a method response associated with a given HTTP status code." }, "operationName": { "type": "string", - "description": "A friendly operation name for the method." + "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example." }, "requestModels": { "$ref": "pulumi.json#/Any", - "description": "The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a Model resource name as the value." + "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key)." }, "requestParameters": { "$ref": "pulumi.json#/Any", - "description": "The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value." + "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates." }, "requestValidatorId": { "type": "string", - "description": "The ID of the associated request validator." + "description": "The identifier of a RequestValidator for request validation." } } } }, "aws-native:apigateway:getModel": { - "description": "Resource Type definition for AWS::ApiGateway::Model", + "description": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method.", "inputs": { "properties": { "name": { "type": "string", - "description": "A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name." + "description": "A name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "restApiId": { "type": "string", - "description": "The ID of a REST API with which to associate this model." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -188795,11 +189946,11 @@ "properties": { "description": { "type": "string", - "description": "A description that identifies this model." + "description": "The description of the model." }, "schema": { "$ref": "pulumi.json#/Any", - "description": "The schema to use to transform data to one or more output formats. Specify null ({}) if you don't want to specify a schema." + "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail." } } } @@ -188840,7 +189991,7 @@ } }, "aws-native:apigateway:getResource": { - "description": "Resource Type definition for AWS::ApiGateway::Resource", + "description": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API.", "inputs": { "properties": { "resourceId": { @@ -188849,7 +190000,7 @@ }, "restApiId": { "type": "string", - "description": "The ID of the RestApi resource in which you want to create this resource.." + "description": "The string identifier of the associated RestApi." } }, "required": [ @@ -188867,7 +190018,7 @@ } }, "aws-native:apigateway:getRestApi": { - "description": "Resource Type definition for AWS::ApiGateway::RestApi.", + "description": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification.", "inputs": { "properties": { "restApiId": { @@ -188881,31 +190032,39 @@ "outputs": { "properties": { "apiKeySourceType": { - "type": "string" + "type": "string", + "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer." }, "binaryMediaTypes": { "type": "array", "items": { "type": "string" - } + }, + "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the RestApi." }, "disableExecuteApiEndpoint": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint" }, "endpointConfiguration": { - "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration" + "$ref": "#/types/aws-native:apigateway:RestApiEndpointConfiguration", + "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property." }, "minimumCompressionSize": { - "type": "integer" + "type": "integer", + "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification." }, "policy": { - "$ref": "pulumi.json#/Any" + "$ref": "pulumi.json#/Any", + "description": "A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``\"\"`` as delimiter and values of ``\"execute-api:/\"`` and ``\"*\"``." }, "restApiId": { "type": "string" @@ -188917,22 +190076,23 @@ "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:RestApiTag" - } + }, + "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters." } } } }, "aws-native:apigateway:getStage": { - "description": "Resource Type definition for AWS::ApiGateway::Stage", + "description": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment.", "inputs": { "properties": { "restApiId": { "type": "string", - "description": "The ID of the RestApi resource that you're deploying with this stage." + "description": "The string identifier of the associated RestApi." }, "stageName": { "type": "string", - "description": "The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI)." + "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters." } }, "required": [ @@ -188944,57 +190104,57 @@ "properties": { "accessLogSetting": { "$ref": "#/types/aws-native:apigateway:StageAccessLogSetting", - "description": "Specifies settings for logging access in this stage." + "description": "Access log settings, including the access log format and access log destination ARN." }, "cacheClusterEnabled": { "type": "boolean", - "description": "Indicates whether cache clustering is enabled for the stage." + "description": "Specifies whether a cache cluster is enabled for the stage." }, "cacheClusterSize": { "type": "string", - "description": "The stage's cache cluster size." + "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)." }, "canarySetting": { "$ref": "#/types/aws-native:apigateway:StageCanarySetting", - "description": "Specifies settings for the canary deployment in this stage." + "description": "Settings for the canary deployment in this stage." }, "clientCertificateId": { "type": "string", - "description": "The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. " + "description": "The identifier of a client certificate for an API stage." }, "deploymentId": { "type": "string", - "description": "The ID of the deployment that the stage is associated with. This parameter is required to create a stage. " + "description": "The identifier of the Deployment that the stage points to." }, "description": { "type": "string", - "description": "A description of the stage." + "description": "The stage's description." }, "documentationVersion": { "type": "string", - "description": "The version ID of the API documentation snapshot." + "description": "The version of the associated API documentation." }, "methodSettings": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageMethodSetting" }, - "description": "Settings for all methods in the stage." + "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:apigateway:StageTag" }, - "description": "An array of arbitrary tags (key-value pairs) to associate with the stage." + "description": "The collection of tags. Each tag element is associated with a given resource." }, "tracingEnabled": { "type": "boolean", - "description": "Specifies whether active X-Ray tracing is enabled for this stage." + "description": "Specifies whether active tracing with X-ray is enabled for the Stage." }, "variables": { "$ref": "pulumi.json#/Any", - "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value." + "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#\u0026=,]+``." } } } @@ -189052,7 +190212,7 @@ } }, "aws-native:apigateway:getUsagePlanKey": { - "description": "Resource Type definition for AWS::ApiGateway::UsagePlanKey", + "description": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.", "inputs": { "properties": { "id": { @@ -190407,6 +191567,72 @@ } } }, + "aws-native:appsync:getFunctionConfiguration": { + "description": "An example resource schema demonstrating some basic constructs and validation rules.", + "inputs": { + "properties": { + "functionArn": { + "type": "string", + "description": "The ARN for the function generated by the service" + } + }, + "required": [ + "functionArn" + ] + }, + "outputs": { + "properties": { + "code": { + "type": "string", + "description": "The resolver code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS." + }, + "dataSourceName": { + "type": "string", + "description": "The name of data source this function will attach." + }, + "description": { + "type": "string", + "description": "The function description." + }, + "functionArn": { + "type": "string", + "description": "The ARN for the function generated by the service" + }, + "functionId": { + "type": "string", + "description": "The unique identifier for the function generated by the service" + }, + "functionVersion": { + "type": "string", + "description": "The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported." + }, + "maxBatchSize": { + "type": "integer", + "description": "The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a BatchInvoke operation." + }, + "name": { + "type": "string", + "description": "The name of the function." + }, + "requestMappingTemplate": { + "type": "string", + "description": "The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template." + }, + "responseMappingTemplate": { + "type": "string", + "description": "The Function response mapping template." + }, + "runtime": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationAppSyncRuntime", + "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified." + }, + "syncConfig": { + "$ref": "#/types/aws-native:appsync:FunctionConfigurationSyncConfig", + "description": "Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked." + } + } + } + }, "aws-native:appsync:getSourceApiAssociation": { "description": "Resource Type definition for AWS::AppSync::SourceApiAssociation", "inputs": { @@ -193537,12 +194763,18 @@ "allowUnauthenticatedIdentities": { "type": "boolean" }, + "cognitoEvents": { + "$ref": "pulumi.json#/Any" + }, "cognitoIdentityProviders": { "type": "array", "items": { "$ref": "#/types/aws-native:cognito:IdentityPoolCognitoIdentityProvider" } }, + "cognitoStreams": { + "$ref": "#/types/aws-native:cognito:IdentityPoolCognitoStreams" + }, "developerProviderName": { "type": "string" }, @@ -193552,13 +194784,6 @@ "identityPoolName": { "type": "string" }, - "identityPoolTags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:cognito:IdentityPoolTag" - }, - "description": "An array of key-value pairs to apply to this resource." - }, "name": { "type": "string" }, @@ -193568,6 +194793,9 @@ "type": "string" } }, + "pushSync": { + "$ref": "#/types/aws-native:cognito:IdentityPoolPushSync" + }, "samlProviderArns": { "type": "array", "items": { @@ -193633,6 +194861,146 @@ } } }, + "aws-native:cognito:getUserPool": { + "description": "Resource Type definition for AWS::Cognito::UserPool", + "inputs": { + "properties": { + "userPoolId": { + "type": "string" + } + }, + "required": [ + "userPoolId" + ] + }, + "outputs": { + "properties": { + "accountRecoverySetting": { + "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting" + }, + "adminCreateUserConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig" + }, + "aliasAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "arn": { + "type": "string" + }, + "autoVerifiedAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "deletionProtection": { + "type": "string" + }, + "deviceConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolDeviceConfiguration" + }, + "emailConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolEmailConfiguration" + }, + "emailVerificationMessage": { + "type": "string" + }, + "emailVerificationSubject": { + "type": "string" + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig" + }, + "mfaConfiguration": { + "type": "string" + }, + "policies": { + "$ref": "#/types/aws-native:cognito:UserPoolPolicies" + }, + "providerName": { + "type": "string" + }, + "providerUrl": { + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" + } + }, + "smsAuthenticationMessage": { + "type": "string" + }, + "smsConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration" + }, + "smsVerificationMessage": { + "type": "string" + }, + "userAttributeUpdateSettings": { + "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings" + }, + "userPoolAddOns": { + "$ref": "#/types/aws-native:cognito:UserPoolAddOns" + }, + "userPoolId": { + "type": "string" + }, + "userPoolName": { + "type": "string" + }, + "userPoolTags": { + "$ref": "pulumi.json#/Any" + }, + "usernameAttributes": { + "type": "array", + "items": { + "type": "string" + } + }, + "usernameConfiguration": { + "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration" + }, + "verificationMessageTemplate": { + "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate" + } + } + } + }, + "aws-native:cognito:getUserPoolGroup": { + "description": "Resource Type definition for AWS::Cognito::UserPoolGroup", + "inputs": { + "properties": { + "groupName": { + "type": "string" + }, + "userPoolId": { + "type": "string" + } + }, + "required": [ + "userPoolId", + "groupName" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string" + }, + "precedence": { + "type": "integer" + }, + "roleArn": { + "type": "string" + } + } + } + }, "aws-native:comprehend:getDocumentClassifier": { "description": "Document Classifier enables training document classifier models.", "inputs": { @@ -198562,6 +199930,10 @@ "enableDns64": { "type": "boolean" }, + "ipv4NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv4 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "ipv6CidrBlock": { "type": "string" }, @@ -198571,6 +199943,10 @@ "type": "string" } }, + "ipv6NetmaskLength": { + "type": "integer", + "description": "The netmask length of the IPv6 CIDR you want to allocate to this subnet from an Amazon VPC IP Address Manager (IPAM) pool" + }, "mapPublicIpOnLaunch": { "type": "boolean" }, @@ -201230,6 +202606,61 @@ } } }, + "aws-native:entityresolution:getIdMappingWorkflow": { + "description": "IdMappingWorkflow defined in AWS Entity Resolution service", + "inputs": { + "properties": { + "workflowName": { + "type": "string", + "description": "The name of the IdMappingWorkflow" + } + }, + "required": [ + "workflowName" + ] + }, + "outputs": { + "properties": { + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "The description of the IdMappingWorkflow" + }, + "idMappingTechniques": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowIdMappingTechniques" + }, + "inputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowInputSource" + } + }, + "outputSourceConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowOutputSource" + } + }, + "roleArn": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:entityresolution:IdMappingWorkflowTag" + } + }, + "updatedAt": { + "type": "string" + }, + "workflowArn": { + "type": "string" + } + } + } + }, "aws-native:entityresolution:getMatchingWorkflow": { "description": "MatchingWorkflow defined in AWS Entity Resolution service", "inputs": { @@ -201506,51 +202937,42 @@ "description": "Resource Type definition for AWS::Events::Rule", "inputs": { "properties": { - "arn": { - "type": "string", - "description": "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example." + "id": { + "type": "string" } }, "required": [ - "arn" + "id" ] }, "outputs": { "properties": { "arn": { - "type": "string", - "description": "The ARN of the rule, such as arn:aws:events:us-east-2:123456789012:rule/example." + "type": "string" }, "description": { - "type": "string", - "description": "The description of the rule." - }, - "eventBusName": { - "type": "string", - "description": "The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used." + "type": "string" }, "eventPattern": { - "type": "string", - "description": "The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide." + "$ref": "pulumi.json#/Any" + }, + "id": { + "type": "string" }, "roleArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role that is used for target invocation." + "type": "string" }, "scheduleExpression": { - "type": "string", - "description": "The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\". For more information, see Creating an Amazon EventBridge rule that runs on a schedule." + "type": "string" }, "state": { - "$ref": "#/types/aws-native:events:RuleState", - "description": "The state of the rule." + "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/types/aws-native:events:RuleTarget" - }, - "description": "Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.\nTargets are the resources that are invoked when a rule is triggered." + } } } } @@ -203454,6 +204876,44 @@ } } }, + "aws-native:iam:getGroup": { + "description": "Resource Type definition for AWS::IAM::Group", + "inputs": { + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string" + }, + "id": { + "type": "string" + }, + "managedPolicyArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "type": "string" + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iam:GroupPolicy" + } + } + } + } + }, "aws-native:iam:getGroupPolicy": { "description": "Schema for IAM Group Policy", "inputs": { @@ -205029,6 +206489,12 @@ }, "policyDocument": { "$ref": "pulumi.json#/Any" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:PolicyTag" + } } } } @@ -219356,12 +220822,16 @@ "description": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation.", "inputs": { "properties": { - "id": { + "applicationArn": { + "type": "string" + }, + "attributeGroupArn": { "type": "string" } }, "required": [ - "id" + "applicationArn", + "attributeGroupArn" ] }, "outputs": { @@ -219371,9 +220841,6 @@ }, "attributeGroupArn": { "type": "string" - }, - "id": { - "type": "string" } } } @@ -219382,12 +220849,21 @@ "description": "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation", "inputs": { "properties": { - "id": { + "applicationArn": { "type": "string" + }, + "resourceArn": { + "type": "string" + }, + "resourceType": { + "$ref": "#/types/aws-native:servicecatalogappregistry:ResourceAssociationResourceType", + "description": "The type of the CFN Resource for now it's enum CFN_STACK." } }, "required": [ - "id" + "applicationArn", + "resourceArn", + "resourceType" ] }, "outputs": { @@ -219395,9 +220871,6 @@ "applicationArn": { "type": "string" }, - "id": { - "type": "string" - }, "resourceArn": { "type": "string" }