Serveur MCP

Google Cloud Run

com.googleapis.run/mcp
Cloud et infrastructure Outils développeur Public et accessible MCP 2026-07-28

Ce que fait ce MCP

Deploys, lists, and inspects Google Cloud Run services from source archives, files, or container images.

deploy_service_from_archive
Deploy a Cloud Run service directly from a self-contained source code archive (.tar.gz), skipping the container image build step for faster deployment. The archive must include all dependencies: - For compiled languages (Go, Java), include pre-compiled binaries. - For scripting languages (Python, Node.js), include pre-installed libraries (e.g., vendor/, node_modules/). Deployment steps: 1. Package source code and dependencies into a .tar.gz archive (max 250MiB). It's recommended to create archive from the root of the application's source directory. 2. Upload the archive to a Google Cloud Storage bucket, preferably in the same region as the service. 3. Deploy to Cloud Run using this tool, specifying: - source_code: Google Cloud Storage object path to the archive (e.g., gs://bucket/object). - command: Command to start the application. - base_image_uri: Base image for the container (e.g., go124, nodejs24, python314). See https://docs.cloud.google.com/run/docs/configuring/services/runtime-base-images for options. The runtime picked should match the local environment. - args: (Optional) Arguments for the command. - env: (Optional) Environment variables (e.g., name: `PYTHONPATH`, value: `./vendor`). - ports: (Optional) Container ports to expose (defaults to 8080).
Destructif
Schéma d’entrée
{'type': 'object', '$defs': {'EnvVar': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. Name of the environment variable. Must not exceed 32768 characters.'}, 'value': {'type': 'string', 'description': 'Literal value of the environment variable. Defaults to "", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run. Only one of this field or valueSource should be set.'}, 'valueSource': {'$ref': '#/$defs/EnvVarSource', 'description': "Source for the environment variable's value. Only one of this field or value should be set."}}, 'description': 'EnvVar represents an environment variable present in a Container.'}, 'SourceCode': {'type': 'object', 'properties': {'inlinedSource': {'$ref': '#/$defs/InlinedSource', 'writeOnly': True, 'description': 'Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. This field is only supported in Cloud Run Service. Only one of this field or cloudStorageSource should be set.'}, 'cloudStorageSource': {'$ref': '#/$defs/CloudStorageSource', 'description': 'The source is a Cloud Storage bucket. Only one of this field or inlinedSource should be set.'}}, 'description': 'Source type for the container.'}, 'SourceFile': {'type': 'object', 'required': ['filename', 'content'], 'properties': {'content': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.'}, 'filename': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. The file name for the source code. e.g., `"index.js"` or `"node_modules/dependency.js"`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.'}}, 'description': 'Source file.'}, 'EnvVarSource': {'type': 'object', 'properties': {'secretKeyRef': {'$ref': '#/$defs/SecretKeySelector', 'description': 'Selects a secret and a specific version from Cloud Secret Manager.'}}, 'description': 'EnvVarSource represents a source for the value of an EnvVar.'}, 'ContainerPort': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'If specified, used to specify which protocol to use. Allowed values are "http1" and "h2c".'}, 'containerPort': {'type': 'integer', 'format': 'int32', 'description': 'Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.'}}, 'description': 'ContainerPort represents a network port in a single container.'}, 'InlinedSource': {'type': 'object', 'required': ['sources'], 'properties': {'sources': {'type': 'array', 'items': {'$ref': '#/$defs/SourceFile'}, 'writeOnly': True, 'description': 'Required. Input only. The source code.'}}, 'description': 'Inlined source.'}, 'SourceService': {'type': 'object', 'required': ['name', 'project', 'region', 'template'], 'properties': {'name': {'type': 'string', 'description': 'Required. Identifier. The short name of the Service.', 'x-google-identifier': True}, 'region': {'type': 'string', 'description': 'Required. Identifier. The region to get the Service from.', 'x-google-identifier': True}, 'project': {'type': 'string', 'description': 'Required. Identifier. The project ID or project number to get the Service from.', 'x-google-identifier': True}, 'template': {'$ref': '#/$defs/SourceServiceRevisionTemplate', 'description': 'Required. The template used to create revisions for this Service.'}, 'invokerIamDisabled': {'type': 'boolean', 'description': 'Optional. Disables IAM permission check for run.routes.invoke for callers of this service. Set to true to make this service public and allow unauthenticated access. This field defaults to false when unset, which means the service is private and only allows access from authenticated users.'}}, 'description': 'Service represents the configuration of a managed service.'}, 'SourceContainer': {'type': 'object', 'required': ['sourceCode', 'command', 'baseImageUri'], 'properties': {'env': {'type': 'array', 'items': {'$ref': '#/$defs/EnvVar'}, 'description': 'Optional. List of environment variables to set in the container.'}, 'args': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. Arguments to the entrypoint.'}, 'ports': {'type': 'array', 'items': {'$ref': '#/$defs/ContainerPort'}, 'description': 'Optional. List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If multiple containers are specified, exactly one container must have this field set. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.'}, 'command': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required. Entrypoint array to start the app.'}, 'sourceCode': {'$ref': '#/$defs/SourceCode', 'description': 'Required. The location of the source code to be used for the container. This can be either source code inlined as text or source code as a Cloud Storage object.'}, 'baseImageUri': {'type': 'string', 'description': 'Required. Base image URI to use for the container. The full list of images can be found in https://docs.cloud.google.com/run/docs/configuring/services/runtime-base-images, i.e. nodejs24. The runtime picked should match the local environment.'}}, 'description': 'A single application container.'}, 'SecretKeySelector': {'type': 'object', 'required': ['secret'], 'properties': {'secret': {'type': 'string', 'description': 'Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.'}, 'version': {'type': 'string', 'description': "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias."}}, 'description': 'SecretEnvVarSource represents a source for the value of an EnvVar.'}, 'CloudStorageSource': {'type': 'object', 'required': ['bucket', 'object'], 'properties': {'bucket': {'type': 'string', 'description': 'Required. The Cloud Storage bucket name.'}, 'object': {'type': 'string', 'description': 'Required. The Cloud Storage object name.'}, 'generation': {'type': 'string', 'format': 'int64', 'description': 'Optional. The Cloud Storage object generation.'}}, 'description': 'Cloud Storage source.'}, 'SourceServiceRevisionTemplate': {'type': 'object', 'required': ['containers'], 'properties': {'containers': {'type': 'array', 'items': {'$ref': '#/$defs/SourceContainer'}, 'description': 'Required. Holds the containers that define this Revision.'}}, 'description': 'The revision template for a service deployed from source code.'}}, 'required': ['service'], 'properties': {'service': {'$ref': '#/$defs/SourceService', 'description': 'Required. The service to deploy.'}}, 'description': 'Request message for deploying source code as a Cloud Run service.'}
Schéma de sortie
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation. Only one of this field or response should be set.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
deploy_service_from_file_contents
Deploys a Cloud Run service directly from local source files. This method is suitable for scripting languages like Python and Node.js, of which the source code can be embedded in the request. This is ideal for quick tests and development feedback loops. You must include all necessary dependencies within the source files because it skips the build step for faster deployment. **Key Requirements:** 1. source_code: Should set to sourceCode.inlinedSource.sources with array of source files, each having `filename` and `content`. 2. Size limit: you are subject to total request size limit of 50MiB.
Destructif
Schéma d’entrée
{'type': 'object', '$defs': {'EnvVar': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. Name of the environment variable. Must not exceed 32768 characters.'}, 'value': {'type': 'string', 'description': 'Literal value of the environment variable. Defaults to "", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run. Only one of this field or valueSource should be set.'}, 'valueSource': {'$ref': '#/$defs/EnvVarSource', 'description': "Source for the environment variable's value. Only one of this field or value should be set."}}, 'description': 'EnvVar represents an environment variable present in a Container.'}, 'SourceCode': {'type': 'object', 'properties': {'inlinedSource': {'$ref': '#/$defs/InlinedSource', 'writeOnly': True, 'description': 'Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. This field is only supported in Cloud Run Service. Only one of this field or cloudStorageSource should be set.'}, 'cloudStorageSource': {'$ref': '#/$defs/CloudStorageSource', 'description': 'The source is a Cloud Storage bucket. Only one of this field or inlinedSource should be set.'}}, 'description': 'Source type for the container.'}, 'SourceFile': {'type': 'object', 'required': ['filename', 'content'], 'properties': {'content': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.'}, 'filename': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. The file name for the source code. e.g., `"index.js"` or `"node_modules/dependency.js"`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.'}}, 'description': 'Source file.'}, 'EnvVarSource': {'type': 'object', 'properties': {'secretKeyRef': {'$ref': '#/$defs/SecretKeySelector', 'description': 'Selects a secret and a specific version from Cloud Secret Manager.'}}, 'description': 'EnvVarSource represents a source for the value of an EnvVar.'}, 'ContainerPort': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'If specified, used to specify which protocol to use. Allowed values are "http1" and "h2c".'}, 'containerPort': {'type': 'integer', 'format': 'int32', 'description': 'Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.'}}, 'description': 'ContainerPort represents a network port in a single container.'}, 'InlinedSource': {'type': 'object', 'required': ['sources'], 'properties': {'sources': {'type': 'array', 'items': {'$ref': '#/$defs/SourceFile'}, 'writeOnly': True, 'description': 'Required. Input only. The source code.'}}, 'description': 'Inlined source.'}, 'SourceService': {'type': 'object', 'required': ['name', 'project', 'region', 'template'], 'properties': {'name': {'type': 'string', 'description': 'Required. Identifier. The short name of the Service.', 'x-google-identifier': True}, 'region': {'type': 'string', 'description': 'Required. Identifier. The region to get the Service from.', 'x-google-identifier': True}, 'project': {'type': 'string', 'description': 'Required. Identifier. The project ID or project number to get the Service from.', 'x-google-identifier': True}, 'template': {'$ref': '#/$defs/SourceServiceRevisionTemplate', 'description': 'Required. The template used to create revisions for this Service.'}, 'invokerIamDisabled': {'type': 'boolean', 'description': 'Optional. Disables IAM permission check for run.routes.invoke for callers of this service. Set to true to make this service public and allow unauthenticated access. This field defaults to false when unset, which means the service is private and only allows access from authenticated users.'}}, 'description': 'Service represents the configuration of a managed service.'}, 'SourceContainer': {'type': 'object', 'required': ['sourceCode', 'command', 'baseImageUri'], 'properties': {'env': {'type': 'array', 'items': {'$ref': '#/$defs/EnvVar'}, 'description': 'Optional. List of environment variables to set in the container.'}, 'args': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. Arguments to the entrypoint.'}, 'ports': {'type': 'array', 'items': {'$ref': '#/$defs/ContainerPort'}, 'description': 'Optional. List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If multiple containers are specified, exactly one container must have this field set. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.'}, 'command': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Required. Entrypoint array to start the app.'}, 'sourceCode': {'$ref': '#/$defs/SourceCode', 'description': 'Required. The location of the source code to be used for the container. This can be either source code inlined as text or source code as a Cloud Storage object.'}, 'baseImageUri': {'type': 'string', 'description': 'Required. Base image URI to use for the container. The full list of images can be found in https://docs.cloud.google.com/run/docs/configuring/services/runtime-base-images, i.e. nodejs24. The runtime picked should match the local environment.'}}, 'description': 'A single application container.'}, 'SecretKeySelector': {'type': 'object', 'required': ['secret'], 'properties': {'secret': {'type': 'string', 'description': 'Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.'}, 'version': {'type': 'string', 'description': "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias."}}, 'description': 'SecretEnvVarSource represents a source for the value of an EnvVar.'}, 'CloudStorageSource': {'type': 'object', 'required': ['bucket', 'object'], 'properties': {'bucket': {'type': 'string', 'description': 'Required. The Cloud Storage bucket name.'}, 'object': {'type': 'string', 'description': 'Required. The Cloud Storage object name.'}, 'generation': {'type': 'string', 'format': 'int64', 'description': 'Optional. The Cloud Storage object generation.'}}, 'description': 'Cloud Storage source.'}, 'SourceServiceRevisionTemplate': {'type': 'object', 'required': ['containers'], 'properties': {'containers': {'type': 'array', 'items': {'$ref': '#/$defs/SourceContainer'}, 'description': 'Required. Holds the containers that define this Revision.'}}, 'description': 'The revision template for a service deployed from source code.'}}, 'required': ['service'], 'properties': {'service': {'$ref': '#/$defs/SourceService', 'description': 'Required. The service to deploy.'}}, 'description': 'Request message for deploying source code as a Cloud Run service.'}
Schéma de sortie
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation. Only one of this field or response should be set.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
deploy_service_from_image
Deploy a container image from Artifact Registry or Docker Hub as a Cloud Run service.
Destructif
Schéma d’entrée
{'type': 'object', '$defs': {'EnvVar': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. Name of the environment variable. Must not exceed 32768 characters.'}, 'value': {'type': 'string', 'description': 'Literal value of the environment variable. Defaults to "", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run. Only one of this field or valueSource should be set.'}, 'valueSource': {'$ref': '#/$defs/EnvVarSource', 'description': "Source for the environment variable's value. Only one of this field or value should be set."}}, 'description': 'EnvVar represents an environment variable present in a Container.'}, 'Service': {'type': 'object', 'required': ['name', 'project', 'region', 'template'], 'properties': {'name': {'type': 'string', 'description': 'Required. Identifier. The short name of the Service.', 'x-google-identifier': True}, 'region': {'type': 'string', 'description': 'Required. Identifier. The region to get the Service from.', 'x-google-identifier': True}, 'project': {'type': 'string', 'description': 'Required. Identifier. The project ID or project number to get the Service from.', 'x-google-identifier': True}, 'template': {'$ref': '#/$defs/ImageServiceRevisionTemplate', 'description': 'Required. The template used to create revisions for this Service.'}, 'invokerIamDisabled': {'type': 'boolean', 'description': 'Optional. Disables IAM permission check for run.routes.invoke for callers of this service. Set to true to make this service public and allow unauthenticated access. This field defaults to false when unset, which means the service is private and only allows access from authenticated users.'}}, 'description': 'Service represents the configuration of a managed service.'}, 'EnvVarSource': {'type': 'object', 'properties': {'secretKeyRef': {'$ref': '#/$defs/SecretKeySelector', 'description': 'Selects a secret and a specific version from Cloud Secret Manager.'}}, 'description': 'EnvVarSource represents a source for the value of an EnvVar.'}, 'ContainerPort': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'If specified, used to specify which protocol to use. Allowed values are "http1" and "h2c".'}, 'containerPort': {'type': 'integer', 'format': 'int32', 'description': 'Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.'}}, 'description': 'ContainerPort represents a network port in a single container.'}, 'ImageContainer': {'type': 'object', 'required': ['image'], 'properties': {'env': {'type': 'array', 'items': {'$ref': '#/$defs/EnvVar'}, 'description': 'Optional. List of environment variables to set in the container.'}, 'args': {'type': 'array', 'items': {'type': 'string'}, 'description': "Optional. Arguments to the entrypoint. The docker image's CMD is used if this is not provided."}, 'image': {'type': 'string', 'description': 'Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.'}, 'ports': {'type': 'array', 'items': {'$ref': '#/$defs/ContainerPort'}, 'description': 'Optional. List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If multiple containers are specified, exactly one container must have this field set. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.'}, 'command': {'type': 'array', 'items': {'type': 'string'}, 'description': "Optional. Entrypoint array. Not executed within a shell. Defaults to the docker image's ENTRYPOINT if not provided."}}, 'description': 'A single application container.'}, 'SecretKeySelector': {'type': 'object', 'required': ['secret'], 'properties': {'secret': {'type': 'string', 'description': 'Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.'}, 'version': {'type': 'string', 'description': "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias."}}, 'description': 'SecretEnvVarSource represents a source for the value of an EnvVar.'}, 'ImageServiceRevisionTemplate': {'type': 'object', 'required': ['containers'], 'properties': {'containers': {'type': 'array', 'items': {'$ref': '#/$defs/ImageContainer'}, 'description': 'Required. Holds the containers that define this Revision.'}}, 'description': 'The revision template for a service deployed from an image.'}}, 'required': ['service'], 'properties': {'service': {'$ref': '#/$defs/Service', 'description': 'Required. The service to deploy.'}}, 'description': 'Request message for deploying a container image as a Cloud Run service.'}
Schéma de sortie
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation. Only one of this field or response should be set.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Only one of this field or error should be set.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
get_service
Get info about a Cloud Run service, such as its URI and whether the deploy succeeded.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['name', 'project', 'region'], 'properties': {'name': {'type': 'string', 'description': 'Required. The short name of the Service.'}, 'region': {'type': 'string', 'description': 'Required. The region to get the Service from.'}, 'project': {'type': 'string', 'description': 'Required. The project ID or project number to get the Service from.'}}, 'description': 'Request message for obtaining a Service by its full name.'}
Schéma de sortie
{'type': 'object', '$defs': {'EnvVar': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Required. Name of the environment variable. Must not exceed 32768 characters.'}, 'value': {'type': 'string', 'description': 'Literal value of the environment variable. Defaults to "", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run. Only one of this field or valueSource should be set.'}, 'valueSource': {'$ref': '#/$defs/EnvVarSource', 'description': "Source for the environment variable's value. Only one of this field or value should be set."}}, 'description': 'EnvVar represents an environment variable present in a Container.'}, 'Condition': {'type': 'object', 'properties': {'type': {'type': 'string', 'description': 'type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready.'}, 'state': {'enum': ['STATE_UNSPECIFIED', 'CONDITION_PENDING', 'CONDITION_RECONCILING', 'CONDITION_FAILED', 'CONDITION_SUCCEEDED'], 'type': 'string', 'description': 'State of the condition.', 'x-google-enum-descriptions': ['The default value. This value is used if the state is omitted.', 'Transient state: Reconciliation has not started yet.', 'Transient state: reconciliation is still in progress.', 'Terminal state: Reconciliation did not succeed.', 'Terminal state: Reconciliation completed successfully.']}, 'reason': {'enum': ['COMMON_REASON_UNDEFINED', 'UNKNOWN', 'REVISION_FAILED', 'PROGRESS_DEADLINE_EXCEEDED', 'CONTAINER_MISSING', 'CONTAINER_PERMISSION_DENIED', 'CONTAINER_IMAGE_UNAUTHORIZED', 'CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED', 'ENCRYPTION_KEY_PERMISSION_DENIED', 'ENCRYPTION_KEY_CHECK_FAILED', 'SECRETS_ACCESS_CHECK_FAILED', 'WAITING_FOR_OPERATION', 'IMMEDIATE_RETRY', 'POSTPONED_RETRY', 'INTERNAL', 'VPC_NETWORK_NOT_FOUND'], 'type': 'string', 'readOnly': True, 'description': 'Output only. A common (service-level) reason for this condition. Only one of the following fields should be set: this field, revisionReason, executionReason, instanceReason.', 'x-google-enum-descriptions': ['Default value.', 'Reason unknown. Further details will be in message.', 'Revision creation process failed.', 'Timed out waiting for completion.', 'The container image path is incorrect.', 'Insufficient permissions on the container image.', 'Container image is not authorized by policy.', 'Container image policy authorization check failed.', 'Insufficient permissions on encryption key.', 'Permission check on encryption key failed.', 'At least one Access check on secrets failed.', 'Waiting for operation to complete.', 'System will retry immediately.', 'System will retry later; current attempt failed.', 'An internal error occurred. Further information may be in the message.', 'User-provided VPC network was not found.']}, 'message': {'type': 'string', 'description': 'Human readable message indicating details about the current status.'}, 'severity': {'enum': ['SEVERITY_UNSPECIFIED', 'ERROR', 'WARNING', 'INFO'], 'type': 'string', 'description': 'How to interpret failures of this condition, one of Error, Warning, Info', 'x-google-enum-descriptions': ['Unspecified severity', 'Error severity.', 'Warning severity.', 'Info severity.']}, 'instanceReason': {'enum': ['INSTANCE_REASON_UNSPECIFIED', 'INSTANCE_DELETED', 'INSTANCE_STOPPED', 'INSTANCE_STOPPING', 'INSTANCE_NON_ZERO_EXIT_CODE'], 'type': 'string', 'readOnly': True, 'description': 'Output only. A reason for the instance condition. Only one of the following fields should be set: this field, reason, revisionReason, executionReason.', 'x-google-enum-descriptions': ['Default value.', 'Instance deleted.', 'Instance stopped.', 'Instance stopping.', 'Instance exited with a non-zero exit code.']}, 'revisionReason': {'enum': ['REVISION_REASON_UNDEFINED', 'PENDING', 'RESERVE', 'RETIRED', 'RETIRING', 'RECREATING', 'HEALTH_CHECK_CONTAINER_ERROR', 'CUSTOMIZED_PATH_RESPONSE_PENDING', 'MIN_INSTANCES_NOT_PROVISIONED', 'ACTIVE_REVISION_LIMIT_REACHED', 'NO_DEPLOYMENT', 'HEALTH_CHECK_SKIPPED', 'MIN_INSTANCES_WARMING'], 'type': 'string', 'readOnly': True, 'description': 'Output only. A reason for the revision condition. Only one of the following fields should be set: this field, reason, executionReason, instanceReason.', 'x-google-enum-descriptions': ['Default value.', 'Revision in Pending state.', 'Revision is in Reserve state.', 'Revision is Retired.', 'Revision is being retired.', 'Revision is being recreated.', 'There was a health check error.', 'Health check failed due to user error from customized path of the container. System will retry.', "A revision with min_instance_count > 0 was created and is reserved, but it was not configured to serve traffic, so it's not live. This can also happen momentarily during traffic migration.", 'The maximum allowed number of active revisions has been reached.', 'There was no deployment defined. This value is no longer used, but Services created in older versions of the API might contain this value.', "A revision's container has no port specified since the revision is of a manually scaled service with 0 instance count", 'A revision with min_instance_count > 0 was created and is waiting for enough instances to begin a traffic migration.']}, 'executionReason': {'enum': ['EXECUTION_REASON_UNDEFINED', 'JOB_STATUS_SERVICE_POLLING_ERROR', 'NON_ZERO_EXIT_CODE', 'CANCELLED', 'CANCELLING', 'DELETED', 'DELAYED_START_PENDING', 'DELAYED_EXECUTION_EXCEEDING_DURATION_LIMIT'], 'type': 'string', 'readOnly': True, 'description': 'Output only. A reason for the execution condition. Only one of the following fields should be set: this field, reason, revisionReason, instanceReason.', 'x-google-enum-descriptions': ['Default value.', 'Internal system error getting execution status. System will retry.', 'A task reached its retry limit and the last attempt failed due to the user container exiting with a non-zero exit code.', 'The execution was cancelled by users.', 'The execution is in the process of being cancelled.', 'The execution was deleted.', 'A delayed execution is waiting for a start time.', 'A delayed execution exceeded the maximum runtime duration.']}, 'lastTransitionTime': {'type': 'string', 'format': 'date-time', 'description': 'Last time the condition transitioned from one status to another.'}}, 'description': 'Defines a status condition for a resource.'}, 'SourceCode': {'type': 'object', 'properties': {'inlinedSource': {'$ref': '#/$defs/InlinedSource', 'writeOnly': True, 'description': 'Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. This field is only supported in Cloud Run Service. Only one of this field or cloudStorageSource should be set.'}, 'cloudStorageSource': {'$ref': '#/$defs/CloudStorageSource', 'description': 'The source is a Cloud Storage bucket. Only one of this field or inlinedSource should be set.'}}, 'description': 'Source type for the container.'}, 'SourceFile': {'type': 'object', 'properties': {'content': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.'}, 'filename': {'type': 'string', 'writeOnly': True, 'description': 'Required. Input only. The file name for the source code. e.g., `"index.js"` or `"node_modules/dependency.js"`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.'}}, 'description': 'Source file.'}, 'EnvVarSource': {'type': 'object', 'properties': {'secretKeyRef': {'$ref': '#/$defs/SecretKeySelector', 'description': 'Selects a secret and a specific version from Cloud Secret Manager.'}}, 'description': 'EnvVarSource represents a source for the value of an EnvVar.'}, 'ContainerPort': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'If specified, used to specify which protocol to use. Allowed values are "http1" and "h2c".'}, 'containerPort': {'type': 'integer', 'format': 'int32', 'description': 'Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536.'}}, 'description': 'ContainerPort represents a network port in a single container.'}, 'InlinedSource': {'type': 'object', 'properties': {'sources': {'type': 'array', 'items': {'$ref': '#/$defs/SourceFile'}, 'writeOnly': True, 'description': 'Required. Input only. The source code.'}}, 'description': 'Inlined source.'}, 'ContainerOutput': {'type': 'object', 'properties': {'env': {'type': 'array', 'items': {'$ref': '#/$defs/EnvVar'}, 'description': 'List of environment variables to set in the container.'}, 'args': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Arguments to the entrypoint.'}, 'image': {'type': 'string', 'description': 'Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.'}, 'ports': {'type': 'array', 'items': {'$ref': '#/$defs/ContainerPort'}, 'description': 'List of ports exposed from the container.'}, 'command': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Entrypoint array. Not executed within a shell.'}, 'sourceCode': {'$ref': '#/$defs/SourceCode', 'description': 'The location of the source code from which this container was built.'}, 'baseImageUri': {'type': 'string', 'description': 'Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.'}}, 'description': 'A single application container.'}, 'SecretKeySelector': {'type': 'object', 'properties': {'secret': {'type': 'string', 'description': 'Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.'}, 'version': {'type': 'string', 'description': "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias."}}, 'description': 'SecretEnvVarSource represents a source for the value of an EnvVar.'}, 'CloudStorageSource': {'type': 'object', 'properties': {'bucket': {'type': 'string', 'description': 'Required. The Cloud Storage bucket name.'}, 'object': {'type': 'string', 'description': 'Required. The Cloud Storage object name.'}, 'generation': {'type': 'string', 'format': 'int64', 'description': 'Optional. The Cloud Storage object generation.'}}, 'description': 'Cloud Storage source.'}, 'RevisionTemplateOutput': {'type': 'object', 'properties': {'containers': {'type': 'array', 'items': {'$ref': '#/$defs/ContainerOutput'}, 'description': 'Holds the containers that define this Revision.'}}, 'description': 'RevisionTemplateOutput describes the data a revision should have when created from a template.'}}, 'properties': {'uri': {'type': 'string', 'description': 'The main URI in which this Service is serving traffic.'}, 'name': {'type': 'string', 'description': 'The fully qualified name of this Service. Format: projects/{project}/locations/{location}/services/{service_id}'}, 'creator': {'type': 'string', 'description': 'Email address of the creator.'}, 'template': {'$ref': '#/$defs/RevisionTemplateOutput', 'description': 'The template used to create revisions for this Service.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'The creation time.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'The last-modified time.'}, 'lastModifier': {'type': 'string', 'description': 'Email address of the last modifier.'}, 'terminalCondition': {'$ref': '#/$defs/Condition', 'description': 'The terminal condition of this Service, indicating its readiness status. State CONDITION_SUCCEEDED means the service is ready. If the service is not ready, this condition will contain detailed error information.'}}, 'description': 'The output of a managed Cloud Run Service returned by the API.'}
list_services
List Cloud Run services in a given Google Cloud project and region.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['project', 'region'], 'properties': {'region': {'type': 'string', 'description': 'Required. The region to list the Services from.'}, 'project': {'type': 'string', 'description': 'Required. The project ID or project number to list the Services from.'}}, 'description': 'Request message for retrieving a list of Services.'}
Schéma de sortie
{'type': 'object', '$defs': {'ServiceListOutput': {'type': 'object', 'properties': {'uri': {'type': 'string', 'description': 'The main URI in which this Service is serving traffic.'}, 'name': {'type': 'string', 'description': 'The fully qualified name of this Service. Format: projects/{project}/locations/{location}/services/{service_id}'}, 'creator': {'type': 'string', 'description': 'Email address of the creator.'}, 'createTime': {'type': 'string', 'format': 'date-time', 'description': 'The creation time.'}, 'updateTime': {'type': 'string', 'format': 'date-time', 'description': 'The last-modified time.'}, 'lastModifier': {'type': 'string', 'description': 'Email address of the last modifier.'}}, 'description': 'The output of a managed Cloud Run Service in the result of list services response. It only contains a subset of fields of the service.'}}, 'properties': {'project': {'type': 'string', 'description': 'The project where the Services are listed from.'}, 'services': {'type': 'array', 'items': {'$ref': '#/$defs/ServiceListOutput'}, 'description': 'The resulting list of Services.'}}, 'description': 'Response message containing a list of Services.'}
Modifié
deploy_service_from_file_contents
23 September 2026 02:53
Modifié
deploy_service_from_archive
23 September 2026 02:53
Modifié
deploy_service_from_image
23 September 2026 02:53
Modifié
get_service
23 September 2026 02:53
Ajouté
deploy_service_from_file_contents
17 September 2026 12:35
Ajouté
deploy_service_from_archive
17 September 2026 12:35
Ajouté
deploy_service_from_image
17 September 2026 12:35
Ajouté
list_services
17 September 2026 12:35
Ajouté
get_service
17 September 2026 12:35