airflow.providers.google.cloud.operators.compute
¶
This module contains Google Compute Engine operators.
Module Contents¶
-
class
airflow.providers.google.cloud.operators.compute.
ComputeEngineBaseOperator
(*, zone: str, resource_id: str, project_id: Optional[str] = None, gcp_conn_id: str = 'google_cloud_default', api_version: str = 'v1', impersonation_chain: Optional[Union[str, Sequence[str]]] = None, **kwargs)[source]¶ Bases:
airflow.models.BaseOperator
Abstract base operator for Google Compute Engine operators to inherit from.
-
class
airflow.providers.google.cloud.operators.compute.
ComputeEngineStartInstanceOperator
(*, zone: str, resource_id: str, project_id: Optional[str] = None, gcp_conn_id: str = 'google_cloud_default', api_version: str = 'v1', impersonation_chain: Optional[Union[str, Sequence[str]]] = None, **kwargs)[source]¶ Bases:
airflow.providers.google.cloud.operators.compute.ComputeEngineBaseOperator
Starts an instance in Google Compute Engine.
See also
For more information on how to use this operator, take a look at the guide: ComputeEngineStartInstanceOperator
- Parameters
zone (str) – Google Cloud zone where the instance exists.
resource_id (str) – Name of the Compute Engine instance resource.
project_id (str) – Optional, Google Cloud Project ID where the Compute Engine Instance exists. If set to None or missing, the default project_id from the Google Cloud connection is used.
gcp_conn_id (str) – Optional, The connection ID used to connect to Google Cloud. Defaults to ‘google_cloud_default’.
api_version (str) – Optional, API version used (for example v1 - or beta). Defaults to v1.
validate_body – Optional, If set to False, body validation is not performed. Defaults to False.
impersonation_chain (Union[str, Sequence[str]]) – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).
-
class
airflow.providers.google.cloud.operators.compute.
ComputeEngineStopInstanceOperator
(*, zone: str, resource_id: str, project_id: Optional[str] = None, gcp_conn_id: str = 'google_cloud_default', api_version: str = 'v1', impersonation_chain: Optional[Union[str, Sequence[str]]] = None, **kwargs)[source]¶ Bases:
airflow.providers.google.cloud.operators.compute.ComputeEngineBaseOperator
Stops an instance in Google Compute Engine.
See also
For more information on how to use this operator, take a look at the guide: ComputeEngineStopInstanceOperator
- Parameters
zone (str) – Google Cloud zone where the instance exists.
resource_id (str) – Name of the Compute Engine instance resource.
project_id (str) – Optional, Google Cloud Project ID where the Compute Engine Instance exists. If set to None or missing, the default project_id from the Google Cloud connection is used.
gcp_conn_id (str) – Optional, The connection ID used to connect to Google Cloud. Defaults to ‘google_cloud_default’.
api_version (str) – Optional, API version used (for example v1 - or beta). Defaults to v1.
validate_body – Optional, If set to False, body validation is not performed. Defaults to False.
impersonation_chain (Union[str, Sequence[str]]) – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).
-
class
airflow.providers.google.cloud.operators.compute.
ComputeEngineSetMachineTypeOperator
(*, zone: str, resource_id: str, body: dict, project_id: Optional[str] = None, gcp_conn_id: str = 'google_cloud_default', api_version: str = 'v1', validate_body: bool = True, impersonation_chain: Optional[Union[str, Sequence[str]]] = None, **kwargs)[source]¶ Bases:
airflow.providers.google.cloud.operators.compute.ComputeEngineBaseOperator
- Changes the machine type for a stopped instance to the machine type specified in
the request.
See also
For more information on how to use this operator, take a look at the guide: ComputeEngineSetMachineTypeOperator
- Parameters
zone (str) – Google Cloud zone where the instance exists.
resource_id (str) – Name of the Compute Engine instance resource.
body (dict) – Body required by the Compute Engine setMachineType API, as described in https://cloud.google.com/compute/docs/reference/rest/v1/instances/setMachineType#request-body
project_id (str) – Optional, Google Cloud Project ID where the Compute Engine Instance exists. If set to None or missing, the default project_id from the Google Cloud connection is used.
gcp_conn_id (str) – Optional, The connection ID used to connect to Google Cloud. Defaults to ‘google_cloud_default’.
api_version (str) – Optional, API version used (for example v1 - or beta). Defaults to v1.
validate_body (bool) – Optional, If set to False, body validation is not performed. Defaults to False.
impersonation_chain (Union[str, Sequence[str]]) – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).
-
airflow.providers.google.cloud.operators.compute.
GCE_INSTANCE_TEMPLATE_VALIDATION_PATCH_SPECIFICATION
:List[Dict[str, Any]][source]¶
-
airflow.providers.google.cloud.operators.compute.
GCE_INSTANCE_TEMPLATE_FIELDS_TO_SANITIZE
= ['kind', 'id', 'name', 'creationTimestamp', 'properties.disks.sha256', 'properties.disks.kind', 'properties.disks.sourceImageEncryptionKey.sha256', 'properties.disks.index', 'properties.disks.licenses', 'properties.networkInterfaces.kind', 'properties.networkInterfaces.accessConfigs.kind', 'properties.networkInterfaces.name', 'properties.metadata.kind', 'selfLink'][source]¶
-
class
airflow.providers.google.cloud.operators.compute.
ComputeEngineCopyInstanceTemplateOperator
(*, resource_id: str, body_patch: dict, project_id: Optional[str] = None, request_id: Optional[str] = None, gcp_conn_id: str = 'google_cloud_default', api_version: str = 'v1', validate_body: bool = True, impersonation_chain: Optional[Union[str, Sequence[str]]] = None, **kwargs)[source]¶ Bases:
airflow.providers.google.cloud.operators.compute.ComputeEngineBaseOperator
Copies the instance template, applying specified changes.
See also
For more information on how to use this operator, take a look at the guide: ComputeEngineCopyInstanceTemplateOperator
- Parameters
resource_id (str) – Name of the Instance Template
body_patch (dict) – Patch to the body of instanceTemplates object following rfc7386 PATCH semantics. The body_patch content follows https://cloud.google.com/compute/docs/reference/rest/v1/instanceTemplates Name field is required as we need to rename the template, all the other fields are optional. It is important to follow PATCH semantics - arrays are replaced fully, so if you need to update an array you should provide the whole target array as patch element.
project_id (str) – Optional, Google Cloud Project ID where the Compute Engine Instance exists. If set to None or missing, the default project_id from the Google Cloud connection is used.
request_id (str) – Optional, unique request_id that you might add to achieve full idempotence (for example when client call times out repeating the request with the same request id will not create a new instance template again). It should be in UUID format as defined in RFC 4122.
gcp_conn_id (str) – Optional, The connection ID used to connect to Google Cloud. Defaults to ‘google_cloud_default’.
api_version (str) – Optional, API version used (for example v1 - or beta). Defaults to v1.
validate_body (bool) – Optional, If set to False, body validation is not performed. Defaults to False.
impersonation_chain (Union[str, Sequence[str]]) – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).
-
class
airflow.providers.google.cloud.operators.compute.
ComputeEngineInstanceGroupUpdateManagerTemplateOperator
(*, resource_id: str, zone: str, source_template: str, destination_template: str, project_id: Optional[str] = None, update_policy: Optional[Dict[str, Any]] = None, request_id: Optional[str] = None, gcp_conn_id: str = 'google_cloud_default', api_version='beta', impersonation_chain: Optional[Union[str, Sequence[str]]] = None, **kwargs)[source]¶ Bases:
airflow.providers.google.cloud.operators.compute.ComputeEngineBaseOperator
Patches the Instance Group Manager, replacing source template URL with the destination one. API V1 does not have update/patch operations for Instance Group Manager, so you must use beta or newer API version. Beta is the default.
See also
For more information on how to use this operator, take a look at the guide: ComputeEngineInstanceGroupUpdateManagerTemplateOperator
- Parameters
resource_id (str) – Name of the Instance Group Manager
zone (str) – Google Cloud zone where the Instance Group Manager exists.
source_template (str) – URL of the template to replace.
destination_template (str) – URL of the target template.
project_id (str) – Optional, Google Cloud Project ID where the Compute Engine Instance exists. If set to None or missing, the default project_id from the Google Cloud connection is used.
request_id (str) – Optional, unique request_id that you might add to achieve full idempotence (for example when client call times out repeating the request with the same request id will not create a new instance template again). It should be in UUID format as defined in RFC 4122.
gcp_conn_id (str) – Optional, The connection ID used to connect to Google Cloud. Defaults to ‘google_cloud_default’.
api_version (str) – Optional, API version used (for example v1 - or beta). Defaults to v1.
validate_body (bool) – Optional, If set to False, body validation is not performed. Defaults to False.
impersonation_chain (Union[str, Sequence[str]]) – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).