blob: a3c6334fd4ec795ab9adf029194352dbacc9e110 [file] [log] [blame]
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-platform": {
"description": "View and manage your data across Google Cloud Platform services"
}
}
}
},
"basePath": "",
"baseUrl": "https://gameservices.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Game Services",
"description": "Deploy and manage infrastructure for global multiplayer gaming experiences.",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/solutions/gaming/",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "gameservices:v1beta",
"kind": "discovery#restDescription",
"mtlsRootUrl": "https://gameservices.mtls.googleapis.com/",
"name": "gameservices",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"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",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"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.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"projects": {
"resources": {
"locations": {
"methods": {
"get": {
"description": "Gets information about a location.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}",
"httpMethod": "GET",
"id": "gameservices.projects.locations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Resource name for the location.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Location"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists information about the supported locations for this service.",
"flatPath": "v1beta/projects/{projectsId}/locations",
"httpMethod": "GET",
"id": "gameservices.projects.locations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "The standard list filter.",
"location": "query",
"type": "string"
},
"includeUnrevealedLocations": {
"description": "If true, the returned list will include locations which are not yet\nrevealed.",
"location": "query",
"type": "boolean"
},
"name": {
"description": "The resource that owns the locations collection, if applicable.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The standard list page size.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}/locations",
"response": {
"$ref": "ListLocationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"gameServerDeployments": {
"methods": {
"create": {
"description": "Creates a new game server deployment in a given project and location.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments",
"httpMethod": "POST",
"id": "gameservices.projects.locations.gameServerDeployments.create",
"parameterOrder": [
"parent"
],
"parameters": {
"deploymentId": {
"description": "Required. The ID of the game server delpoyment resource to be created.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+parent}/gameServerDeployments",
"request": {
"$ref": "GameServerDeployment"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a single game server deployment.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}",
"httpMethod": "DELETE",
"id": "gameservices.projects.locations.gameServerDeployments.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server delpoyment to delete. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"fetchDeploymentState": {
"description": "Retrieves information about the current state of the game server\ndeployment. Gathers all the Agones fleets and Agones autoscalers,\nincluding fleets running an older version of the game server deployment.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:fetchDeploymentState",
"httpMethod": "POST",
"id": "gameservices.projects.locations.gameServerDeployments.fetchDeploymentState",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server delpoyment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}:fetchDeploymentState",
"request": {
"$ref": "FetchDeploymentStateRequest"
},
"response": {
"$ref": "FetchDeploymentStateResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets details of a single game server deployment.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}",
"httpMethod": "GET",
"id": "gameservices.projects.locations.gameServerDeployments.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server delpoyment to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "GameServerDeployment"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"getIamPolicy": {
"description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:getIamPolicy",
"httpMethod": "GET",
"id": "gameservices.projects.locations.gameServerDeployments.getIamPolicy",
"parameterOrder": [
"resource"
],
"parameters": {
"options.requestedPolicyVersion": {
"description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
"format": "int32",
"location": "query",
"type": "integer"
},
"resource": {
"description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+resource}:getIamPolicy",
"response": {
"$ref": "Policy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"getRollout": {
"description": "Gets details a single game server deployment rollout.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout",
"httpMethod": "GET",
"id": "gameservices.projects.locations.gameServerDeployments.getRollout",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server delpoyment to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}/rollout",
"response": {
"$ref": "GameServerDeploymentRollout"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists game server deployments in a given project and location.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments",
"httpMethod": "GET",
"id": "gameservices.projects.locations.gameServerDeployments.list",
"parameterOrder": [
"parent"
],
"parameters": {
"filter": {
"description": "Optional. The filter to apply to list results.",
"location": "query",
"type": "string"
},
"orderBy": {
"description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Optional. The maximum number of items to return. If unspecified, the server\nwill pick an appropriate default. The server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerDeployments left to be queried.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. The next_page_token value returned from a previous List request,\nif any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+parent}/gameServerDeployments",
"response": {
"$ref": "ListGameServerDeploymentsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Patches a game server deployment.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}",
"httpMethod": "PATCH",
"id": "gameservices.projects.locations.gameServerDeployments.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the game server deployment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}",
"request": {
"$ref": "GameServerDeployment"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"previewRollout": {
"description": "Previews the game server deployment rollout. This API does not mutate the\nrollout resource.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout:preview",
"httpMethod": "PATCH",
"id": "gameservices.projects.locations.gameServerDeployments.previewRollout",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
},
"previewTime": {
"description": "Optional. The target timestamp to compute the preview. Defaults to the immediately\nafter the proposed rollout completes.",
"format": "google-datetime",
"location": "query",
"type": "string"
},
"updateMask": {
"description": "Optional. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}/rollout:preview",
"request": {
"$ref": "GameServerDeploymentRollout"
},
"response": {
"$ref": "PreviewGameServerDeploymentRolloutResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"setIamPolicy": {
"description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:setIamPolicy",
"httpMethod": "POST",
"id": "gameservices.projects.locations.gameServerDeployments.setIamPolicy",
"parameterOrder": [
"resource"
],
"parameters": {
"resource": {
"description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+resource}:setIamPolicy",
"request": {
"$ref": "SetIamPolicyRequest"
},
"response": {
"$ref": "Policy"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"testIamPermissions": {
"description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:testIamPermissions",
"httpMethod": "POST",
"id": "gameservices.projects.locations.gameServerDeployments.testIamPermissions",
"parameterOrder": [
"resource"
],
"parameters": {
"resource": {
"description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+resource}:testIamPermissions",
"request": {
"$ref": "TestIamPermissionsRequest"
},
"response": {
"$ref": "TestIamPermissionsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"updateRollout": {
"description": "Patches a single game server deployment rollout.\nThe method will not return an error if the update does not affect any\nexisting realms. For example - if the default_game_server_config is changed\nbut all existing realms use the override, that is valid. Similarly, if a\nnon existing realm is explicitly called out in game_server_config_overrides\nfield, that will also not result in an error.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout",
"httpMethod": "PATCH",
"id": "gameservices.projects.locations.gameServerDeployments.updateRollout",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}/rollout",
"request": {
"$ref": "GameServerDeploymentRollout"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"configs": {
"methods": {
"create": {
"description": "Creates a new game server config in a given project, location, and game\nserver deployment. Game server configs are immutable, and are not applied\nuntil referenced in the game server deployment rollout resource.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs",
"httpMethod": "POST",
"id": "gameservices.projects.locations.gameServerDeployments.configs.create",
"parameterOrder": [
"parent"
],
"parameters": {
"configId": {
"description": "Required. The ID of the game server config resource to be created.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+parent}/configs",
"request": {
"$ref": "GameServerConfig"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a single game server config. The deletion will fail if the game\nserver config is referenced in a game server deployment rollout.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}",
"httpMethod": "DELETE",
"id": "gameservices.projects.locations.gameServerDeployments.configs.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server config to delete. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets details of a single game server config.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}",
"httpMethod": "GET",
"id": "gameservices.projects.locations.gameServerDeployments.configs.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server config to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "GameServerConfig"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists game server configs in a given project, location, and game server\ndeployment.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs",
"httpMethod": "GET",
"id": "gameservices.projects.locations.gameServerDeployments.configs.list",
"parameterOrder": [
"parent"
],
"parameters": {
"filter": {
"description": "Optional. The filter to apply to list results.",
"location": "query",
"type": "string"
},
"orderBy": {
"description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Optional. The maximum number of items to return. If unspecified, server\nwill pick an appropriate default. Server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerConfigs left to be queried.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. The next_page_token value returned from a previous list request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/*`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+parent}/configs",
"response": {
"$ref": "ListGameServerConfigsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
},
"operations": {
"methods": {
"cancel": {
"description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
"httpMethod": "POST",
"id": "gameservices.projects.locations.operations.cancel",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be cancelled.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}:cancel",
"request": {
"$ref": "CancelOperationRequest"
},
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
"httpMethod": "DELETE",
"id": "gameservices.projects.locations.operations.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be deleted.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
"httpMethod": "GET",
"id": "gameservices.projects.locations.operations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations",
"httpMethod": "GET",
"id": "gameservices.projects.locations.operations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "The standard list filter.",
"location": "query",
"type": "string"
},
"name": {
"description": "The name of the operation's parent resource.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The standard list page size.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}/operations",
"response": {
"$ref": "ListOperationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"realms": {
"methods": {
"create": {
"description": "Creates a new realm in a given project and location.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms",
"httpMethod": "POST",
"id": "gameservices.projects.locations.realms.create",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
},
"realmId": {
"description": "Required. The ID of the realm resource to be created.",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+parent}/realms",
"request": {
"$ref": "Realm"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a single realm.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}",
"httpMethod": "DELETE",
"id": "gameservices.projects.locations.realms.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the realm to delete. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets details of a single realm.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}",
"httpMethod": "GET",
"id": "gameservices.projects.locations.realms.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the realm to retrieve. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Realm"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists realms in a given project and location.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms",
"httpMethod": "GET",
"id": "gameservices.projects.locations.realms.list",
"parameterOrder": [
"parent"
],
"parameters": {
"filter": {
"description": "Optional. The filter to apply to list results.",
"location": "query",
"type": "string"
},
"orderBy": {
"description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Optional. The maximum number of items to return. If unspecified, server\nwill pick an appropriate default. Server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more realms left to be queried.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. The next_page_token value returned from a previous List request,\nif any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+parent}/realms",
"response": {
"$ref": "ListRealmsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Patches a single realm.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}",
"httpMethod": "PATCH",
"id": "gameservices.projects.locations.realms.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Required. The update mask applies to the resource. For the `FieldMask`\ndefinition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}",
"request": {
"$ref": "Realm"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"previewUpdate": {
"description": "Previews patches to a single realm.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}:previewUpdate",
"httpMethod": "PATCH",
"id": "gameservices.projects.locations.realms.previewUpdate",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$",
"required": true,
"type": "string"
},
"previewTime": {
"description": "Optional. The target timestamp to compute the preview.",
"format": "google-datetime",
"location": "query",
"type": "string"
},
"updateMask": {
"description": "Required. The update mask applies to the resource. For the `FieldMask`\ndefinition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}:previewUpdate",
"request": {
"$ref": "Realm"
},
"response": {
"$ref": "PreviewRealmUpdateResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"gameServerClusters": {
"methods": {
"create": {
"description": "Creates a new game server cluster in a given project and location.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters",
"httpMethod": "POST",
"id": "gameservices.projects.locations.realms.gameServerClusters.create",
"parameterOrder": [
"parent"
],
"parameters": {
"gameServerClusterId": {
"description": "Required. The ID of the game server cluster resource to be created.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm-id}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+parent}/gameServerClusters",
"request": {
"$ref": "GameServerCluster"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a single game server cluster.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}",
"httpMethod": "DELETE",
"id": "gameservices.projects.locations.realms.gameServerClusters.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server cluster to delete. Uses the form:\n`projects/{project}/locations/{location}/gameServerClusters/{cluster}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets details of a single game server cluster.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}",
"httpMethod": "GET",
"id": "gameservices.projects.locations.realms.gameServerClusters.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server cluster to retrieve. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm-id}/gameServerClusters/{cluster}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+name}",
"response": {
"$ref": "GameServerCluster"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists game server clusters in a given project and location.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters",
"httpMethod": "GET",
"id": "gameservices.projects.locations.realms.gameServerClusters.list",
"parameterOrder": [
"parent"
],
"parameters": {
"filter": {
"description": "Optional. The filter to apply to list results.",
"location": "query",
"type": "string"
},
"orderBy": {
"description": "Optional. Specifies the ordering of results following syntax at\nhttps://cloud.google.com/apis/design/design_patterns#sorting_order.",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Optional. The maximum number of items to return. If unspecified, the server\nwill pick an appropriate default. The server may return fewer items than\nrequested. A caller should only rely on response's\nnext_page_token to\ndetermine if there are more GameServerClusters left to be queried.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. The next_page_token value returned from a previous List request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n\"projects/{project}/locations/{location}/realms/{realm}\".",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta/{+parent}/gameServerClusters",
"response": {
"$ref": "ListGameServerClustersResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Patches a single game server cluster.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}",
"httpMethod": "PATCH",
"id": "gameservices.projects.locations.realms.gameServerClusters.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}",
"request": {
"$ref": "GameServerCluster"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"previewCreate": {
"description": "Previews creation of a new game server cluster in a given project and\nlocation.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters:previewCreate",
"httpMethod": "POST",
"id": "gameservices.projects.locations.realms.gameServerClusters.previewCreate",
"parameterOrder": [
"parent"
],
"parameters": {
"gameServerClusterId": {
"description": "Required. The ID of the game server cluster resource to be created.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The parent resource name. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$",
"required": true,
"type": "string"
},
"previewTime": {
"description": "Optional. The target timestamp to compute the preview.",
"format": "google-datetime",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+parent}/gameServerClusters:previewCreate",
"request": {
"$ref": "GameServerCluster"
},
"response": {
"$ref": "PreviewCreateGameServerClusterResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"previewDelete": {
"description": "Previews deletion of a single game server cluster.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewDelete",
"httpMethod": "DELETE",
"id": "gameservices.projects.locations.realms.gameServerClusters.previewDelete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the game server cluster to delete. Uses the form:\n`projects/{project}/locations/{location}/gameServerClusters/{cluster}`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$",
"required": true,
"type": "string"
},
"previewTime": {
"description": "Optional. The target timestamp to compute the preview.",
"format": "google-datetime",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}:previewDelete",
"response": {
"$ref": "PreviewDeleteGameServerClusterResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"previewUpdate": {
"description": "Previews updating a GameServerCluster.",
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewUpdate",
"httpMethod": "PATCH",
"id": "gameservices.projects.locations.realms.gameServerClusters.previewUpdate",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$",
"required": true,
"type": "string"
},
"previewTime": {
"description": "Optional. The target timestamp to compute the preview.",
"format": "google-datetime",
"location": "query",
"type": "string"
},
"updateMask": {
"description": "Required. Mask of fields to update. At least one path must be supplied in\nthis field. For the `FieldMask` definition, see\n\nhttps:\n//developers.google.com/protocol-buffers\n// /docs/reference/google.protobuf#fieldmask",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta/{+name}:previewUpdate",
"request": {
"$ref": "GameServerCluster"
},
"response": {
"$ref": "PreviewUpdateGameServerClusterResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
}
}
}
}
},
"revision": "20200630",
"rootUrl": "https://gameservices.googleapis.com/",
"schemas": {
"AuditConfig": {
"description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
"id": "AuditConfig",
"properties": {
"auditLogConfigs": {
"description": "The configuration for logging of each type of permission.",
"items": {
"$ref": "AuditLogConfig"
},
"type": "array"
},
"exemptedMembers": {
"items": {
"type": "string"
},
"type": "array"
},
"service": {
"description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
"type": "string"
}
},
"type": "object"
},
"AuditLogConfig": {
"description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
"id": "AuditLogConfig",
"properties": {
"exemptedMembers": {
"description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
"items": {
"type": "string"
},
"type": "array"
},
"ignoreChildExemptions": {
"type": "boolean"
},
"logType": {
"description": "The log type that this config enables.",
"enum": [
"LOG_TYPE_UNSPECIFIED",
"ADMIN_READ",
"DATA_WRITE",
"DATA_READ"
],
"enumDescriptions": [
"Default case. Should never be this.",
"Admin reads. Example: CloudIAM getIamPolicy",
"Data writes. Example: CloudSQL Users create",
"Data reads. Example: CloudSQL Users list"
],
"type": "string"
}
},
"type": "object"
},
"AuthorizationLoggingOptions": {
"description": "Authorization-related information used by Cloud Audit Logging.",
"id": "AuthorizationLoggingOptions",
"properties": {
"permissionType": {
"description": "The type of the permission that was checked.",
"enum": [
"PERMISSION_TYPE_UNSPECIFIED",
"ADMIN_READ",
"ADMIN_WRITE",
"DATA_READ",
"DATA_WRITE"
],
"enumDescriptions": [
"Default. Should not be used.",
"A read of admin (meta) data.",
"A write of admin (meta) data.",
"A read of standard data.",
"A write of standard data."
],
"type": "string"
}
},
"type": "object"
},
"Binding": {
"description": "Associates `members` with a `role`.",
"id": "Binding",
"properties": {
"condition": {
"$ref": "Expr",
"description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
},
"members": {
"description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n",
"items": {
"type": "string"
},
"type": "array"
},
"role": {
"description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
"type": "string"
}
},
"type": "object"
},
"CancelOperationRequest": {
"description": "The request message for Operations.CancelOperation.",
"id": "CancelOperationRequest",
"properties": {},
"type": "object"
},
"CloudAuditOptions": {
"description": "Write a Cloud Audit log",
"id": "CloudAuditOptions",
"properties": {
"authorizationLoggingOptions": {
"$ref": "AuthorizationLoggingOptions",
"description": "Information used by the Cloud Audit Logging pipeline."
},
"logName": {
"description": "The log_name to populate in the Cloud Audit Record.",
"enum": [
"UNSPECIFIED_LOG_NAME",
"ADMIN_ACTIVITY",
"DATA_ACCESS"
],
"enumDescriptions": [
"Default. Should not be used.",
"Corresponds to \"cloudaudit.googleapis.com/activity\"",
"Corresponds to \"cloudaudit.googleapis.com/data_access\""
],
"type": "string"
}
},
"type": "object"
},
"Condition": {
"description": "A condition to be met.",
"id": "Condition",
"properties": {
"iam": {
"description": "Trusted attributes supplied by the IAM system.",
"enum": [
"NO_ATTR",
"AUTHORITY",
"ATTRIBUTION",
"SECURITY_REALM",
"APPROVER",
"JUSTIFICATION_TYPE",
"CREDENTIALS_TYPE",
"CREDS_ASSERTION"
],
"enumDescriptions": [
"Default non-attribute.",
"Either principal or (if present) authority selector.",
"The principal (even if an authority selector is present), which\nmust only be used for attribution, not authorization.",
"Any of the security realms in the IAMContext (go/security-realms).\nWhen used with IN, the condition indicates \"any of the request's realms\nmatch one of the given values; with NOT_IN, \"none of the realms match\nany of the given values\". Note that a value can be:\n - 'self' (i.e., allow connections from clients that are in the same\n security realm)\n - 'self:cloud-region' (i.e., allow connections from clients that are in\n the same cloud region)\n - 'guardians' (i.e., allow connections from its guardian realms. See\n go/security-realms-glossary#guardian for more information.)\n - a realm (e.g., 'campus-abc')\n - a realm group (e.g., 'realms-for-borg-cell-xx', see: go/realm-groups)\nA match is determined by a realm group\nmembership check performed by a RealmAclRep object (go/realm-acl-howto).\nIt is not permitted to grant access based on the *absence* of a realm, so\nrealm conditions can only be used in a \"positive\" context (e.g., ALLOW/IN\nor DENY/NOT_IN).",
"An approver (distinct from the requester) that has authorized this\nrequest.\nWhen used with IN, the condition indicates that one of the approvers\nassociated with the request matches the specified principal, or is a\nmember of the specified group. Approvers can only grant additional\naccess, and are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT_IN).",
"What types of justifications have been supplied with this request.\nString values should match enum names from\nsecurity.credentials.JustificationType, e.g. \"MANUAL_STRING\". It is not\npermitted to grant access based on the *absence* of a justification, so\njustification conditions can only be used in a \"positive\" context\n(e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported.",
"What type of credentials have been supplied with this request.\nString values should match enum names from\nsecurity_loas_l2.CredentialsType - currently, only CREDS_TYPE_EMERGENCY\nis supported.\nIt is not permitted to grant access based on the *absence* of a\ncredentials type, so the conditions can only be used in a \"positive\"\ncontext (e.g., ALLOW/IN or DENY/NOT_IN).",
"EXPERIMENTAL -- DO NOT USE.\n"
],
"type": "string"
},
"op": {
"description": "An operator to apply the subject with.",
"enum": [
"NO_OP",
"EQUALS",
"NOT_EQUALS",
"IN",
"NOT_IN",
"DISCHARGED"
],
"enumDescriptions": [
"Default no-op.",
"DEPRECATED. Use IN instead.",
"DEPRECATED. Use NOT_IN instead.",
"The condition is true if the subject (or any element of it if it is\na set) matches any of the supplied values.",
"The condition is true if the subject (or every element of it if it is\na set) matches none of the supplied values.",
"Subject is discharged"
],
"type": "string"
},
"svc": {
"description": "Trusted attributes discharged by the service.",
"type": "string"
},
"sys": {
"description": "Trusted attributes supplied by any service that owns resources and uses\nthe IAM system for access control.",
"enum": [
"NO_ATTR",
"REGION",
"SERVICE",
"NAME",
"IP"
],
"enumDescriptions": [
"Default non-attribute type",
"Region of the resource",
"Service name",
"Resource name",
"IP address of the caller"
],
"type": "string"
},
"values": {
"description": "The objects of the condition.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"CounterOptions": {
"description": "Increment a streamz counter with the specified metric and field names.\n\nMetric names should start with a '/', generally be lowercase-only,\nand end in \"_count\". Field names should not contain an initial slash.\nThe actual exported metric names will have \"/iam/policy\" prepended.\n\nField names correspond to IAM request parameters and field values are\ntheir respective values.\n\nSupported field names:\n - \"authority\", which is \"[token]\" if IAMContext.token is present,\n otherwise the value of IAMContext.authority_selector if present, and\n otherwise a representation of IAMContext.principal; or\n - \"iam_principal\", a representation of IAMContext.principal even if a\n token or authority selector is present; or\n - \"\" (empty string), resulting in a counter with no fields.\n\nExamples:\n counter { metric: \"/debug_access_count\" field: \"iam_principal\" }\n ==\u003e increment counter /iam/policy/debug_access_count\n {iam_principal=[value of IAMContext.principal]}",
"id": "CounterOptions",
"properties": {
"customFields": {
"description": "Custom fields.",
"items": {
"$ref": "CustomField"
},
"type": "array"
},
"field": {
"description": "The field value to attribute.",
"type": "string"
},
"metric": {
"description": "The metric to update.",
"type": "string"
}
},
"type": "object"
},
"CustomField": {
"description": "Custom fields.\nThese can be used to create a counter with arbitrary field/value\npairs.\nSee: go/rpcsp-custom-fields.",
"id": "CustomField",
"properties": {
"name": {
"description": "Name is the field name.",
"type": "string"
},
"value": {
"description": "Value is the field value. It is important that in contrast to the\nCounterOptions.field, the value here is a constant that is not\nderived from the IAMContext.",
"type": "string"
}
},
"type": "object"
},
"DataAccessOptions": {
"description": "Write a Data Access (Gin) log",
"id": "DataAccessOptions",
"properties": {
"logMode": {
"enum": [
"LOG_MODE_UNSPECIFIED",
"LOG_FAIL_CLOSED"
],
"enumDescriptions": [
"Client is not required to write a partial Gin log immediately after\nthe authorization check. If client chooses to write one and it fails,\nclient may either fail open (allow the operation to continue) or\nfail closed (handle as a DENY outcome).",
"The application's operation in the context of which this authorization\ncheck is being made may only be performed if it is successfully logged\nto Gin. For instance, the authorization library may satisfy this\nobligation by emitting a partial log entry at authorization check time\nand only returning ALLOW to the application if it succeeds.\n\nIf a matching Rule has this directive, but the client has not indicated\nthat it will honor such requirements, then the IAM check will result in\nauthorization failure by setting CheckPolicyResponse.success=false."
],
"type": "string"
}
},
"type": "object"
},
"DeployedClusterState": {
"description": "The game server cluster changes made by the game server deployment.",
"id": "DeployedClusterState",
"properties": {
"cluster": {
"description": "The name of the cluster.",
"type": "string"
},
"fleetDetails": {
"description": "The details about the Agones fleets and autoscalers created in the\ngame server cluster.",
"items": {
"$ref": "DeployedFleetDetails"
},
"type": "array"
}
},
"type": "object"
},
"DeployedFleet": {
"description": "Agones fleet specification and details.",
"id": "DeployedFleet",
"properties": {
"fleet": {
"description": "The name of the Agones fleet.",
"type": "string"
},
"fleetSpec": {
"description": "The fleet spec retrieved from the Agones fleet.",
"type": "string"
},
"specSource": {
"$ref": "SpecSource",
"description": "The source spec that is used to create the Agones fleet.\nThe GameServerConfig resource may no longer exist in the system."
},
"status": {
"$ref": "DeployedFleetStatus",
"description": "The current status of the Agones fleet.\nIncludes count of game servers in various states."
}
},
"type": "object"
},
"DeployedFleetAutoscaler": {
"description": "Details about the Agones autoscaler.",
"id": "DeployedFleetAutoscaler",
"properties": {
"autoscaler": {
"description": "The name of the Agones autoscaler.",
"type": "string"
},
"fleetAutoscalerSpec": {
"description": "The autoscaler spec retrieved from Agones.",
"type": "string"
},
"specSource": {
"$ref": "SpecSource",
"description": "The source spec that is used to create the autoscaler.\nThe GameServerConfig resource may no longer exist in the system."
}
},
"type": "object"
},
"DeployedFleetDetails": {
"description": "Details of the deployed Agones fleet.",
"id": "DeployedFleetDetails",
"properties": {
"deployedAutoscaler": {
"$ref": "DeployedFleetAutoscaler",
"description": "Information about the Agones autoscaler for that fleet."
},
"deployedFleet": {
"$ref": "DeployedFleet",
"description": "Information about the Agones fleet."
}
},
"type": "object"
},
"DeployedFleetStatus": {
"description": "DeployedFleetStatus has details about the Agones fleets such as how many\nare running, how many allocated, and so on.",
"id": "DeployedFleetStatus",
"properties": {
"allocatedReplicas": {
"description": "The number of GameServer replicas in the ALLOCATED state in this fleet.",
"format": "int64",
"type": "string"
},
"readyReplicas": {
"description": "The number of GameServer replicas in the READY state in this fleet.",
"format": "int64",
"type": "string"
},
"replicas": {
"description": "The total number of current GameServer replicas in this fleet.",
"format": "int64",
"type": "string"
},
"reservedReplicas": {
"description": "The number of GameServer replicas in the RESERVED state in this fleet.\nReserved instances won't be deleted on scale down, but won't cause\nan autoscaler to scale up.",
"format": "int64",
"type": "string"
}
},
"type": "object"
},
"Empty": {
"description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
"id": "Empty",
"properties": {},
"type": "object"
},
"Expr": {
"description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
"id": "Expr",
"properties": {
"description": {
"description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
"type": "string"
},
"expression": {
"description": "Textual representation of an expression in Common Expression Language\nsyntax.",
"type": "string"
},
"location": {
"description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
"type": "string"
},
"title": {
"description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
"type": "string"
}
},
"type": "object"
},
"FetchDeploymentStateRequest": {
"description": "Request message for GameServerDeploymentsService.FetchDeploymentState.",
"id": "FetchDeploymentStateRequest",
"properties": {},
"type": "object"
},
"FetchDeploymentStateResponse": {
"description": "Response message for GameServerDeploymentsService.FetchDeploymentState.",
"id": "FetchDeploymentStateResponse",
"properties": {
"clusterState": {
"description": "The state of the game server deployment in each game server cluster.",
"items": {
"$ref": "DeployedClusterState"
},
"type": "array"
},
"unavailable": {
"description": "List of locations that could not be reached.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"FleetConfig": {
"description": "Fleet configs for Agones.",
"id": "FleetConfig",
"properties": {
"fleetSpec": {
"description": "Agones fleet spec. Example spec:\n`https://agones.dev/site/docs/reference/fleet/`.",
"type": "string"
},
"name": {
"description": "The name of the FleetConfig.",
"type": "string"
}
},
"type": "object"
},
"GameServerCluster": {
"description": "A game server cluster resource.",
"id": "GameServerCluster",
"properties": {
"connectionInfo": {
"$ref": "GameServerClusterConnectionInfo",
"description": "The game server cluster connection information. This information is used to\nmanage game server clusters."
},
"createTime": {
"description": "Output only. The creation time.",
"format": "google-datetime",
"type": "string"
},
"description": {
"description": "Human readable description of the cluster.",
"type": "string"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "The labels associated with this game server cluster. Each label is a\nkey-value pair.",
"type": "object"
},
"name": {
"description": "Required. The resource name of the game server cluster. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.\nFor example,\n\n`projects/my-project/locations/{location}/realms/zanzibar/gameServerClusters/my-onprem-cluster`.",
"type": "string"
},
"updateTime": {
"description": "Output only. The last-modified time.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"GameServerClusterConnectionInfo": {
"description": "The game server cluster connection information.",
"id": "GameServerClusterConnectionInfo",
"properties": {
"gkeClusterReference": {
"$ref": "GkeClusterReference",
"description": "Reference to the GKE cluster where the game servers are installed."
},
"namespace": {
"description": "Namespace designated on the game server cluster where the Agones game\nserver instances will be created. Existence of the namespace will be\nvalidated during creation.",
"type": "string"
}
},
"type": "object"
},
"GameServerConfig": {
"description": "A game server config resource.",
"id": "GameServerConfig",
"properties": {
"createTime": {
"description": "Output only. The creation time.",
"format": "google-datetime",
"type": "string"
},
"description": {
"description": "The description of the game server config.",
"type": "string"
},
"fleetConfigs": {
"description": "FleetConfig contains a list of Agones fleet specs. Only one FleetConfig\nis allowed.",
"items": {
"$ref": "FleetConfig"
},
"type": "array"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "The labels associated with this game server config. Each label is a\nkey-value pair.",
"type": "object"
},
"name": {
"description": "The resource name of the game server config. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.\nFor example,\n\n`projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.",
"type": "string"
},
"scalingConfigs": {
"description": "The autoscaling settings.",
"items": {
"$ref": "ScalingConfig"
},
"type": "array"
},
"updateTime": {
"description": "Output only. The last-modified time.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"GameServerConfigOverride": {
"description": "A game server config override.",
"id": "GameServerConfigOverride",
"properties": {
"configVersion": {
"description": "The game server config for this override.",
"type": "string"
},
"realmsSelector": {
"$ref": "RealmSelector",
"description": "Selector for choosing applicable realms."
}
},
"type": "object"
},
"GameServerDeployment": {
"description": "A game server deployment resource.",
"id": "GameServerDeployment",
"properties": {
"createTime": {
"description": "Output only. The creation time.",
"format": "google-datetime",
"type": "string"
},
"description": {
"description": "Human readable description of the game server delpoyment.",
"type": "string"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "The labels associated with this game server deployment. Each label is a\nkey-value pair.",
"type": "object"
},
"name": {
"description": "The resource name of the game server deployment. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.",
"type": "string"
},
"updateTime": {
"description": "Output only. The last-modified time.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"GameServerDeploymentRollout": {
"description": "The game server deployment rollout which represents the desired rollout\nstate.",
"id": "GameServerDeploymentRollout",
"properties": {
"createTime": {
"description": "Output only. The creation time.",
"format": "google-datetime",
"type": "string"
},
"defaultGameServerConfig": {
"description": "The default game server config is applied to all realms unless overridden\nin the rollout. For example,\n\n`projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.",
"type": "string"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"gameServerConfigOverrides": {
"description": "Contains the game server config rollout overrides. Overrides are processed\nin the order they are listed. Once a match is found for a realm, the rest\nof the list is not processed.",
"items": {
"$ref": "GameServerConfigOverride"
},
"type": "array"
},
"name": {
"description": "The resource name of the game server deployment rollout. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.\nFor example,\n\n`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.",
"type": "string"
},
"updateTime": {
"description": "Output only. The last-modified time.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"GkeClusterReference": {
"description": "A reference to a GKE cluster.",
"id": "GkeClusterReference",
"properties": {
"cluster": {
"description": "The full or partial name of a GKE cluster, using one of the following\nforms:\n * `projects/{project}/locations/{location}/clusters/{cluster}`\n * `locations/{location}/clusters/{cluster}`\n * `{cluster}`\nIf project and location are not specified, the project and location of the\nGameServerCluster resource are used to generate the full name of the\nGKE cluster.",
"type": "string"
}
},
"type": "object"
},
"LabelSelector": {
"description": "The label selector, used to group labels on the resources.",
"id": "LabelSelector",
"properties": {
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Resource labels for this selector.",
"type": "object"
}
},
"type": "object"
},
"ListGameServerClustersResponse": {
"description": "Response message for GameServerClustersService.ListGameServerClusters.",
"id": "ListGameServerClustersResponse",
"properties": {
"gameServerClusters": {
"description": "The list of game server clusters.",
"items": {
"$ref": "GameServerCluster"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.",
"type": "string"
},
"unreachable": {
"description": "List of locations that could not be reached.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ListGameServerConfigsResponse": {
"description": "Response message for GameServerConfigsService.ListGameServerConfigs.",
"id": "ListGameServerConfigsResponse",
"properties": {
"gameServerConfigs": {
"description": "The list of game server configs.",
"items": {
"$ref": "GameServerConfig"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.",
"type": "string"
},
"unreachable": {
"description": "List of locations that could not be reached.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ListGameServerDeploymentsResponse": {
"description": "Response message for GameServerDeploymentsService.ListGameServerDeployments.",
"id": "ListGameServerDeploymentsResponse",
"properties": {
"gameServerDeployments": {
"description": "The list of game server deployments.",
"items": {
"$ref": "GameServerDeployment"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.",
"type": "string"
},
"unreachable": {
"description": "List of locations that could not be reached.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ListLocationsResponse": {
"description": "The response message for Locations.ListLocations.",
"id": "ListLocationsResponse",
"properties": {
"locations": {
"description": "A list of locations that matches the specified filter in the request.",
"items": {
"$ref": "Location"
},
"type": "array"
},
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
}
},
"type": "object"
},
"ListOperationsResponse": {
"description": "The response message for Operations.ListOperations.",
"id": "ListOperationsResponse",
"properties": {
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
},
"operations": {
"description": "A list of operations that matches the specified filter in the request.",
"items": {
"$ref": "Operation"
},
"type": "array"
}
},
"type": "object"
},
"ListRealmsResponse": {
"description": "Response message for RealmsService.ListRealms.",
"id": "ListRealmsResponse",
"properties": {
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no more\nresults in the list.",
"type": "string"
},
"realms": {
"description": "The list of realms.",
"items": {
"$ref": "Realm"
},
"type": "array"
},
"unreachable": {
"description": "List of locations that could not be reached.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"Location": {
"description": "A resource that represents Google Cloud Platform location.",
"id": "Location",
"properties": {
"displayName": {
"description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
"type": "string"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}",
"type": "object"
},
"locationId": {
"description": "The canonical id for this location. For example: `\"us-east1\"`.",
"type": "string"
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
"type": "object"
},
"name": {
"description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
"type": "string"
}
},
"type": "object"
},
"LogConfig": {
"description": "Specifies what kind of log the caller must write",
"id": "LogConfig",
"properties": {
"cloudAudit": {
"$ref": "CloudAuditOptions",
"description": "Cloud audit options."
},
"counter": {
"$ref": "CounterOptions",
"description": "Counter options."
},
"dataAccess": {
"$ref": "DataAccessOptions",
"description": "Data access options."
}
},
"type": "object"
},
"Operation": {
"description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
"id": "Operation",
"properties": {
"done": {
"description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
"type": "boolean"
},
"error": {
"$ref": "Status",
"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\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.",
"type": "object"
},
"name": {
"description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
"type": "string"
},
"response": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
"type": "object"
}
},
"type": "object"
},
"OperationMetadata": {
"description": "Represents the metadata of the long-running operation.",
"id": "OperationMetadata",
"properties": {
"apiVersion": {
"description": "Output only. API version used to start the operation.",
"type": "string"
},
"createTime": {
"description": "Output only. The time the operation was created.",
"format": "google-datetime",
"type": "string"
},
"endTime": {
"description": "Output only. The time the operation finished running.",
"format": "google-datetime",
"type": "string"
},
"operationStatus": {
"additionalProperties": {
"$ref": "OperationStatus"
},
"description": "Output only. Operation status for Game Services API operations. Operation status is in\nthe form of key-value pairs where keys are resource IDs and the values show\nthe status of the operation. In case of failures, the value includes an\nerror code and error message.",
"type": "object"
},
"requestedCancellation": {
"description": "Output only. Identifies whether the user has requested cancellation\nof the operation. Operations that have successfully been cancelled\nhave Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
"type": "boolean"
},
"statusMessage": {
"description": "Output only. Human-readable status of the operation, if any.",
"type": "string"
},
"target": {
"description": "Output only. Server-defined resource path for the target of the operation.",
"type": "string"
},
"unreachable": {
"description": "Output only. List of Locations that could not be reached.",
"items": {
"type": "string"
},
"type": "array"
},
"verb": {
"description": "Output only. Name of the verb executed by the operation.",
"type": "string"
}
},
"type": "object"
},
"OperationStatus": {
"id": "OperationStatus",
"properties": {
"done": {
"description": "Output only. Whether the operation is done or still in progress.",
"type": "boolean"
},
"errorCode": {
"description": "The error code in case of failures.",
"enum": [
"ERROR_CODE_UNSPECIFIED",
"INTERNAL_ERROR",
"PERMISSION_DENIED",
"CLUSTER_CONNECTION"
],
"enumDescriptions": [
"",
"",
"",
""
],
"type": "string"
},
"errorMessage": {
"description": "The human-readable error message.",
"type": "string"
}
},
"type": "object"
},
"Policy": {
"description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
"id": "Policy",
"properties": {
"auditConfigs": {
"description": "Specifies cloud audit logging configuration for this policy.",
"items": {
"$ref": "AuditConfig"
},
"type": "array"
},
"bindings": {
"description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
"items": {
"$ref": "Binding"
},
"type": "array"
},
"etag": {
"description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
"format": "byte",
"type": "string"
},
"iamOwned": {
"type": "boolean"
},
"rules": {
"description": "If more than one rule is specified, the rules are applied in the following\nmanner:\n- All matching LOG rules are always applied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging will be applied if one or more matching rule requires logging.\n- Otherwise, if no rule applies, permission is denied.",
"items": {
"$ref": "Rule"
},
"type": "array"
},
"version": {
"description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"PreviewCreateGameServerClusterResponse": {
"description": "Response message for\nGameServerClustersService.PreviewCreateGameServerCluster.",
"id": "PreviewCreateGameServerClusterResponse",
"properties": {
"etag": {
"description": "The ETag of the game server cluster.",
"type": "string"
},
"targetState": {
"$ref": "TargetState",
"description": "The target state."
}
},
"type": "object"
},
"PreviewDeleteGameServerClusterResponse": {
"description": "Response message for\nGameServerClustersService.PreviewDeleteGameServerCluster.",
"id": "PreviewDeleteGameServerClusterResponse",
"properties": {
"etag": {
"description": "The ETag of the game server cluster.",
"type": "string"
},
"targetState": {
"$ref": "TargetState",
"description": "The target state."
}
},
"type": "object"
},
"PreviewGameServerDeploymentRolloutResponse": {
"description": "Response message for PreviewGameServerDeploymentRollout.\nThis has details about the Agones fleet and autoscaler to be actuated.",
"id": "PreviewGameServerDeploymentRolloutResponse",
"properties": {
"etag": {
"description": "ETag of the game server deployment.",
"type": "string"
},
"targetState": {
"$ref": "TargetState",
"description": "The target state."
},
"unavailable": {
"description": "Locations that could not be reached on this request.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"PreviewRealmUpdateResponse": {
"description": "Response message for RealmsService.PreviewRealmUpdate.",
"id": "PreviewRealmUpdateResponse",
"properties": {
"etag": {
"description": "ETag of the realm.",
"type": "string"
},
"targetState": {
"$ref": "TargetState",
"description": "The target state."
}
},
"type": "object"
},
"PreviewUpdateGameServerClusterResponse": {
"description": "Response message for GameServerClustersService.PreviewUpdateGameServerCluster",
"id": "PreviewUpdateGameServerClusterResponse",
"properties": {
"etag": {
"description": "The ETag of the game server cluster.",
"type": "string"
},
"targetState": {
"$ref": "TargetState",
"description": "The target state."
}
},
"type": "object"
},
"Realm": {
"description": "A realm resource.",
"id": "Realm",
"properties": {
"createTime": {
"description": "Output only. The creation time.",
"format": "google-datetime",
"type": "string"
},
"description": {
"description": "Human readable description of the realm.",
"type": "string"
},
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "The labels associated with this realm. Each label is a key-value pair.",
"type": "object"
},
"name": {
"description": "The resource name of the realm. Uses the form:\n`projects/{project}/locations/{location}/realms/{realm}`. For\nexample, `projects/my-project/locations/{location}/realms/my-realm`.",
"type": "string"
},
"timeZone": {
"description": "Required. Time zone where all policies targeting this realm are evaluated. The value\nof this field must be from the IANA time zone database:\nhttps://www.iana.org/time-zones.",
"type": "string"
},
"updateTime": {
"description": "Output only. The last-modified time.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"RealmSelector": {
"description": "The realm selector, used to match realm resources.",
"id": "RealmSelector",
"properties": {
"realms": {
"description": "List of realms to match.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"Rule": {
"description": "A rule to be applied in a Policy.",
"id": "Rule",
"properties": {
"action": {
"description": "Required",
"enum": [
"NO_ACTION",
"ALLOW",
"ALLOW_WITH_LOG",
"DENY",
"DENY_WITH_LOG",
"LOG"
],
"enumDescriptions": [
"Default no action.",
"Matching 'Entries' grant access.",
"Matching 'Entries' grant access and the caller promises to log\nthe request per the returned log_configs.",
"Matching 'Entries' deny access.",
"Matching 'Entries' deny access and the caller promises to log\nthe request per the returned log_configs.",
"Matching 'Entries' tell IAM.Check callers to generate logs."
],
"type": "string"
},
"conditions": {
"description": "Additional restrictions that must be met. All conditions must pass for the\nrule to match.",
"items": {
"$ref": "Condition"
},
"type": "array"
},
"description": {
"description": "Human-readable description of the rule.",
"type": "string"
},
"in": {
"description": "If one or more 'in' clauses are specified, the rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.",
"items": {
"type": "string"
},
"type": "array"
},
"logConfig": {
"description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries\nthat match the LOG action.",
"items": {
"$ref": "LogConfig"
},
"type": "array"
},
"notIn": {
"description": "If one or more 'not_in' clauses are specified, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.\nThe format for in and not_in entries can be found at in the Local IAM\ndocumentation (see go/local-iam#features).",
"items": {
"type": "string"
},
"type": "array"
},
"permissions": {
"description": "A permission is a string of form '\u003cservice\u003e.\u003cresource type\u003e.\u003cverb\u003e'\n(e.g., 'storage.buckets.list'). A value of '*' matches all permissions,\nand a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ScalingConfig": {
"description": "Autoscaling config for an Agones fleet.",
"id": "ScalingConfig",
"properties": {
"fleetAutoscalerSpec": {
"description": "Required. Agones fleet autoscaler spec. Example spec:\nhttps://agones.dev/site/docs/reference/fleetautoscaler/",
"type": "string"
},
"name": {
"description": "Required. The name of the Scaling Config",
"type": "string"
},
"schedules": {
"description": "The schedules to which this Scaling Config applies.",
"items": {
"$ref": "Schedule"
},
"type": "array"
},
"selectors": {
"description": "Labels used to identify the game server clusters to which this Agones\nscaling config applies. A game server cluster is subject to this Agones\nscaling config if its labels match any of the selector entries.",
"items": {
"$ref": "LabelSelector"
},
"type": "array"
}
},
"type": "object"
},
"Schedule": {
"description": "The schedule of a recurring or one time event. The event's time span is\nspecified by start_time and end_time. If the scheduled event's timespan is\nlarger than the cron_spec + cron_job_duration, the event will be recurring.\nIf only cron_spec + cron_job_duration are specified, the event is effective\nstarting at the local time specified by cron_spec, and is recurring.\n\n start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time\n cron job: cron spec start time + duration",
"id": "Schedule",
"properties": {
"cronJobDuration": {
"description": "The duration for the cron job event. The duration of the event is effective\nafter the cron job's start time.",
"format": "google-duration",
"type": "string"
},
"cronSpec": {
"description": "The cron definition of the scheduled event. See\nhttps://en.wikipedia.org/wiki/Cron. Cron spec specifies the local time as\ndefined by the realm.",
"type": "string"
},
"endTime": {
"description": "The end time of the event.",
"format": "google-datetime",
"type": "string"
},
"startTime": {
"description": "The start time of the event.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"SetIamPolicyRequest": {
"description": "Request message for `SetIamPolicy` method.",
"id": "SetIamPolicyRequest",
"properties": {
"policy": {
"$ref": "Policy",
"description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
},
"updateMask": {
"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
"format": "google-fieldmask",
"type": "string"
}
},
"type": "object"
},
"SpecSource": {
"description": "Encapsulates Agones fleet spec and Agones autoscaler spec sources.",
"id": "SpecSource",
"properties": {
"gameServerConfigName": {
"description": "The game server config resource. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.",
"type": "string"
},
"name": {
"description": "The name of the Agones leet config or Agones scaling config used to derive\nthe Agones fleet or Agones autoscaler spec.",
"type": "string"
}
},
"type": "object"
},
"Status": {
"description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
"id": "Status",
"properties": {
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"format": "int32",
"type": "integer"
},
"details": {
"description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.",
"items": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"type": "array"
},
"message": {
"description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
"type": "string"
}
},
"type": "object"
},
"TargetDetails": {
"description": "Details about the Agones resources.",
"id": "TargetDetails",
"properties": {
"fleetDetails": {
"description": "Agones fleet details for game server clusters and game server deployments.",
"items": {
"$ref": "TargetFleetDetails"
},
"type": "array"
},
"gameServerClusterName": {
"description": "The game server cluster name. Uses the form:\n\n`projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.",
"type": "string"
},
"gameServerDeploymentName": {
"description": "The game server deployment name. Uses the form:\n\n`projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.",
"type": "string"
}
},
"type": "object"
},
"TargetFleet": {
"description": "Target Agones fleet specification.",
"id": "TargetFleet",
"properties": {
"name": {
"description": "The name of the Agones fleet.",
"type": "string"
},
"specSource": {
"$ref": "SpecSource",
"description": "Encapsulates the source of the Agones fleet spec.\nThe Agones fleet spec source."
}
},
"type": "object"
},
"TargetFleetAutoscaler": {
"description": "Target Agones autoscaler policy reference.",
"id": "TargetFleetAutoscaler",
"properties": {
"name": {
"description": "The name of the Agones autoscaler.",
"type": "string"
},
"specSource": {
"$ref": "SpecSource",
"description": "Encapsulates the source of the Agones fleet spec.\nDetails about the Agones autoscaler spec."
}
},
"type": "object"
},
"TargetFleetDetails": {
"description": "Details of the target Agones fleet.",
"id": "TargetFleetDetails",
"properties": {
"autoscaler": {
"$ref": "TargetFleetAutoscaler",
"description": "Reference to target Agones fleet autoscaling policy."
},
"fleet": {
"$ref": "TargetFleet",
"description": "Reference to target Agones fleet."
}
},
"type": "object"
},
"TargetState": {
"description": "Encapsulates the Target state.",
"id": "TargetState",
"properties": {
"details": {
"description": "Details about Agones fleets.",
"items": {
"$ref": "TargetDetails"
},
"type": "array"
}
},
"type": "object"
},
"TestIamPermissionsRequest": {
"description": "Request message for `TestIamPermissions` method.",
"id": "TestIamPermissionsRequest",
"properties": {
"permissions": {
"description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"TestIamPermissionsResponse": {
"description": "Response message for `TestIamPermissions` method.",
"id": "TestIamPermissionsResponse",
"properties": {
"permissions": {
"description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Game Services API",
"version": "v1beta",
"version_module": true
}