"description":"Certain resources associated with an application are created on-demand. Controls whether these resources should be created when performing the GET operation. If specified and any resources could not be created, the request will fail with an error code. Additionally, this parameter can cause the request to take longer to complete.",
"description":"Updates the specified Application resource. You can update the following fields:\nauth_domain (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.auth_domain)\ndefault_cookie_expiration (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps#Application.FIELDS.default_cookie_expiration)",
"description":"Creates an App Engine application for a Google Cloud Platform project. Required fields:\nid - The ID of the target Cloud Platform project.\nlocation - The region (https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https://cloud.google.com/appengine/docs/python/console/).",
"description":"Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#inboundservicetype) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#automaticscaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules#shardby) field in the Module resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).",
"description":"Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.",
"description":"Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).",
"description":"Gets the specified Version resource. By default, only a BASIC_VIEW will be returned. Specify the FULL_VIEW parameter to get the full resource.",
"description":"Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:\nserving_status (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment.\ninstance_class (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment.\nautomatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.\nautomatic_scaling.max_idle_instances (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.",
"description":"Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id."
"description":"Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service."
}
}
},
"locations":{
"methods":{
"list":{
"description":"Lists information about the supported locations for this service.",
"response":{
"$ref":"ListLocationsResponse"
},
"parameterOrder":[
"appsId"
],
"httpMethod":"GET",
"parameters":{
"appsId":{
"location":"path",
"description":"Part of `name`. The resource that owns the locations collection, if applicable.",
"description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"description":"The modules belonging to the requested application.",
"type":"array",
"items":{
"$ref":"Module"
}
}
},
"id":"ListModulesResponse",
"description":"Response message for Modules.ListModules.",
"type":"object"
},
"Deployment":{
"description":"Code and application artifacts used to deploy a version to App Engine.",
"type":"object",
"properties":{
"files":{
"additionalProperties":{
"$ref":"FileInfo"
},
"description":"Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.",
"description":"The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment.",
"description":"Origin of the source code for this deployment. There can be more than one source reference per version if source code is distributed among multiple repositories.",
"description":"Rules to match an HTTP request and dispatch that request to a module.",
"type":"object",
"properties":{
"domain":{
"description":"Domain name to match against. The wildcard \"*\" is supported if specified before a period: \"*.\".Defaults to matching all domains: \"*\".",
"type":"string"
},
"module":{
"description":"Resource ID of a module in this application that should serve the matched request. The module must already exist. Example: default.",
"description":"Pathname within the host. Must start with a \"/\". A single \"*\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters.",
"description":"The versions belonging to the requested module.",
"type":"array",
"items":{
"$ref":"Version"
}
}
},
"id":"ListVersionsResponse"
},
"Module":{
"description":"A Module resource is a logical component of an application that can share state and communicate in a secure fashion with other modules. For example, an application that handles customer requests might include separate modules to handle tasks such as backend data analysis or API requests from mobile devices. Each module has a collection of versions that define a specific set of code used to implement the functionality of that module.",
"type":"object",
"properties":{
"split":{
"description":"Mapping that defines fractional HTTP traffic diversion to different versions within the module.",
"description":"Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static directory handlers make it easy to serve the entire contents of a directory as static files.",
"description":"Whether files should also be uploaded as code data. By default, files declared in static directory handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.",
"type":"boolean"
},
"directory":{
"description":"Path to the directory containing the static files from the application root directory. Everything after the end of the matched URL pattern is appended to static_dir to form the full path to the requested file.",
"description":"MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are direved from each file's filename extension.",
"description":"Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.",
"description":"Amount of time that the Autoscaler (https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes.",
"description":"Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.",
"description":"URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\"",
"description":"URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the version, such as images, CSS, or JavaScript.",
"description":"Serves the entire contents of a directory as static files.This attribute is deprecated. You can mimic the behavior of static directories using static files.",
"description":"Security (HTTPS) enforcement for this URL.",
"type":"string",
"enumDescriptions":[
"Not specified.",
"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.",
"Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.",
"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.",
"Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect."
"description":"Executes a script to handle the request that matches this URL pattern.",
"$ref":"ScriptHandler"
},
"urlRegex":{
"description":"A URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.",
"description":"Level of login required to access this resource.",
"type":"string",
"enumDescriptions":[
"Not specified. LOGIN_OPTIONAL is assumed.",
"Does not require that the user is signed in.",
"If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.",
"If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken."
]
},
"apiEndpoint":{
"description":"Uses API Endpoints to handle requests.",
"description":"Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy.The fields here refer to the name and configuration id of a \"service\" resource in the Service Management API (https://cloud.google.com/service-management/overview).",
"description":"Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"",
"description":"Endpoints service configuration id as specified by the Service Management API. For example \"2016-09-19r1\"By default, the Endpoints service configuration id is fixed and config_id must be specified. To keep the Endpoints service configuration id updated with each rollout, specify RolloutStrategy.MANAGED and omit config_id.",
"description":"If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.",
"type":"boolean"
},
"response":{
"description":"The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.",
"type":"object",
"additionalProperties":{
"description":"Properties of the object. Contains field @type with type URL.",
"description":"The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should have the format of operations/some/unique/name.",
"description":"The error result of the operation in case of failure or cancellation."
},
"metadata":{
"additionalProperties":{
"description":"Properties of the object. Contains field @type with type URL.",
"type":"any"
},
"description":"Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
"description":"Security (HTTPS) enforcement for this URL.",
"type":"string",
"enumDescriptions":[
"Not specified.",
"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.",
"Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.",
"Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.",
"Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect."
"If the user is not signed in, the auth_fail_action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth_fail_action. If the user is an administrator, the handler proceeds.",
"If the user has signed in, the handler proceeds normally. Otherwise, the auth_fail_action is taken."
],
"enum":[
"LOGIN_UNSPECIFIED",
"LOGIN_OPTIONAL",
"LOGIN_ADMIN",
"LOGIN_REQUIRED"
],
"description":"Level of login required to access this resource. Defaults to optional.",
"description":"Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.",
"description":"Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.",
"type":"boolean"
},
"httpHeaders":{
"additionalProperties":{
"type":"string"
},
"description":"HTTP headers to use for all responses from these URLs.",
"type":"object"
},
"uploadPathRegex":{
"description":"Regular expression that matches the file paths for all files that should be referenced by this handler.",
"description":"Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.",
"type":"string"
},
"mimeType":{
"description":"MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension.",
"type":"string"
},
"requireMatchingFile":{
"description":"Whether this handler should match the request if the file referenced by the handler does not exist.",
"type":"boolean"
},
"expiration":{
"description":"Time a static file served by this handler should be cached.",
"description":"A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.",
"description":"Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.",
"format":"double",
"type":"number"
}
},
"id":"CpuUtilization"
},
"Status":{
"description":"The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). The error model is designed to be:\nSimple to use and understand for most users\nFlexible enough to meet unexpected needsOverviewThe Status message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers understand and resolve the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package google.rpc that can be used for common error conditions.Language mappingThe Status message is the logical representation of the error model, but it is not necessarily the actual wire format. When the Status message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.Other usesThe error model and the Status message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.Example uses of this error model include:\nPartial errors. If a service needs to return partial errors to the client, it may embed the Status in the normal response to indicate the partial errors.\nWorkflow errors. A typical workflow has multiple steps. Each step may have a Status message for error reporting.\nBatch operations. If a client uses batch request and batch response, the Status message should be used directly inside batch response, one for each error sub-response.\nAsynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the Status message.\nLogging. If some API errors are stored in logs, the message Status could be used directly after any stripping needed for security/privacy reasons.",
"type":"object",
"properties":{
"details":{
"description":"A list of messages that carry the error details. There is a common set of message types for APIs to use.",
"type":"array",
"items":{
"additionalProperties":{
"description":"Properties of the object. Contains field @type with type URL.",
"description":"A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
"type":"string"
}
},
"id":"Status"
},
"IdentityAwareProxy":{
"description":"Identity-Aware Proxy",
"type":"object",
"properties":{
"oauth2ClientSecret":{
"description":"For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.@InputOnly",
"description":"Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2_client_id and oauth2_client_secret fields must be non-empty.",
"type":"boolean"
}
},
"id":"IdentityAwareProxy"
},
"ManualScaling":{
"properties":{
"instances":{
"description":"Number of instances to assign to the module at the start. This number can later be altered by using the Modules API (https://cloud.google.com/appengine/docs/python/modules/functions) set_num_instances() function.",
"format":"int32",
"type":"integer"
}
},
"id":"ManualScaling",
"description":"A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.",
"type":"object"
},
"LocationMetadata":{
"description":"Metadata for the given google.cloud.location.Location.",
"type":"object",
"properties":{
"flexibleEnvironmentAvailable":{
"description":"App Engine Flexible Environment is available in the given location.@OutputOnly",
"description":"Static file content to be served for this error.",
"type":"string"
}
},
"id":"ErrorHandler"
},
"Application":{
"description":"An Application resource contains the top-level configuration of an App Engine application.",
"type":"object",
"properties":{
"defaultBucket":{
"description":"Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly",
"type":"string"
},
"dispatchRules":{
"description":"HTTP path dispatch rules for requests to the application that do not explicitly target a module or version. Rules are order-dependent.@OutputOnly",
"description":"Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.",
"type":"string"
},
"defaultCookieExpiration":{
"description":"Cookie expiration policy for this application.",
"format":"google-duration",
"type":"string"
},
"id":{
"description":"Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.",
"type":"string"
},
"codeBucket":{
"description":"Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly",
"type":"string"
},
"location":{
"description":"Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored.Defaults to us-central.Options are:us-central - Central USeurope-west - Western Europeus-east1 - Eastern US",
"description":"Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.",
"description":"Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.",
"description":"The canonical, persistent identifier of the deployed revision. Aliases that include tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\"",
"description":"Public SSH key to add to the instance. Examples:\n[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]\n[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {\"userName\":\"[USERNAME]\",\"expireOn\":\"[EXPIRE_TIME]\"}For more information, see Adding and Removing SSH Keys (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys).",
"description":"App Engine execution environment to use for this version.Defaults to 1.",
"type":"string"
},
"handlers":{
"description":"An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set.",
"type":"array",
"items":{
"$ref":"UrlMap"
}
},
"deployer":{
"description":"Email address of the user who created this version.@OutputOnly",
"type":"string"
},
"automaticScaling":{
"description":"Automatic scaling is based on request rate, response latencies, and other application metrics.",
"$ref":"AutomaticScaling"
},
"healthCheck":{
"description":"Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes.Only returned in GET requests if view=FULL is set.",
"$ref":"HealthCheck"
},
"threadsafe":{
"description":"Whether multiple requests can be dispatched to this version at once.",
"description":"A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time."
},
"name":{
"description":"Full path to the Version resource in the API. Example: apps/myapp/modules/default/versions/v1.@OutputOnly",
"type":"string"
},
"apiConfig":{
"description":"Serving configuration for Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/endpoints/).Only returned in GET requests if view=FULL is set.",
"$ref":"ApiConfigHandler"
},
"endpointsApiService":{
"$ref":"EndpointsApiService",
"description":"Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app."
},
"vm":{
"description":"Whether to deploy this version in a container on a virtual machine.",
"description":"Instance class that is used to run this version. Valid values are:\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.",
"description":"Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an invalid value. Defaults to SERVING.",
"type":"string",
"enumDescriptions":[
"Not specified.",
"Currently serving. Instances are created according to the scaling settings of the version.",
"Disabled. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING."
]
},
"runtimeApiVersion":{
"description":"The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https://cloud.google.com/appengine/docs/standard/\u003clanguage\u003e/config/appref",
"type":"string"
},
"deployment":{
"description":"Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set.",
"$ref":"Deployment"
},
"resources":{
"$ref":"Resources",
"description":"Machine resources for this version. Only applicable for VM runtimes."
},
"inboundServices":{
"enumDescriptions":[
"Not specified.",
"Allows an application to receive mail.",
"Allows an application to receive email-bound notifications.",
"Allows an application to receive error stanzas.",
"Allows an application to receive instant messages.",
"Allows an application to receive user subscription POSTs.",
"Allows an application to receive a user's chat presence.",
"Registers an application for notifications when a client connects or disconnects from a channel.",
"Enables warmup requests."
],
"description":"Before an application can receive email or XMPP messages, the application must be configured to enable the service.",
"type":"array",
"items":{
"type":"string",
"enum":[
"INBOUND_SERVICE_UNSPECIFIED",
"INBOUND_SERVICE_MAIL",
"INBOUND_SERVICE_MAIL_BOUNCE",
"INBOUND_SERVICE_XMPP_ERROR",
"INBOUND_SERVICE_XMPP_MESSAGE",
"INBOUND_SERVICE_XMPP_SUBSCRIBE",
"INBOUND_SERVICE_XMPP_PRESENCE",
"INBOUND_SERVICE_CHANNEL_PRESENCE",
"INBOUND_SERVICE_WARMUP"
]
}
},
"errorHandlers":{
"description":"Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set.",
"type":"array",
"items":{
"$ref":"ErrorHandler"
}
},
"defaultExpiration":{
"description":"Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time.Only returned in GET requests if view=FULL is set.",
"description":"Files that match this pattern will not be built into this version. Only applicable for Go runtimes.Only returned in GET requests if view=FULL is set.",
"description":"A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.",
"description":"Relative name of the version within the module. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\".",
"description":"URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\u003cbucket\u003e/\u003cobject\u003e'.",
"description":"Traffic routing configuration for versions within a single module. Traffic splits define how traffic directed to the module is assigned to versions.",
"description":"Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.",
"description":"Mapping from version IDs within the module to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the module may not have any traffic allocation. Modules that have traffic allocated cannot be deleted until either the module is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.",