Share via


Microsoft.AppPlatform Spring/gateways 2023-11-01-preview

Bicep resource definition

The Spring/gateways resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.AppPlatform/Spring/gateways resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.AppPlatform/Spring/gateways@2023-11-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    addonConfigs: {
      {customized property}: any(...)
    }
    apiMetadataProperties: {
      description: 'string'
      documentation: 'string'
      serverUrl: 'string'
      title: 'string'
      version: 'string'
    }
    apms: [
      {
        resourceId: 'string'
      }
    ]
    apmTypes: [
      'string'
    ]
    clientAuth: {
      certificates: [
        'string'
      ]
      certificateVerification: 'string'
    }
    corsProperties: {
      allowCredentials: bool
      allowedHeaders: [
        'string'
      ]
      allowedMethods: [
        'string'
      ]
      allowedOriginPatterns: [
        'string'
      ]
      allowedOrigins: [
        'string'
      ]
      exposedHeaders: [
        'string'
      ]
      maxAge: int
    }
    environmentVariables: {
      properties: {
        {customized property}: 'string'
      }
      secrets: {
        {customized property}: 'string'
      }
    }
    httpsOnly: bool
    public: bool
    resourceRequests: {
      cpu: 'string'
      memory: 'string'
    }
    responseCacheProperties: {
      responseCacheType: 'string'
      // For remaining properties, see GatewayResponseCacheProperties objects
    }
    ssoProperties: {
      clientId: 'string'
      clientSecret: 'string'
      issuerUri: 'string'
      scope: [
        'string'
      ]
    }
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
}

GatewayResponseCacheProperties objects

Set the responseCacheType property to specify the type of object.

For LocalCachePerInstance, use:

{
  responseCacheType: 'LocalCachePerInstance'
  size: 'string'
  timeToLive: 'string'
}

For LocalCachePerRoute, use:

{
  responseCacheType: 'LocalCachePerRoute'
  size: 'string'
  timeToLive: 'string'
}

Property Values

Microsoft.AppPlatform/Spring/gateways

Name Description Value
name The resource name string

Constraints:
Pattern = ^[a-z][a-z0-9]*$ (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: Spring
properties Spring Cloud Gateway properties payload GatewayProperties
sku Sku of the Spring Cloud Gateway resource Sku

ApmReference

Name Description Value
resourceId Resource Id of the APM string (required)

GatewayApiMetadataProperties

Name Description Value
description Detailed description of the APIs available on the Gateway instance (default: Generated OpenAPI 3 document that describes the API routes configured.) string
documentation Location of additional documentation for the APIs available on the Gateway instance string
serverUrl Base URL that API consumers will use to access APIs on the Gateway instance. string
title Title describing the context of the APIs available on the Gateway instance (default: Spring Cloud Gateway for K8S) string
version Version of APIs available on this Gateway instance (default: unspecified). string

GatewayCorsProperties

Name Description Value
allowCredentials Whether user credentials are supported on cross-site requests. Valid values: true, false. bool
allowedHeaders Allowed headers in cross-site requests. The special value * allows actual requests to send any header. string[]
allowedMethods Allowed HTTP methods on cross-site requests. The special value * allows all methods. If not set, GET and HEAD are allowed by default. string[]
allowedOriginPatterns Allowed origin patterns to make cross-site requests. string[]
allowedOrigins Allowed origins to make cross-site requests. The special value * allows all domains. string[]
exposedHeaders HTTP response headers to expose for cross-site requests. string[]
maxAge How long, in seconds, the response from a pre-flight request can be cached by clients. int

GatewayLocalResponseCachePerInstanceProperties

Name Description Value
responseCacheType The type of the response cache. 'LocalCachePerInstance' (required)
size Maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries string
timeToLive Time before a cached entry is expired (300s, 5m, 1h...) string

GatewayLocalResponseCachePerRouteProperties

Name Description Value
responseCacheType The type of the response cache. 'LocalCachePerRoute' (required)
size Maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries. string
timeToLive Time before a cached entry is expired (300s, 5m, 1h...) string

GatewayProperties

Name Description Value
addonConfigs Collection of addons for Spring Cloud Gateway GatewayPropertiesAddonConfigs
apiMetadataProperties API metadata property for Spring Cloud Gateway GatewayApiMetadataProperties
apms Collection of ApmReferences in service level ApmReference[]
apmTypes Collection of APM type used in Spring Cloud Gateway String array containing any of:
'AppDynamics'
'ApplicationInsights'
'Dynatrace'
'ElasticAPM'
'NewRelic'
clientAuth Client-Certification Authentication. GatewayPropertiesClientAuth
corsProperties Cross-Origin Resource Sharing property GatewayCorsProperties
environmentVariables Environment variables of Spring Cloud Gateway GatewayPropertiesEnvironmentVariables
httpsOnly Indicate if only https is allowed. bool
public Indicates whether the Spring Cloud Gateway exposes endpoint. bool
resourceRequests The requested resource quantity for required CPU and Memory. GatewayResourceRequests
responseCacheProperties The properties to configure different types of response cache for Spring Cloud Gateway. GatewayResponseCacheProperties
ssoProperties Single sign-on related configuration SsoProperties

GatewayPropertiesAddonConfigs

Name Description Value

GatewayPropertiesClientAuth

Name Description Value
certificates Collection of certificate resource Ids in Azure Spring Apps. string[]
certificateVerification Whether to enable certificate verification or not 'Disabled'
'Enabled'

GatewayPropertiesEnvironmentVariables

Name Description Value
properties Non-sensitive properties GatewayPropertiesEnvironmentVariablesProperties
secrets Sensitive properties GatewayPropertiesEnvironmentVariablesSecrets

GatewayPropertiesEnvironmentVariablesProperties

Name Description Value

GatewayPropertiesEnvironmentVariablesSecrets

Name Description Value

GatewayResourceRequests

Name Description Value
cpu Cpu allocated to each Spring Cloud Gateway instance. string
memory Memory allocated to each Spring Cloud Gateway instance. string

GatewayResponseCacheProperties

Name Description Value
responseCacheType Set to 'LocalCachePerInstance' for type GatewayLocalResponseCachePerInstanceProperties. Set to 'LocalCachePerRoute' for type GatewayLocalResponseCachePerRouteProperties. 'LocalCachePerInstance'
'LocalCachePerRoute' (required)

Sku

Name Description Value
capacity Current capacity of the target resource int
name Name of the Sku string
tier Tier of the Sku string

SsoProperties

Name Description Value
clientId The public identifier for the application string
clientSecret The secret known only to the application and the authorization server string
issuerUri The URI of Issuer Identifier string
scope It defines the specific actions applications can be allowed to do on a user's behalf string[]

Usage Examples

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Deploy a simple Azure Spring Apps microservice application This template deploys a simple Azure Spring Apps microservice application to run on Azure.

ARM template resource definition

The Spring/gateways resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.AppPlatform/Spring/gateways resource, add the following JSON to your template.

{
  "type": "Microsoft.AppPlatform/Spring/gateways",
  "apiVersion": "2023-11-01-preview",
  "name": "string",
  "properties": {
    "addonConfigs": {
      "{customized property}": {}
    },
    "apiMetadataProperties": {
      "description": "string",
      "documentation": "string",
      "serverUrl": "string",
      "title": "string",
      "version": "string"
    },
    "apms": [
      {
        "resourceId": "string"
      }
    ],
    "apmTypes": [ "string" ],
    "clientAuth": {
      "certificates": [ "string" ],
      "certificateVerification": "string"
    },
    "corsProperties": {
      "allowCredentials": "bool",
      "allowedHeaders": [ "string" ],
      "allowedMethods": [ "string" ],
      "allowedOriginPatterns": [ "string" ],
      "allowedOrigins": [ "string" ],
      "exposedHeaders": [ "string" ],
      "maxAge": "int"
    },
    "environmentVariables": {
      "properties": {
        "{customized property}": "string"
      },
      "secrets": {
        "{customized property}": "string"
      }
    },
    "httpsOnly": "bool",
    "public": "bool",
    "resourceRequests": {
      "cpu": "string",
      "memory": "string"
    },
    "responseCacheProperties": {
      "responseCacheType": "string"
      // For remaining properties, see GatewayResponseCacheProperties objects
    },
    "ssoProperties": {
      "clientId": "string",
      "clientSecret": "string",
      "issuerUri": "string",
      "scope": [ "string" ]
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  }
}

GatewayResponseCacheProperties objects

Set the responseCacheType property to specify the type of object.

For LocalCachePerInstance, use:

{
  "responseCacheType": "LocalCachePerInstance",
  "size": "string",
  "timeToLive": "string"
}

For LocalCachePerRoute, use:

{
  "responseCacheType": "LocalCachePerRoute",
  "size": "string",
  "timeToLive": "string"
}

Property Values

Microsoft.AppPlatform/Spring/gateways

Name Description Value
apiVersion The api version '2023-11-01-preview'
name The resource name string

Constraints:
Pattern = ^[a-z][a-z0-9]*$ (required)
properties Spring Cloud Gateway properties payload GatewayProperties
sku Sku of the Spring Cloud Gateway resource Sku
type The resource type 'Microsoft.AppPlatform/Spring/gateways'

ApmReference

Name Description Value
resourceId Resource Id of the APM string (required)

GatewayApiMetadataProperties

Name Description Value
description Detailed description of the APIs available on the Gateway instance (default: Generated OpenAPI 3 document that describes the API routes configured.) string
documentation Location of additional documentation for the APIs available on the Gateway instance string
serverUrl Base URL that API consumers will use to access APIs on the Gateway instance. string
title Title describing the context of the APIs available on the Gateway instance (default: Spring Cloud Gateway for K8S) string
version Version of APIs available on this Gateway instance (default: unspecified). string

GatewayCorsProperties

Name Description Value
allowCredentials Whether user credentials are supported on cross-site requests. Valid values: true, false. bool
allowedHeaders Allowed headers in cross-site requests. The special value * allows actual requests to send any header. string[]
allowedMethods Allowed HTTP methods on cross-site requests. The special value * allows all methods. If not set, GET and HEAD are allowed by default. string[]
allowedOriginPatterns Allowed origin patterns to make cross-site requests. string[]
allowedOrigins Allowed origins to make cross-site requests. The special value * allows all domains. string[]
exposedHeaders HTTP response headers to expose for cross-site requests. string[]
maxAge How long, in seconds, the response from a pre-flight request can be cached by clients. int

GatewayLocalResponseCachePerInstanceProperties

Name Description Value
responseCacheType The type of the response cache. 'LocalCachePerInstance' (required)
size Maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries string
timeToLive Time before a cached entry is expired (300s, 5m, 1h...) string

GatewayLocalResponseCachePerRouteProperties

Name Description Value
responseCacheType The type of the response cache. 'LocalCachePerRoute' (required)
size Maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries. string
timeToLive Time before a cached entry is expired (300s, 5m, 1h...) string

GatewayProperties

Name Description Value
addonConfigs Collection of addons for Spring Cloud Gateway GatewayPropertiesAddonConfigs
apiMetadataProperties API metadata property for Spring Cloud Gateway GatewayApiMetadataProperties
apms Collection of ApmReferences in service level ApmReference[]
apmTypes Collection of APM type used in Spring Cloud Gateway String array containing any of:
'AppDynamics'
'ApplicationInsights'
'Dynatrace'
'ElasticAPM'
'NewRelic'
clientAuth Client-Certification Authentication. GatewayPropertiesClientAuth
corsProperties Cross-Origin Resource Sharing property GatewayCorsProperties
environmentVariables Environment variables of Spring Cloud Gateway GatewayPropertiesEnvironmentVariables
httpsOnly Indicate if only https is allowed. bool
public Indicates whether the Spring Cloud Gateway exposes endpoint. bool
resourceRequests The requested resource quantity for required CPU and Memory. GatewayResourceRequests
responseCacheProperties The properties to configure different types of response cache for Spring Cloud Gateway. GatewayResponseCacheProperties
ssoProperties Single sign-on related configuration SsoProperties

GatewayPropertiesAddonConfigs

Name Description Value

GatewayPropertiesClientAuth

Name Description Value
certificates Collection of certificate resource Ids in Azure Spring Apps. string[]
certificateVerification Whether to enable certificate verification or not 'Disabled'
'Enabled'

GatewayPropertiesEnvironmentVariables

Name Description Value
properties Non-sensitive properties GatewayPropertiesEnvironmentVariablesProperties
secrets Sensitive properties GatewayPropertiesEnvironmentVariablesSecrets

GatewayPropertiesEnvironmentVariablesProperties

Name Description Value

GatewayPropertiesEnvironmentVariablesSecrets

Name Description Value

GatewayResourceRequests

Name Description Value
cpu Cpu allocated to each Spring Cloud Gateway instance. string
memory Memory allocated to each Spring Cloud Gateway instance. string

GatewayResponseCacheProperties

Name Description Value
responseCacheType Set to 'LocalCachePerInstance' for type GatewayLocalResponseCachePerInstanceProperties. Set to 'LocalCachePerRoute' for type GatewayLocalResponseCachePerRouteProperties. 'LocalCachePerInstance'
'LocalCachePerRoute' (required)

Sku

Name Description Value
capacity Current capacity of the target resource int
name Name of the Sku string
tier Tier of the Sku string

SsoProperties

Name Description Value
clientId The public identifier for the application string
clientSecret The secret known only to the application and the authorization server string
issuerUri The URI of Issuer Identifier string
scope It defines the specific actions applications can be allowed to do on a user's behalf string[]

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Deploy a simple Azure Spring Apps microservice application

Deploy to Azure
This template deploys a simple Azure Spring Apps microservice application to run on Azure.

Terraform (AzAPI provider) resource definition

The Spring/gateways resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.AppPlatform/Spring/gateways resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/gateways@2023-11-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      addonConfigs = {
        {customized property} = ?
      }
      apiMetadataProperties = {
        description = "string"
        documentation = "string"
        serverUrl = "string"
        title = "string"
        version = "string"
      }
      apms = [
        {
          resourceId = "string"
        }
      ]
      apmTypes = [
        "string"
      ]
      clientAuth = {
        certificates = [
          "string"
        ]
        certificateVerification = "string"
      }
      corsProperties = {
        allowCredentials = bool
        allowedHeaders = [
          "string"
        ]
        allowedMethods = [
          "string"
        ]
        allowedOriginPatterns = [
          "string"
        ]
        allowedOrigins = [
          "string"
        ]
        exposedHeaders = [
          "string"
        ]
        maxAge = int
      }
      environmentVariables = {
        properties = {
          {customized property} = "string"
        }
        secrets = {
          {customized property} = "string"
        }
      }
      httpsOnly = bool
      public = bool
      resourceRequests = {
        cpu = "string"
        memory = "string"
      }
      responseCacheProperties = {
        responseCacheType = "string"
        // For remaining properties, see GatewayResponseCacheProperties objects
      }
      ssoProperties = {
        clientId = "string"
        clientSecret = "string"
        issuerUri = "string"
        scope = [
          "string"
        ]
      }
    }
    sku = {
      capacity = int
      name = "string"
      tier = "string"
    }
  }
}

GatewayResponseCacheProperties objects

Set the responseCacheType property to specify the type of object.

For LocalCachePerInstance, use:

{
  responseCacheType = "LocalCachePerInstance"
  size = "string"
  timeToLive = "string"
}

For LocalCachePerRoute, use:

{
  responseCacheType = "LocalCachePerRoute"
  size = "string"
  timeToLive = "string"
}

Property Values

Microsoft.AppPlatform/Spring/gateways

Name Description Value
name The resource name string

Constraints:
Pattern = ^[a-z][a-z0-9]*$ (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: Spring
properties Spring Cloud Gateway properties payload GatewayProperties
sku Sku of the Spring Cloud Gateway resource Sku
type The resource type "Microsoft.AppPlatform/Spring/gateways@2023-11-01-preview"

ApmReference

Name Description Value
resourceId Resource Id of the APM string (required)

GatewayApiMetadataProperties

Name Description Value
description Detailed description of the APIs available on the Gateway instance (default: Generated OpenAPI 3 document that describes the API routes configured.) string
documentation Location of additional documentation for the APIs available on the Gateway instance string
serverUrl Base URL that API consumers will use to access APIs on the Gateway instance. string
title Title describing the context of the APIs available on the Gateway instance (default: Spring Cloud Gateway for K8S) string
version Version of APIs available on this Gateway instance (default: unspecified). string

GatewayCorsProperties

Name Description Value
allowCredentials Whether user credentials are supported on cross-site requests. Valid values: true, false. bool
allowedHeaders Allowed headers in cross-site requests. The special value * allows actual requests to send any header. string[]
allowedMethods Allowed HTTP methods on cross-site requests. The special value * allows all methods. If not set, GET and HEAD are allowed by default. string[]
allowedOriginPatterns Allowed origin patterns to make cross-site requests. string[]
allowedOrigins Allowed origins to make cross-site requests. The special value * allows all domains. string[]
exposedHeaders HTTP response headers to expose for cross-site requests. string[]
maxAge How long, in seconds, the response from a pre-flight request can be cached by clients. int

GatewayLocalResponseCachePerInstanceProperties

Name Description Value
responseCacheType The type of the response cache. 'LocalCachePerInstance' (required)
size Maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries string
timeToLive Time before a cached entry is expired (300s, 5m, 1h...) string

GatewayLocalResponseCachePerRouteProperties

Name Description Value
responseCacheType The type of the response cache. 'LocalCachePerRoute' (required)
size Maximum size of cache (10MB, 900KB, 1GB...) to determine if the cache needs to evict some entries. string
timeToLive Time before a cached entry is expired (300s, 5m, 1h...) string

GatewayProperties

Name Description Value
addonConfigs Collection of addons for Spring Cloud Gateway GatewayPropertiesAddonConfigs
apiMetadataProperties API metadata property for Spring Cloud Gateway GatewayApiMetadataProperties
apms Collection of ApmReferences in service level ApmReference[]
apmTypes Collection of APM type used in Spring Cloud Gateway String array containing any of:
'AppDynamics'
'ApplicationInsights'
'Dynatrace'
'ElasticAPM'
'NewRelic'
clientAuth Client-Certification Authentication. GatewayPropertiesClientAuth
corsProperties Cross-Origin Resource Sharing property GatewayCorsProperties
environmentVariables Environment variables of Spring Cloud Gateway GatewayPropertiesEnvironmentVariables
httpsOnly Indicate if only https is allowed. bool
public Indicates whether the Spring Cloud Gateway exposes endpoint. bool
resourceRequests The requested resource quantity for required CPU and Memory. GatewayResourceRequests
responseCacheProperties The properties to configure different types of response cache for Spring Cloud Gateway. GatewayResponseCacheProperties
ssoProperties Single sign-on related configuration SsoProperties

GatewayPropertiesAddonConfigs

Name Description Value

GatewayPropertiesClientAuth

Name Description Value
certificates Collection of certificate resource Ids in Azure Spring Apps. string[]
certificateVerification Whether to enable certificate verification or not 'Disabled'
'Enabled'

GatewayPropertiesEnvironmentVariables

Name Description Value
properties Non-sensitive properties GatewayPropertiesEnvironmentVariablesProperties
secrets Sensitive properties GatewayPropertiesEnvironmentVariablesSecrets

GatewayPropertiesEnvironmentVariablesProperties

Name Description Value

GatewayPropertiesEnvironmentVariablesSecrets

Name Description Value

GatewayResourceRequests

Name Description Value
cpu Cpu allocated to each Spring Cloud Gateway instance. string
memory Memory allocated to each Spring Cloud Gateway instance. string

GatewayResponseCacheProperties

Name Description Value
responseCacheType Set to 'LocalCachePerInstance' for type GatewayLocalResponseCachePerInstanceProperties. Set to 'LocalCachePerRoute' for type GatewayLocalResponseCachePerRouteProperties. 'LocalCachePerInstance'
'LocalCachePerRoute' (required)

Sku

Name Description Value
capacity Current capacity of the target resource int
name Name of the Sku string
tier Tier of the Sku string

SsoProperties

Name Description Value
clientId The public identifier for the application string
clientSecret The secret known only to the application and the authorization server string
issuerUri The URI of Issuer Identifier string
scope It defines the specific actions applications can be allowed to do on a user's behalf string[]