Class RestApiArgs.Builder

  • Enclosing class:
    RestApiArgs

    public static final class RestApiArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • apiKeySource

        public RestApiArgs.Builder apiKeySource​(@Nullable
                                                com.pulumi.core.Output<java.lang.String> apiKeySource)
        Parameters:
        apiKeySource - Source of the API key for requests. Valid values are `HEADER` (default) and `AUTHORIZER`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-api-key-source` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • apiKeySource

        public RestApiArgs.Builder apiKeySource​(java.lang.String apiKeySource)
        Parameters:
        apiKeySource - Source of the API key for requests. Valid values are `HEADER` (default) and `AUTHORIZER`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-api-key-source` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • binaryMediaTypes

        public RestApiArgs.Builder binaryMediaTypes​(@Nullable
                                                    com.pulumi.core.Output<java.util.List<java.lang.String>> binaryMediaTypes)
        Parameters:
        binaryMediaTypes - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • binaryMediaTypes

        public RestApiArgs.Builder binaryMediaTypes​(java.util.List<java.lang.String> binaryMediaTypes)
        Parameters:
        binaryMediaTypes - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • binaryMediaTypes

        public RestApiArgs.Builder binaryMediaTypes​(java.lang.String... binaryMediaTypes)
        Parameters:
        binaryMediaTypes - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • body

        public RestApiArgs.Builder body​(@Nullable
                                        com.pulumi.core.Output<java.lang.String> body)
        Parameters:
        body - OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. This configuration, and any updates to it, will replace all REST API configuration except values overridden in this resource configuration and other resource updates applied after this resource but before any `aws.apigateway.Deployment` creation. More information about REST API OpenAPI support can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
        Returns:
        builder
      • body

        public RestApiArgs.Builder body​(java.lang.String body)
        Parameters:
        body - OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. This configuration, and any updates to it, will replace all REST API configuration except values overridden in this resource configuration and other resource updates applied after this resource but before any `aws.apigateway.Deployment` creation. More information about REST API OpenAPI support can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
        Returns:
        builder
      • description

        public RestApiArgs.Builder description​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - Description of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.description` field. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • description

        public RestApiArgs.Builder description​(java.lang.String description)
        Parameters:
        description - Description of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.description` field. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • disableExecuteApiEndpoint

        public RestApiArgs.Builder disableExecuteApiEndpoint​(@Nullable
                                                             com.pulumi.core.Output<java.lang.Boolean> disableExecuteApiEndpoint)
        Parameters:
        disableExecuteApiEndpoint - 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. Defaults to `false`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `disableExecuteApiEndpoint` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is `true` and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • disableExecuteApiEndpoint

        public RestApiArgs.Builder disableExecuteApiEndpoint​(java.lang.Boolean disableExecuteApiEndpoint)
        Parameters:
        disableExecuteApiEndpoint - 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. Defaults to `false`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `disableExecuteApiEndpoint` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is `true` and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • endpointAccessMode

        public RestApiArgs.Builder endpointAccessMode​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> endpointAccessMode)
        Parameters:
        endpointAccessMode - Endpoint access mode for the REST API. Valid values are `BASIC` and `STRICT`. Only available for REST APIs that use a `securityPolicy` value beginning with `SecurityPolicy_` and is required when one of those values is configured.
        Returns:
        builder
      • endpointAccessMode

        public RestApiArgs.Builder endpointAccessMode​(java.lang.String endpointAccessMode)
        Parameters:
        endpointAccessMode - Endpoint access mode for the REST API. Valid values are `BASIC` and `STRICT`. Only available for REST APIs that use a `securityPolicy` value beginning with `SecurityPolicy_` and is required when one of those values is configured.
        Returns:
        builder
      • endpointConfiguration

        public RestApiArgs.Builder endpointConfiguration​(@Nullable
                                                         com.pulumi.core.Output<RestApiEndpointConfigurationArgs> endpointConfiguration)
        Parameters:
        endpointConfiguration - Configuration block defining API endpoint configuration including endpoint type. Defined below.
        Returns:
        builder
      • endpointConfiguration

        public RestApiArgs.Builder endpointConfiguration​(RestApiEndpointConfigurationArgs endpointConfiguration)
        Parameters:
        endpointConfiguration - Configuration block defining API endpoint configuration including endpoint type. Defined below.
        Returns:
        builder
      • failOnWarnings

        public RestApiArgs.Builder failOnWarnings​(@Nullable
                                                  com.pulumi.core.Output<java.lang.Boolean> failOnWarnings)
        Parameters:
        failOnWarnings - Whether to return an error for warnings while API Gateway is creating or updating the resource. Defaults to `false`.
        Returns:
        builder
      • failOnWarnings

        public RestApiArgs.Builder failOnWarnings​(java.lang.Boolean failOnWarnings)
        Parameters:
        failOnWarnings - Whether to return an error for warnings while API Gateway is creating or updating the resource. Defaults to `false`.
        Returns:
        builder
      • minimumCompressionSize

        public RestApiArgs.Builder minimumCompressionSize​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> minimumCompressionSize)
        Parameters:
        minimumCompressionSize - Minimum response size to compress for the REST API. String containing an integer value between `-1` and `10485760` (10MB). `-1` will disable an existing compression configuration, and all other values will enable compression with the configured size. New resources can simply omit this argument to disable compression, rather than setting the value to `-1`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-minimum-compression-size` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-openapi-minimum-compression-size.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • minimumCompressionSize

        public RestApiArgs.Builder minimumCompressionSize​(java.lang.String minimumCompressionSize)
        Parameters:
        minimumCompressionSize - Minimum response size to compress for the REST API. String containing an integer value between `-1` and `10485760` (10MB). `-1` will disable an existing compression configuration, and all other values will enable compression with the configured size. New resources can simply omit this argument to disable compression, rather than setting the value to `-1`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-minimum-compression-size` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-openapi-minimum-compression-size.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • name

        public RestApiArgs.Builder name​(@Nullable
                                        com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Name of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.title` field. If the argument value is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • name

        public RestApiArgs.Builder name​(java.lang.String name)
        Parameters:
        name - Name of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.title` field. If the argument value is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • parameters

        public RestApiArgs.Builder parameters​(@Nullable
                                              com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> parameters)
        Parameters:
        parameters - Map of customizations for importing the specification in the `body` argument. For example, to exclude DocumentationParts from an imported API, set `ignore` equal to `documentation`. Additional documentation, including other parameters such as `basepath`, can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
        Returns:
        builder
      • parameters

        public RestApiArgs.Builder parameters​(java.util.Map<java.lang.String,​java.lang.String> parameters)
        Parameters:
        parameters - Map of customizations for importing the specification in the `body` argument. For example, to exclude DocumentationParts from an imported API, set `ignore` equal to `documentation`. Additional documentation, including other parameters such as `basepath`, can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
        Returns:
        builder
      • policy

        public RestApiArgs.Builder policy​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> policy)
        Parameters:
        policy - JSON formatted policy document that controls access to the API Gateway. For more information about building AWS IAM policy documents with Pulumi, see the AWS IAM Policy Document Guide. The provider will only perform drift detection of its value when present in a configuration. We recommend using the `aws.apigateway.RestApiPolicy` resource instead. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-policy` extension](https://docs.aws.amazon.com/apigateway/latest/openapi-extensions-policy.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • policy

        public RestApiArgs.Builder policy​(java.lang.String policy)
        Parameters:
        policy - JSON formatted policy document that controls access to the API Gateway. For more information about building AWS IAM policy documents with Pulumi, see the AWS IAM Policy Document Guide. The provider will only perform drift detection of its value when present in a configuration. We recommend using the `aws.apigateway.RestApiPolicy` resource instead. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-policy` extension](https://docs.aws.amazon.com/apigateway/latest/openapi-extensions-policy.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • putRestApiMode

        public RestApiArgs.Builder putRestApiMode​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> putRestApiMode)
        Parameters:
        putRestApiMode - Mode of the PutRestApi operation when importing an OpenAPI specification via the `body` argument (create or update operation). Valid values are `merge` and `overwrite`. If not configured, defaults to `overwrite` (for backwards compatibility). This corresponds to the [`x-amazon-apigateway-put-integration-method` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-put-integration-method.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • putRestApiMode

        public RestApiArgs.Builder putRestApiMode​(java.lang.String putRestApiMode)
        Parameters:
        putRestApiMode - Mode of the PutRestApi operation when importing an OpenAPI specification via the `body` argument (create or update operation). Valid values are `merge` and `overwrite`. If not configured, defaults to `overwrite` (for backwards compatibility). This corresponds to the [`x-amazon-apigateway-put-integration-method` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-put-integration-method.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
        Returns:
        builder
      • region

        public RestApiArgs.Builder region​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public RestApiArgs.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • securityPolicy

        public RestApiArgs.Builder securityPolicy​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> securityPolicy)
        Parameters:
        securityPolicy - TLS version + cipher suite for the REST API's default execute-api endpoint. Must be configured for drift detection. When set to a value beginning with `SecurityPolicy_`, `endpointAccessMode` must also be configured. For a list of valid security policies, see [CreateRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the Amazon API Gateway API Reference.
        Returns:
        builder
      • securityPolicy

        public RestApiArgs.Builder securityPolicy​(java.lang.String securityPolicy)
        Parameters:
        securityPolicy - TLS version + cipher suite for the REST API's default execute-api endpoint. Must be configured for drift detection. When set to a value beginning with `SecurityPolicy_`, `endpointAccessMode` must also be configured. For a list of valid security policies, see [CreateRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the Amazon API Gateway API Reference.
        Returns:
        builder
      • tags

        public RestApiArgs.Builder tags​(@Nullable
                                        com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public RestApiArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder