google-discovery-document
Version:
Create and validate a Google API discovery document for use with your own REST service
1,595 lines • 286 kB
JSON
{
"kind": "discovery#restDescription",
"etag": "\"FrPV2U6xXFUq8eRv_PO3IoAURkc/tinumlexaP9K_X7LiKWnrKAe-jk\"",
"discoveryVersion": "v1",
"id": "compute:v1",
"name": "compute",
"version": "v1",
"revision": "20140724",
"title": "Compute Engine API",
"description": "API for the Google Compute Engine service.",
"ownerDomain": "google.com",
"ownerName": "Google",
"icons": {
"x16": "http://www.google.com/images/icons/product/compute_engine-16.png",
"x32": "http://www.google.com/images/icons/product/compute_engine-32.png"
},
"documentationLink": "https://developers.google.com/compute/docs/reference/latest/",
"protocol": "rest",
"baseUrl": "https://www.googleapis.com/compute/v1/projects/",
"basePath": "/compute/v1/projects/",
"rootUrl": "https://www.googleapis.com/",
"servicePath": "compute/v1/projects/",
"batchPath": "batch",
"parameters": {
"alt": {
"type": "string",
"description": "Data format for the response.",
"default": "json",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query"
},
"fields": {
"type": "string",
"description": "Selector specifying which fields to include in a partial response.",
"location": "query"
},
"key": {
"type": "string",
"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.",
"location": "query"
},
"oauth_token": {
"type": "string",
"description": "OAuth 2.0 token for the current user.",
"location": "query"
},
"prettyPrint": {
"type": "boolean",
"description": "Returns response with indentations and line breaks.",
"default": "true",
"location": "query"
},
"quotaUser": {
"type": "string",
"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. Overrides userIp if both are provided.",
"location": "query"
},
"userIp": {
"type": "string",
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query"
}
},
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/compute": {
"description": "View and manage your Google Compute Engine resources"
},
"https://www.googleapis.com/auth/compute.readonly": {
"description": "View your Google Compute Engine resources"
},
"https://www.googleapis.com/auth/devstorage.full_control": {
"description": "Manage your data and permissions in Google Cloud Storage"
},
"https://www.googleapis.com/auth/devstorage.read_only": {
"description": "View your data in Google Cloud Storage"
},
"https://www.googleapis.com/auth/devstorage.read_write": {
"description": "Manage your data in Google Cloud Storage"
}
}
}
},
"schemas": {
"AccessConfig": {
"id": "AccessConfig",
"type": "object",
"description": "An access configuration attached to an instance's network interface.",
"properties": {
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#accessConfig"
},
"name": {
"type": "string",
"description": "Name of this access configuration."
},
"natIP": {
"type": "string",
"description": "An external IP address associated with this instance. Specify an unused static IP address available to the project. If not specified, the external IP will be drawn from a shared ephemeral pool."
},
"type": {
"type": "string",
"description": "Type of configuration. Must be set to \"ONE_TO_ONE_NAT\". This configures port-for-port NAT to the internet.",
"default": "ONE_TO_ONE_NAT",
"enum": [
"ONE_TO_ONE_NAT"
],
"enumDescriptions": [
""
]
}
}
},
"Address": {
"id": "Address",
"type": "object",
"description": "A reserved address resource.",
"properties": {
"address": {
"type": "string",
"description": "The IP address represented by this resource."
},
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"description": {
"type": "string",
"description": "An optional textual description of the resource; provided by the client when the resource is created."
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#address"
},
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"annotations": {
"required": [
"compute.addresses.insert"
]
}
},
"region": {
"type": "string",
"description": "URL of the region where the regional address resides (output only). This field is not applicable to global addresses."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
},
"status": {
"type": "string",
"description": "The status of the address (output only).",
"enum": [
"IN_USE",
"RESERVED"
],
"enumDescriptions": [
"",
""
]
},
"users": {
"type": "array",
"description": "The resources that are using this address resource.",
"items": {
"type": "string"
}
}
}
},
"AddressAggregatedList": {
"id": "AddressAggregatedList",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "object",
"description": "A map of scoped address lists.",
"additionalProperties": {
"$ref": "AddressesScopedList",
"description": "Name of the scope containing this set of addresses."
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#addressAggregatedList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"AddressList": {
"id": "AddressList",
"type": "object",
"description": "Contains a list of address resources.",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "array",
"description": "The address resources.",
"items": {
"$ref": "Address"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#addressList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
}
}
},
"AddressesScopedList": {
"id": "AddressesScopedList",
"type": "object",
"properties": {
"addresses": {
"type": "array",
"description": "List of addresses contained in this scope.",
"items": {
"$ref": "Address"
}
},
"warning": {
"type": "object",
"description": "Informational warning which replaces the list of addresses when the list is empty.",
"properties": {
"code": {
"type": "string",
"description": "The warning type identifier for this warning.",
"enum": [
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
"NEXT_HOP_INSTANCE_NOT_FOUND",
"NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
"NEXT_HOP_NOT_RUNNING",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
"RESOURCE_NOT_DELETED",
"UNREACHABLE"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"data": {
"type": "array",
"description": "Metadata for this warning in 'key: value' format.",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "A key for the warning data."
},
"value": {
"type": "string",
"description": "A warning data value corresponding to the key."
}
}
}
},
"message": {
"type": "string",
"description": "Optional human-readable details for this warning."
}
}
}
}
},
"AttachedDisk": {
"id": "AttachedDisk",
"type": "object",
"description": "An instance-attached disk resource.",
"properties": {
"autoDelete": {
"type": "boolean",
"description": "Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance)."
},
"boot": {
"type": "boolean",
"description": "Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem."
},
"deviceName": {
"type": "string",
"description": "Persistent disk only; must be unique within the instance when specified. This represents a unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system."
},
"index": {
"type": "integer",
"description": "A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value (output only).",
"format": "int32"
},
"initializeParams": {
"$ref": "AttachedDiskInitializeParams",
"description": "Initialization parameters."
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#attachedDisk"
},
"licenses": {
"type": "array",
"description": "Public visible licenses.",
"items": {
"type": "string"
}
},
"mode": {
"type": "string",
"description": "The mode in which to attach this disk, either \"READ_WRITE\" or \"READ_ONLY\".",
"enum": [
"READ_ONLY",
"READ_WRITE"
],
"enumDescriptions": [
"",
""
]
},
"source": {
"type": "string",
"description": "Persistent disk only; the URL of the persistent disk resource."
},
"type": {
"type": "string",
"description": "Type of the disk, either \"SCRATCH\" or \"PERSISTENT\". Note that persistent disks must be created before you can specify them here.",
"enum": [
"PERSISTENT",
"SCRATCH"
],
"enumDescriptions": [
"",
""
],
"annotations": {
"required": [
"compute.instances.insert"
]
}
}
}
},
"AttachedDiskInitializeParams": {
"id": "AttachedDiskInitializeParams",
"type": "object",
"description": "Initialization parameters for the new disk (input-only). Can only be specified on the boot disk or local SSDs. Mutually exclusive with 'source'.",
"properties": {
"diskName": {
"type": "string",
"description": "Name of the disk (when not provided defaults to the name of the instance)."
},
"diskSizeGb": {
"type": "string",
"description": "Size of the disk in base-2 GB.",
"format": "int64"
},
"diskType": {
"type": "string",
"description": "URL of the disk type resource describing which disk type to use to create the disk; provided by the client when the disk is created."
},
"sourceImage": {
"type": "string",
"description": "The source image used to create this disk."
}
}
},
"Backend": {
"id": "Backend",
"type": "object",
"description": "Message containing information of one individual backend.",
"properties": {
"balancingMode": {
"type": "string",
"description": "The balancing mode of this backend, default is UTILIZATION.",
"enum": [
"RATE",
"UTILIZATION"
],
"enumDescriptions": [
"",
""
]
},
"capacityScaler": {
"type": "number",
"description": "The multiplier (a value between 0 and 1e6) of the max capacity (CPU or RPS, depending on 'balancingMode') the group should serve up to. 0 means the group is totally drained. Default value is 1. Valid range is [0, 1e6].",
"format": "float"
},
"description": {
"type": "string",
"description": "An optional textual description of the resource, which is provided by the client when the resource is created."
},
"group": {
"type": "string",
"description": "URL of a zonal Cloud Resource View resource. This resource view defines the list of instances that serve traffic. Member virtual machine instances from each resource view must live in the same zone as the resource view itself. No two backends in a backend service are allowed to use same Resource View resource."
},
"maxRate": {
"type": "integer",
"description": "The max RPS of the group. Can be used with either balancing mode, but required if RATE mode. For RATE mode, either maxRate or maxRatePerInstance must be set.",
"format": "int32"
},
"maxRatePerInstance": {
"type": "number",
"description": "The max RPS that a single backed instance can handle. This is used to calculate the capacity of the group. Can be used in either balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be set.",
"format": "float"
},
"maxUtilization": {
"type": "number",
"description": "Used when 'balancingMode' is UTILIZATION. This ratio defines the CPU utilization target for the group. The default is 0.8. Valid range is [0, 1].",
"format": "float"
}
}
},
"BackendService": {
"id": "BackendService",
"type": "object",
"description": "A BackendService resource. This resource defines a group of backend VMs together with their serving capacity.",
"properties": {
"backends": {
"type": "array",
"description": "The list of backends that serve this BackendService.",
"items": {
"$ref": "Backend"
}
},
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"description": {
"type": "string",
"description": "An optional textual description of the resource; provided by the client when the resource is created."
},
"fingerprint": {
"type": "string",
"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-date fingerprint must be provided in order to update the BackendService.",
"format": "byte"
},
"healthChecks": {
"type": "array",
"description": "The list of URLs to the HttpHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required.",
"items": {
"type": "string"
}
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#backendService"
},
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
},
"port": {
"type": "integer",
"description": "The TCP port to connect on the backend. The default value is 80.",
"format": "int32"
},
"protocol": {
"type": "string",
"enum": [
"HTTP"
],
"enumDescriptions": [
""
]
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
},
"timeoutSec": {
"type": "integer",
"description": "How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds.",
"format": "int32"
}
}
},
"BackendServiceGroupHealth": {
"id": "BackendServiceGroupHealth",
"type": "object",
"properties": {
"healthStatus": {
"type": "array",
"items": {
"$ref": "HealthStatus"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#backendServiceGroupHealth"
}
}
},
"BackendServiceList": {
"id": "BackendServiceList",
"type": "object",
"description": "Contains a list of BackendService resources.",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "array",
"description": "The BackendService resources.",
"items": {
"$ref": "BackendService"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#backendServiceList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"DeprecationStatus": {
"id": "DeprecationStatus",
"type": "object",
"description": "Deprecation status for a public resource.",
"properties": {
"deleted": {
"type": "string",
"description": "An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED."
},
"deprecated": {
"type": "string",
"description": "An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED."
},
"obsolete": {
"type": "string",
"description": "An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE."
},
"replacement": {
"type": "string",
"description": "A URL of the suggested replacement for the deprecated resource. The deprecated resource and its replacement must be resources of the same kind."
},
"state": {
"type": "string",
"description": "The deprecation state. Can be \"DEPRECATED\", \"OBSOLETE\", or \"DELETED\". Operations which create a new resource using a \"DEPRECATED\" resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. New uses of \"OBSOLETE\" or \"DELETED\" resources will result in an error.",
"enum": [
"DELETED",
"DEPRECATED",
"OBSOLETE"
],
"enumDescriptions": [
"",
"",
""
]
}
}
},
"Disk": {
"id": "Disk",
"type": "object",
"description": "A persistent disk resource.",
"properties": {
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"description": {
"type": "string",
"description": "An optional textual description of the resource; provided by the client when the resource is created."
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#disk"
},
"licenses": {
"type": "array",
"description": "Public visible licenses.",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"annotations": {
"required": [
"compute.disks.insert"
]
}
},
"options": {
"type": "string",
"description": "Internal use only."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
},
"sizeGb": {
"type": "string",
"description": "Size of the persistent disk, specified in GB. This parameter is optional when creating a disk from a disk image or a snapshot, otherwise it is required.",
"format": "int64"
},
"sourceImage": {
"type": "string",
"description": "The source image used to create this disk. Once the source image has been deleted from the system, this field will not be set, even if an image with the same name has been re-created."
},
"sourceImageId": {
"type": "string",
"description": "The 'id' value of the image used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given image."
},
"sourceSnapshot": {
"type": "string",
"description": "The source snapshot used to create this disk. Once the source snapshot has been deleted from the system, this field will be cleared, and will not be set even if a snapshot with the same name has been re-created."
},
"sourceSnapshotId": {
"type": "string",
"description": "The 'id' value of the snapshot used to create this disk. This value may be used to determine whether the disk was created from the current or a previous instance of a given disk snapshot."
},
"status": {
"type": "string",
"description": "The status of disk creation (output only).",
"enum": [
"CREATING",
"FAILED",
"READY",
"RESTORING"
],
"enumDescriptions": [
"",
"",
"",
""
]
},
"type": {
"type": "string",
"description": "URL of the disk type resource describing which disk type to use to create the disk; provided by the client when the disk is created."
},
"zone": {
"type": "string",
"description": "URL of the zone where the disk resides (output only)."
}
}
},
"DiskAggregatedList": {
"id": "DiskAggregatedList",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "object",
"description": "A map of scoped disk lists.",
"additionalProperties": {
"$ref": "DisksScopedList",
"description": "Name of the scope containing this set of disks."
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#diskAggregatedList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"DiskList": {
"id": "DiskList",
"type": "object",
"description": "Contains a list of persistent disk resources.",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "array",
"description": "The persistent disk resources.",
"items": {
"$ref": "Disk"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#diskList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"DiskType": {
"id": "DiskType",
"type": "object",
"description": "A disk type resource.",
"properties": {
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"deprecated": {
"$ref": "DeprecationStatus",
"description": "The deprecation status associated with this disk type."
},
"description": {
"type": "string",
"description": "An optional textual description of the resource."
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#diskType"
},
"name": {
"type": "string",
"description": "Name of the resource.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
},
"validDiskSize": {
"type": "string",
"description": "An optional textual descroption of the valid disk size, e.g., \"10GB-10TB\"."
},
"zone": {
"type": "string",
"description": "Url of the zone where the disk type resides (output only)."
}
}
},
"DiskTypeAggregatedList": {
"id": "DiskTypeAggregatedList",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "object",
"description": "A map of scoped disk type lists.",
"additionalProperties": {
"$ref": "DiskTypesScopedList",
"description": "Name of the scope containing this set of disk types."
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#diskTypeAggregatedList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"DiskTypeList": {
"id": "DiskTypeList",
"type": "object",
"description": "Contains a list of disk type resources.",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "array",
"description": "The disk type resources.",
"items": {
"$ref": "DiskType"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#diskTypeList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"DiskTypesScopedList": {
"id": "DiskTypesScopedList",
"type": "object",
"properties": {
"diskTypes": {
"type": "array",
"description": "List of disk types contained in this scope.",
"items": {
"$ref": "DiskType"
}
},
"warning": {
"type": "object",
"description": "Informational warning which replaces the list of disk types when the list is empty.",
"properties": {
"code": {
"type": "string",
"description": "The warning type identifier for this warning.",
"enum": [
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
"NEXT_HOP_INSTANCE_NOT_FOUND",
"NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
"NEXT_HOP_NOT_RUNNING",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
"RESOURCE_NOT_DELETED",
"UNREACHABLE"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"data": {
"type": "array",
"description": "Metadata for this warning in 'key: value' format.",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "A key for the warning data."
},
"value": {
"type": "string",
"description": "A warning data value corresponding to the key."
}
}
}
},
"message": {
"type": "string",
"description": "Optional human-readable details for this warning."
}
}
}
}
},
"DisksScopedList": {
"id": "DisksScopedList",
"type": "object",
"properties": {
"disks": {
"type": "array",
"description": "List of disks contained in this scope.",
"items": {
"$ref": "Disk"
}
},
"warning": {
"type": "object",
"description": "Informational warning which replaces the list of disks when the list is empty.",
"properties": {
"code": {
"type": "string",
"description": "The warning type identifier for this warning.",
"enum": [
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
"NEXT_HOP_INSTANCE_NOT_FOUND",
"NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
"NEXT_HOP_NOT_RUNNING",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
"RESOURCE_NOT_DELETED",
"UNREACHABLE"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"data": {
"type": "array",
"description": "Metadata for this warning in 'key: value' format.",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "A key for the warning data."
},
"value": {
"type": "string",
"description": "A warning data value corresponding to the key."
}
}
}
},
"message": {
"type": "string",
"description": "Optional human-readable details for this warning."
}
}
}
}
},
"Firewall": {
"id": "Firewall",
"type": "object",
"description": "A firewall resource.",
"properties": {
"allowed": {
"type": "array",
"description": "The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.",
"items": {
"type": "object",
"properties": {
"IPProtocol": {
"type": "string",
"description": "Required; this is the IP protocol that is allowed for this rule. This can either be one of the following well known protocol strings [\"tcp\", \"udp\", \"icmp\", \"esp\", \"ah\", \"sctp\"], or the IP protocol number."
},
"ports": {
"type": "array",
"description": "An optional list of ports which are allowed. It is an error to specify this for any protocol that isn't UDP or TCP. Each entry must be either an integer or a range. If not specified, connections through any port are allowed.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"] and [\"12345-12349\"].",
"items": {
"type": "string"
}
}
}
}
},
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"description": {
"type": "string",
"description": "An optional textual description of the resource; provided by the client when the resource is created."
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#firewall"
},
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"annotations": {
"required": [
"compute.firewalls.insert",
"compute.firewalls.patch"
]
}
},
"network": {
"type": "string",
"description": "URL of the network to which this firewall is applied; provided by the client when the firewall is created.",
"annotations": {
"required": [
"compute.firewalls.insert",
"compute.firewalls.patch"
]
}
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
},
"sourceRanges": {
"type": "array",
"description": "A list of IP address blocks expressed in CIDR format which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.",
"items": {
"type": "string"
}
},
"sourceTags": {
"type": "array",
"description": "A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or the tag of the source matches.",
"items": {
"type": "string"
}
},
"targetTags": {
"type": "array",
"description": "A list of instance tags indicating sets of instances located on network which may make network connections as specified in allowed. If no targetTags are specified, the firewall rule applies to all instances on the specified network.",
"items": {
"type": "string"
}
}
}
},
"FirewallList": {
"id": "FirewallList",
"type": "object",
"description": "Contains a list of firewall resources.",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "array",
"description": "The firewall resources.",
"items": {
"$ref": "Firewall"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#firewallList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"ForwardingRule": {
"id": "ForwardingRule",
"type": "object",
"description": "A ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.",
"properties": {
"IPAddress": {
"type": "string",
"description": "Value of the reserved IP address that this forwarding rule is serving on behalf of. For global forwarding rules, the address must be a global IP; for regional forwarding rules, the address must live in the same region as the forwarding rule. If left empty (default value), an ephemeral IP from the same scope (global or regional) will be assigned."
},
"IPProtocol": {
"type": "string",
"description": "The IP protocol to which this rule applies, valid options are 'TCP', 'UDP', 'ESP', 'AH' or 'SCTP'.",
"enum": [
"AH",
"ESP",
"SCTP",
"TCP",
"UDP"
],
"enumDescriptions": [
"",
"",
"",
"",
""
]
},
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"description": {
"type": "string",
"description": "An optional textual description of the resource; provided by the client when the resource is created."
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#forwardingRule"
},
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
},
"portRange": {
"type": "string",
"description": "Applicable only when 'IPProtocol' is 'TCP', 'UDP' or 'SCTP', only packets addressed to ports in the specified range will be forwarded to 'target'. If 'portRange' is left empty (default value), all ports are forwarded. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges."
},
"region": {
"type": "string",
"description": "URL of the region where the regional forwarding rule resides (output only). This field is not applicable to global forwarding rules."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
},
"target": {
"type": "string",
"description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy resource."
}
}
},
"ForwardingRuleAggregatedList": {
"id": "ForwardingRuleAggregatedList",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "object",
"description": "A map of scoped forwarding rule lists.",
"additionalProperties": {
"$ref": "ForwardingRulesScopedList",
"description": "Name of the scope containing this set of addresses."
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#forwardingRuleAggregatedList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"ForwardingRuleList": {
"id": "ForwardingRuleList",
"type": "object",
"description": "Contains a list of ForwardingRule resources.",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "array",
"description": "The ForwardingRule resources.",
"items": {
"$ref": "ForwardingRule"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#forwardingRuleList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"ForwardingRulesScopedList": {
"id": "ForwardingRulesScopedList",
"type": "object",
"properties": {
"forwardingRules": {
"type": "array",
"description": "List of forwarding rules contained in this scope.",
"items": {
"$ref": "ForwardingRule"
}
},
"warning": {
"type": "object",
"description": "Informational warning which replaces the list of forwarding rules when the list is empty.",
"properties": {
"code": {
"type": "string",
"description": "The warning type identifier for this warning.",
"enum": [
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
"NEXT_HOP_INSTANCE_NOT_FOUND",
"NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
"NEXT_HOP_NOT_RUNNING",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
"RESOURCE_NOT_DELETED",
"UNREACHABLE"
],
"enumDescriptions": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
},
"data": {
"type": "array",
"description": "Metadata for this warning in 'key: value' format.",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "A key for the warning data."
},
"value": {
"type": "string",
"description": "A warning data value corresponding to the key."
}
}
}
},
"message": {
"type": "string",
"description": "Optional human-readable details for this warning."
}
}
}
}
},
"HealthCheckReference": {
"id": "HealthCheckReference",
"type": "object",
"properties": {
"healthCheck": {
"type": "string"
}
}
},
"HealthStatus": {
"id": "HealthStatus",
"type": "object",
"properties": {
"healthState": {
"type": "string",
"description": "Health state of the instance.",
"enum": [
"HEALTHY",
"UNHEALTHY"
],
"enumDescriptions": [
"",
""
]
},
"instance": {
"type": "string",
"description": "URL of the instance resource."
},
"ipAddress": {
"type": "string",
"description": "The IP address represented by this resource."
}
}
},
"HostRule": {
"id": "HostRule",
"type": "object",
"description": "A host-matching rule for a URL. If matched, will use the named PathMatcher to select the BackendService.",
"properties": {
"description": {
"type": "string"
},
"hosts": {
"type": "array",
"description": "The list of host patterns to match. They must be valid hostnames except that they may start with *. or *-. The * acts like a glob and will match any string of atoms (separated by .s and -s) to the left.",
"items": {
"type": "string"
}
},
"pathMatcher": {
"type": "string",
"description": "The name of the PathMatcher to match the path portion of the URL, if the this HostRule matches the URL's host portion."
}
}
},
"HttpHealthCheck": {
"id": "HttpHealthCheck",
"type": "object",
"description": "An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.",
"properties": {
"checkIntervalSec": {
"type": "integer",
"description": "How often (in seconds) to send a health check. The default value is 5 seconds.",
"format": "int32"
},
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"description": {
"type": "string",
"description": "An optional textual description of the resource; provided by the client when the resource is created."
},
"healthyThreshold": {
"type": "integer",
"description": "A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.",
"format": "int32"
},
"host": {
"type": "string",
"description": "The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used."
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#httpHealthCheck"
},
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
},
"port": {
"type": "integer",
"description": "The TCP port number for the HTTP health check request. The default value is 80.",
"format": "int32"
},
"requestPath": {
"type": "string",
"description": "The request path of the HTTP health check request. The default value is \"/\"."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for the resource (output only)."
},
"timeoutSec": {
"type": "integer",
"description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds.",
"format": "int32"
},
"unhealthyThreshold": {
"type": "integer",
"description": "A so-far healthy VM will be marked unhealthy after this many consecutive failures. The default value is 2.",
"format": "int32"
}
}
},
"HttpHealthCheckList": {
"id": "HttpHealthCheckList",
"type": "object",
"description": "Contains a list of HttpHealthCheck resources.",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only)."
},
"items": {
"type": "array",
"description": "The HttpHealthCheck resources.",
"items": {
"$ref": "HttpHealthCheck"
}
},
"kind": {
"type": "string",
"description": "Type of resource.",
"default": "compute#httpHealthCheckList"
},
"nextPageToken": {
"type": "string",
"description": "A token used to continue a truncated list request (output only)."
},
"selfLink": {
"type": "string",
"description": "Server defined URL for this resource (output only)."
}
}
},
"Image": {
"id": "Image",
"type": "object",
"description": "A disk image resource.",
"properties": {
"archiveSizeBytes": {
"type": "string",
"description": "Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).",
"format": "int64"
},
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp in RFC3339 text format (output only)."
},
"deprecated": {
"$ref": "DeprecationStatus",
"description": "The deprecation status associated with this image."
},
"description": {
"type": "string",
"description": "Textual description of the resource; provided by the client when the resource is created."
},
"diskSizeGb": {
"type": "string",
"description": "Size of the image when restored onto a disk (in GiB).",
"format": "int64"
},
"id": {
"type": "string",
"description": "Unique identifier for the resource; defined by the server (output only).",
"format": "uint64"
},
"kind": {
"type": "string",
"description": "Type of the resource.",
"default": "compute#image"
},
"licenses": {
"type": "array",
"description": "Public visible licenses.",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"annotations": {
"required": [
"compute.images.insert"
]
}
},
"rawDisk": {
"type": "object",
"description": "The raw disk image parameters.",
"properties": {
"containerType": {
"type": "string",
"description": "The format used to encode and transmit the block device. Should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.",
"enum": [
"TAR"
],
"enumDescriptions": [
""
]
},
"sha1Checksum": {
"type": "string",
"description": "An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created.",
"pattern": "[a-f0-9]{40}"
},
"source": {
"type": "string",
"description": "The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk image is created.",
"annotations": {
"required": [
"compute.images.insert"
]
}
}
}
},
"selfLink": {
"t