1. Packages
  2. AWS Native
  3. API Docs
  4. apigatewayv2
  5. Api

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.102.0 published on Tuesday, Apr 16, 2024 by Pulumi

aws-native.apigatewayv2.Api

Explore with Pulumi AI

aws-native logo

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.102.0 published on Tuesday, Apr 16, 2024 by Pulumi

    The AWS::ApiGatewayV2::Api resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see About WebSocket APIs in API Gateway in the API Gateway Developer Guide. For more information about HTTP APIs, see HTTP APIs in the API Gateway Developer Guide.

    Create Api Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Api(name: string, args?: ApiArgs, opts?: CustomResourceOptions);
    @overload
    def Api(resource_name: str,
            args: Optional[ApiArgs] = None,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def Api(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            api_key_selection_expression: Optional[str] = None,
            base_path: Optional[str] = None,
            body: Optional[Any] = None,
            body_s3_location: Optional[ApiBodyS3LocationArgs] = None,
            cors_configuration: Optional[ApiCorsArgs] = None,
            credentials_arn: Optional[str] = None,
            description: Optional[str] = None,
            disable_execute_api_endpoint: Optional[bool] = None,
            disable_schema_validation: Optional[bool] = None,
            fail_on_warnings: Optional[bool] = None,
            name: Optional[str] = None,
            protocol_type: Optional[str] = None,
            route_key: Optional[str] = None,
            route_selection_expression: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            target: Optional[str] = None,
            version: Optional[str] = None)
    func NewApi(ctx *Context, name string, args *ApiArgs, opts ...ResourceOption) (*Api, error)
    public Api(string name, ApiArgs? args = null, CustomResourceOptions? opts = null)
    public Api(String name, ApiArgs args)
    public Api(String name, ApiArgs args, CustomResourceOptions options)
    
    type: aws-native:apigatewayv2:Api
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ApiArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ApiArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ApiArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ApiArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ApiArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    const apiResource = new aws_native.apigatewayv2.Api("apiResource", {
        apiKeySelectionExpression: "string",
        basePath: "string",
        body: "any",
        bodyS3Location: {
            bucket: "string",
            etag: "string",
            key: "string",
            version: "string",
        },
        corsConfiguration: {
            allowCredentials: false,
            allowHeaders: ["string"],
            allowMethods: ["string"],
            allowOrigins: ["string"],
            exposeHeaders: ["string"],
            maxAge: 0,
        },
        credentialsArn: "string",
        description: "string",
        disableExecuteApiEndpoint: false,
        disableSchemaValidation: false,
        failOnWarnings: false,
        name: "string",
        protocolType: "string",
        routeKey: "string",
        routeSelectionExpression: "string",
        tags: {
            string: "string",
        },
        target: "string",
        version: "string",
    });
    
    Coming soon!
    

    Api Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Api resource accepts the following input properties:

    ApiKeySelectionExpression string
    An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
    BasePath string
    Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
    Body object

    The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.

    Search the CloudFormation User Guide for AWS::ApiGatewayV2::Api for more information about the expected schema for this property.

    BodyS3Location Pulumi.AwsNative.ApiGatewayV2.Inputs.ApiBodyS3Location
    The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
    CorsConfiguration Pulumi.AwsNative.ApiGatewayV2.Inputs.ApiCors
    A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
    CredentialsArn string
    This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, 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 arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
    Description string
    The description of the API.
    DisableExecuteApiEndpoint bool
    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.
    DisableSchemaValidation bool
    Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
    FailOnWarnings bool
    Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
    Name string
    The name of the API. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    ProtocolType string
    The API protocol. Valid values are WEBSOCKET or HTTP. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    RouteKey string
    This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
    RouteSelectionExpression string
    The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
    Tags Dictionary<string, string>
    The collection of tags. Each tag element is associated with a given resource.
    Target string
    This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
    Version string
    A version identifier for the API.
    ApiKeySelectionExpression string
    An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
    BasePath string
    Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
    Body interface{}

    The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.

    Search the CloudFormation User Guide for AWS::ApiGatewayV2::Api for more information about the expected schema for this property.

    BodyS3Location ApiBodyS3LocationArgs
    The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
    CorsConfiguration ApiCorsArgs
    A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
    CredentialsArn string
    This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, 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 arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
    Description string
    The description of the API.
    DisableExecuteApiEndpoint bool
    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.
    DisableSchemaValidation bool
    Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
    FailOnWarnings bool
    Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
    Name string
    The name of the API. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    ProtocolType string
    The API protocol. Valid values are WEBSOCKET or HTTP. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    RouteKey string
    This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
    RouteSelectionExpression string
    The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
    Tags map[string]string
    The collection of tags. Each tag element is associated with a given resource.
    Target string
    This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
    Version string
    A version identifier for the API.
    apiKeySelectionExpression String
    An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
    basePath String
    Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
    body Object

    The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.

    Search the CloudFormation User Guide for AWS::ApiGatewayV2::Api for more information about the expected schema for this property.

    bodyS3Location ApiBodyS3Location
    The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
    corsConfiguration ApiCors
    A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
    credentialsArn String
    This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, 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 arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
    description String
    The description of the API.
    disableExecuteApiEndpoint Boolean
    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.
    disableSchemaValidation Boolean
    Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
    failOnWarnings Boolean
    Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
    name String
    The name of the API. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    protocolType String
    The API protocol. Valid values are WEBSOCKET or HTTP. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    routeKey String
    This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
    routeSelectionExpression String
    The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
    tags Map<String,String>
    The collection of tags. Each tag element is associated with a given resource.
    target String
    This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
    version String
    A version identifier for the API.
    apiKeySelectionExpression string
    An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
    basePath string
    Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
    body any

    The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.

    Search the CloudFormation User Guide for AWS::ApiGatewayV2::Api for more information about the expected schema for this property.

    bodyS3Location ApiBodyS3Location
    The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
    corsConfiguration ApiCors
    A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
    credentialsArn string
    This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, 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 arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
    description string
    The description of the API.
    disableExecuteApiEndpoint boolean
    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.
    disableSchemaValidation boolean
    Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
    failOnWarnings boolean
    Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
    name string
    The name of the API. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    protocolType string
    The API protocol. Valid values are WEBSOCKET or HTTP. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    routeKey string
    This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
    routeSelectionExpression string
    The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
    tags {[key: string]: string}
    The collection of tags. Each tag element is associated with a given resource.
    target string
    This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
    version string
    A version identifier for the API.
    api_key_selection_expression str
    An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
    base_path str
    Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
    body Any

    The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.

    Search the CloudFormation User Guide for AWS::ApiGatewayV2::Api for more information about the expected schema for this property.

    body_s3_location ApiBodyS3LocationArgs
    The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
    cors_configuration ApiCorsArgs
    A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
    credentials_arn str
    This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, 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 arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
    description str
    The description of the API.
    disable_execute_api_endpoint bool
    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.
    disable_schema_validation bool
    Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
    fail_on_warnings bool
    Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
    name str
    The name of the API. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    protocol_type str
    The API protocol. Valid values are WEBSOCKET or HTTP. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    route_key str
    This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
    route_selection_expression str
    The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
    tags Mapping[str, str]
    The collection of tags. Each tag element is associated with a given resource.
    target str
    This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
    version str
    A version identifier for the API.
    apiKeySelectionExpression String
    An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
    basePath String
    Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
    body Any

    The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.

    Search the CloudFormation User Guide for AWS::ApiGatewayV2::Api for more information about the expected schema for this property.

    bodyS3Location Property Map
    The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a Body or BodyS3Location. If you specify a Body or BodyS3Location, don't specify CloudFormation resources such as AWS::ApiGatewayV2::Authorizer or AWS::ApiGatewayV2::Route. API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.
    corsConfiguration Property Map
    A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
    credentialsArn String
    This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, 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 arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
    description String
    The description of the API.
    disableExecuteApiEndpoint Boolean
    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.
    disableSchemaValidation Boolean
    Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
    failOnWarnings Boolean
    Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
    name String
    The name of the API. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    protocolType String
    The API protocol. Valid values are WEBSOCKET or HTTP. Required unless you specify an OpenAPI definition for Body or S3BodyLocation.
    routeKey String
    This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
    routeSelectionExpression String
    The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
    tags Map<String>
    The collection of tags. Each tag element is associated with a given resource.
    target String
    This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
    version String
    A version identifier for the API.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Api resource produces the following output properties:

    ApiEndpoint string
    ApiId string
    Id string
    The provider-assigned unique ID for this managed resource.
    ApiEndpoint string
    ApiId string
    Id string
    The provider-assigned unique ID for this managed resource.
    apiEndpoint String
    apiId String
    id String
    The provider-assigned unique ID for this managed resource.
    apiEndpoint string
    apiId string
    id string
    The provider-assigned unique ID for this managed resource.
    api_endpoint str
    api_id str
    id str
    The provider-assigned unique ID for this managed resource.
    apiEndpoint String
    apiId String
    id String
    The provider-assigned unique ID for this managed resource.

    Supporting Types

    ApiBodyS3Location, ApiBodyS3LocationArgs

    Bucket string
    The S3 bucket that contains the OpenAPI definition to import. Required if you specify a BodyS3Location for an API.
    Etag string
    The Etag of the S3 object.
    Key string
    The key of the S3 object. Required if you specify a BodyS3Location for an API.
    Version string
    The version of the S3 object.
    Bucket string
    The S3 bucket that contains the OpenAPI definition to import. Required if you specify a BodyS3Location for an API.
    Etag string
    The Etag of the S3 object.
    Key string
    The key of the S3 object. Required if you specify a BodyS3Location for an API.
    Version string
    The version of the S3 object.
    bucket String
    The S3 bucket that contains the OpenAPI definition to import. Required if you specify a BodyS3Location for an API.
    etag String
    The Etag of the S3 object.
    key String
    The key of the S3 object. Required if you specify a BodyS3Location for an API.
    version String
    The version of the S3 object.
    bucket string
    The S3 bucket that contains the OpenAPI definition to import. Required if you specify a BodyS3Location for an API.
    etag string
    The Etag of the S3 object.
    key string
    The key of the S3 object. Required if you specify a BodyS3Location for an API.
    version string
    The version of the S3 object.
    bucket str
    The S3 bucket that contains the OpenAPI definition to import. Required if you specify a BodyS3Location for an API.
    etag str
    The Etag of the S3 object.
    key str
    The key of the S3 object. Required if you specify a BodyS3Location for an API.
    version str
    The version of the S3 object.
    bucket String
    The S3 bucket that contains the OpenAPI definition to import. Required if you specify a BodyS3Location for an API.
    etag String
    The Etag of the S3 object.
    key String
    The key of the S3 object. Required if you specify a BodyS3Location for an API.
    version String
    The version of the S3 object.

    ApiCors, ApiCorsArgs

    AllowCredentials bool
    Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.
    AllowHeaders List<string>
    Represents a collection of allowed headers. Supported only for HTTP APIs.
    AllowMethods List<string>
    Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
    AllowOrigins List<string>
    Represents a collection of allowed origins. Supported only for HTTP APIs.
    ExposeHeaders List<string>
    Represents a collection of exposed headers. Supported only for HTTP APIs.
    MaxAge int
    The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.
    AllowCredentials bool
    Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.
    AllowHeaders []string
    Represents a collection of allowed headers. Supported only for HTTP APIs.
    AllowMethods []string
    Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
    AllowOrigins []string
    Represents a collection of allowed origins. Supported only for HTTP APIs.
    ExposeHeaders []string
    Represents a collection of exposed headers. Supported only for HTTP APIs.
    MaxAge int
    The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.
    allowCredentials Boolean
    Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.
    allowHeaders List<String>
    Represents a collection of allowed headers. Supported only for HTTP APIs.
    allowMethods List<String>
    Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
    allowOrigins List<String>
    Represents a collection of allowed origins. Supported only for HTTP APIs.
    exposeHeaders List<String>
    Represents a collection of exposed headers. Supported only for HTTP APIs.
    maxAge Integer
    The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.
    allowCredentials boolean
    Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.
    allowHeaders string[]
    Represents a collection of allowed headers. Supported only for HTTP APIs.
    allowMethods string[]
    Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
    allowOrigins string[]
    Represents a collection of allowed origins. Supported only for HTTP APIs.
    exposeHeaders string[]
    Represents a collection of exposed headers. Supported only for HTTP APIs.
    maxAge number
    The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.
    allow_credentials bool
    Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.
    allow_headers Sequence[str]
    Represents a collection of allowed headers. Supported only for HTTP APIs.
    allow_methods Sequence[str]
    Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
    allow_origins Sequence[str]
    Represents a collection of allowed origins. Supported only for HTTP APIs.
    expose_headers Sequence[str]
    Represents a collection of exposed headers. Supported only for HTTP APIs.
    max_age int
    The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.
    allowCredentials Boolean
    Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.
    allowHeaders List<String>
    Represents a collection of allowed headers. Supported only for HTTP APIs.
    allowMethods List<String>
    Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
    allowOrigins List<String>
    Represents a collection of allowed origins. Supported only for HTTP APIs.
    exposeHeaders List<String>
    Represents a collection of exposed headers. Supported only for HTTP APIs.
    maxAge Number
    The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.

    Package Details

    Repository
    AWS Native pulumi/pulumi-aws-native
    License
    Apache-2.0
    aws-native logo

    AWS Native is in preview. AWS Classic is fully supported.

    AWS Native v0.102.0 published on Tuesday, Apr 16, 2024 by Pulumi