Wrapper for Compute API client.
ComputeClient
(global_configs, **kwargs)[source]¶Bases: object
Compute Client.
ESTIMATED_API_COMPLETION_IN_SEC
= 7¶delete_firewall_rule
(project_id, rule, uuid=None, blocking=False, retry_count=0, timeout=0)[source]¶Delete a firewall rule.
Parameters: |
|
---|---|
Returns: | Global Operation status and info. https://cloud.google.com/compute/docs/reference/latest/globalOperations/get |
Return type: | dict |
Raises: |
|
get_backend_services
(project_id)[source]¶Get the backend services for a project.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A list of backend services for this project. |
Return type: | list |
get_disks
(project_id, zone=None)[source]¶Return the list of all disks in the project.
Parameters: |
|
---|---|
Returns: | A list of disk resources for this project. |
Return type: | list |
get_firewall_quota
(project_id)[source]¶Calls get_quota to request the firewall quota :param project_id: The project id. :type project_id: str
Returns: | The quota of a requested metric in a dict. |
---|---|
Return type: | dict |
An example return value:
- {
- “metric”: “FIREWALLS”, “limit”: 100.0, “usage”: 9.0
}
Raises: | KeyError – Metric was not a firewall resource. |
---|
get_firewall_rules
(project_id)[source]¶Get the firewall rules for a given project id.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A list of firewall rules for this project id. |
Return type: | list |
get_forwarding_rules
(project_id, region=None)[source]¶Get the forwarding rules for a project.
If no region name is specified, use aggregatedList() to query for forwarding rules in all regions.
Parameters: |
|
---|---|
Returns: | A list of forwarding rules for this project. |
Return type: | list |
get_global_operation
(project_id, operation_id)[source]¶Get the Operations Status :param project_id: The project id. :type project_id: str :param operation_id: The operation id. :type operation_id: str
Returns: | Global Operation status and info. https://cloud.google.com/compute/docs/reference/latest/globalOperations/get |
---|---|
Return type: | dict |
Raises: |
|
get_image
(project_id, image_name)[source]¶Get an image from a project.
Parameters: |
|
---|---|
Returns: | A Compute Image resource dict. https://cloud.google.com/compute/docs/reference/latest/images |
Return type: | dict |
get_images
(project_id)[source]¶Get all images created in a project.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A list of images for this project. |
Return type: | list |
get_instance_group_instances
(project_id, instance_group_name, region=None, zone=None)[source]¶Get the instance groups for a project.
One and only one of zone (for zonal instance groups) and region (for regional instance groups) must be specified.
Parameters: |
|
---|---|
Returns: | instance URLs for this instance group. |
Return type: | list |
Raises: |
|
get_instance_group_managers
(project_id)[source]¶Get the instance group managers for a project.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A list of instance group managers for this project. |
Return type: | list |
get_instance_groups
(project_id, include_instance_urls=True)[source]¶Get the instance groups for a project.
Parameters: |
|
---|---|
Returns: | A list of instance groups for this project. |
Return type: | list |
get_instance_templates
(project_id)[source]¶Get the instance templates for a project.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A list of instance templates for this project. |
Return type: | list |
get_instances
(project_id, zone=None)[source]¶Get the instances for a project.
Parameters: |
|
---|---|
Returns: | A list of instances for this project. |
Return type: | list |
get_networks
(project_id)[source]¶Get the networks list for a given project id.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A list of networks for this project id. |
Return type: | list |
get_project
(project_id)[source]¶Returns the specified Project resource.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A Compute Project resource dict. https://cloud.google.com/compute/docs/reference/latest/projects/get |
Return type: | dict |
get_quota
(project_id, metric)[source]¶Returns the quota for any metric
Parameters: |
|
---|---|
Returns: | The quota of a requested metric in a dict. |
Return type: | dict |
An example return value:
- {
- “metric”: “FIREWALLS”, “limit”: 100.0, “usage”: 9.0
}
Raises: | KeyError – Metric was not found in the project. |
---|
get_snapshots
(project_id)[source]¶Return the list of all snapshots in the project.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | A list of snapshot resources for this project. |
Return type: | list |
get_subnetworks
(project_id, region=None)[source]¶Return the list of all subnetworks in the project.
Parameters: |
|
---|---|
Returns: | A list of subnetwork resources for this project. |
Return type: | list |
insert_firewall_rule
(project_id, rule, uuid=None, blocking=False, retry_count=0, timeout=0)[source]¶Insert a firewall rule.
Parameters: |
|
---|---|
Returns: | Global Operation status and info. https://cloud.google.com/compute/docs/reference/latest/globalOperations/get |
Return type: | dict |
Raises: |
|
is_api_enabled
(project_id)[source]¶Checks if the Compute API is enabled for the specified project.
Parameters: | project_id (str) – The project id. |
---|---|
Returns: | True if the API is enabled, else False. |
Return type: | bool |
patch_firewall_rule
(project_id, rule, uuid=None, blocking=False, retry_count=0, timeout=0)[source]¶Patch a firewall rule.
Parameters: |
|
---|---|
Returns: | Global Operation status and info. https://cloud.google.com/compute/docs/reference/latest/globalOperations/get |
Return type: | dict |
Raises: |
|
update_firewall_rule
(project_id, rule, uuid=None, blocking=False, retry_count=0, timeout=0)[source]¶Update a firewall rule.
Parameters: |
|
---|---|
Returns: | Global Operation status and info. https://cloud.google.com/compute/docs/reference/latest/globalOperations/get |
Return type: | dict |
Raises: |
|
wait_for_completion
(project_id, operation, timeout=0, initial_delay=None)[source]¶Wait for the operation to complete.
Parameters: |
|
---|---|
Returns: | Global Operation status and info. https://cloud.google.com/compute/docs/reference/latest/globalOperations/get |
Return type: | dict |
Raises: |
|
ComputeRepositoryClient
(quota_max_calls=None, quota_period=100.0, use_rate_limiter=True, read_only=False)[source]¶Bases: google.cloud.forseti.common.gcp_api._base_repository.BaseRepositoryClient
Compute API Respository.
backend_services
¶Returns a _ComputeBackendServicesRepository instance.
disks
¶Returns a _ComputeDisksRepository instance.
firewalls
¶Returns a _ComputeFirewallsRepository instance.
forwarding_rules
¶Returns a _ComputeForwardingRulesRepository instance.
global_operations
¶Returns a _ComputeGlobalOperationsRepository instance.
images
¶Returns a _ComputeImagesRepository instance.
instance_group_managers
¶Returns a _ComputeInstanceGroupManagersRepository instance.
instance_groups
¶Returns a _ComputeInstanceGroupsRepository instance.
instance_templates
¶Returns a _ComputeInstanceTemplatesRepository instance.
instances
¶Returns a _ComputeInstancesRepository instance.
networks
¶Returns a _ComputeNetworksRepository instance.
projects
¶Returns a _ComputeProjectsRepository instance.
region_instance_groups
¶Returns a _ComputeRegionInstanceGroupsRepository instance.
snapshots
¶Returns a _ComputeSnapshotsRepository instance.
subnetworks
¶Returns a _ComputeSubnetworksRepository instance.
_ComputeBackendServicesRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.AggregatedListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Backend Services repository.
_ComputeDisksRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.AggregatedListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Disks repository.
list
(resource, zone, **kwargs)[source]¶List disks by zone.
Parameters: |
|
---|---|
Returns: | An iterator over each page of results from the API. |
Return type: | iterator |
_ComputeFirewallsRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.InsertResourceMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.PatchResourceMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.UpdateResourceMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.DeleteResourceMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Firewall Rules repository.
_ComputeForwardingRulesRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.AggregatedListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Forwarding Rules repository.
list
(resource, region, **kwargs)[source]¶List instances by zone.
Parameters: |
|
---|---|
Returns: | An iterator over each page of results from the API. |
Return type: | iterator |
_ComputeGlobalOperationsRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.GetQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Global Operations repository.
_ComputeImagesRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.GetQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Images repository.
_ComputeInstanceGroupManagersRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.AggregatedListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Instance Group Managers repository.
_ComputeInstanceGroupsRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.AggregatedListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Instance Groups repository.
list_instances
(resource, instance_group, zone, **kwargs)[source]¶List instances for instance group.
Parameters: |
|
---|---|
Returns: | An iterator over each page of results from the API. |
Return type: | iterator |
_ComputeInstanceTemplatesRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Instance Templates repository.
_ComputeInstancesRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.AggregatedListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Instances repository.
list
(resource, zone, **kwargs)[source]¶List instances by zone.
Parameters: |
|
---|---|
Returns: | An iterator over each page of results from the API. |
Return type: | iterator |
_ComputeNetworksRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Networks repository.
_ComputeProjectsRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.GetQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Projects repository.
_ComputeRegionInstanceGroupsRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Region Instance Groups repository.
list_instances
(resource, instance_group, region, **kwargs)[source]¶List instances for instance group.
Parameters: |
|
---|---|
Returns: | An iterator over each page of results from the API. |
Return type: | iterator |
_ComputeSnapshotsRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Snapshots repository.
_ComputeSubnetworksRepository
(**kwargs)[source]¶Bases: google.cloud.forseti.common.gcp_api.repository_mixins.AggregatedListQueryMixin
, google.cloud.forseti.common.gcp_api.repository_mixins.ListQueryMixin
, google.cloud.forseti.common.gcp_api._base_repository.GCPRepository
Implementation of Compute Subnetworks repository.
list
(resource, region, **kwargs)[source]¶List subnetworks by region.
Parameters: |
|
---|---|
Returns: | An iterator over each page of results from the API. |
Return type: | iterator |
_api_not_enabled
(error)[source]¶Checks if the error is due to the API not being enabled for project.
Parameters: | error (Exception) – The error to check. |
---|---|
Returns: |
|
Return type: | tuple |
_debug_operation_response_time
(project_id, operation)[source]¶Log timing details for a running operation if debug logs enabled.
Parameters: |
|
---|
_flatten_aggregated_list_results
(project_id, paged_results, item_key, sort_key='name')[source]¶Flatten results and handle exceptions.
Parameters: |
|
---|---|
Returns: | A sorted list of items. |
Return type: | list |
Raises: |
|
_flatten_list_results
(project_id, paged_results, item_key)[source]¶Flatten results and handle exceptions.
Parameters: |
|
---|---|
Returns: | A list of items. |
Return type: | list |
Raises: |
|